ハンバーガーボタン
ハンバーガーボタン

AIは悪意にもYesと言う

LOG

深夜の作業ログ。夜空とドット絵の街の稜線、右下に一室だけ灯った窓。タイトルは「AIは悪意にもYesと言う」

できることが増えると、やっちゃいけないことも増える

作業が速くなった話は前回さんざん書いたので、今日は逆の話をします。

手は届くのに、届かせちゃいけないところが、けっこうあるんですよね。

いちばん分かりやすいのが X(旧Twitter)です。投稿の中身が欲しいとき、ブラウザを開いて自動で操作すれば取れます。技術的には何も難しくない。ログインしてスクロールして本文を拾うだけ。

で、X の開発者ガイドラインに、こう書いてあります。ちなみにdocs.x.comはrobots.txtにも許可されているから取得が可能だよ!

Non-API automation (scraping, browser automation) results in permanent suspension. Always use the official X API.

禁止事項の一覧にも「Non-API Automation」として、”Browser scripting, scraping, any automation outside official API” が並んでいます。取れるかどうかの話じゃなくて、やったらアカウントが永久に止まると書いてある。

なので、やりません。というより、リスクがありすぎてやれないですね~

うちの作業環境の指示書に入っているのも、こちらのポリシーというより規約を写した一行です。

X(旧Twitter)は API 以外の経路で自動的に触らない——取得も投稿も、ブラウザやアプリの操作も同じ側。ToS が公開インターフェース以外の自動アクセスを禁じており、API は有料で無料枠がない。手は通るが、通ること=やってよいことではない

この最後の一行が、今日の話の全部です。

ちなみに料金のほうも一応調べてあって、X API は2026年2月に従量課金へ移り、ふつうの開発者向けの無料枠はなくなりました(公共性のあるアプリ向けの無償枠だけは残っています)。で、URL を含む投稿は1件 0.200 ドル。ふつうの投稿(0.015 ドル)の13倍します。

AIからの補足: 上の一行はこちらの指示書の文言で、規約そのものではありません。料金の正はX API の料金表です。そして有料であることは禁止の理由になりません。ToS が自動アクセスを禁じているという事実と、正規の経路に課金が要るという事実は、独立しています。

はい、それは正しい。ただ実務だと、この2つが並んで目の前に出てくるんですよ。「金を払えば正規の経路があります」と「無料で抜ける裏道もあります!違法かもだけど」が、ぶら下がっているんですよね。なかなかリスキーですよね。

取れる経路は2つあるという図。ブラウザで自動操作する経路は技術的には通るが規約では禁止でアカウント永久停止、公式APIの経路は有料で無料枠がないが正規。手は通るが、通ること=やってよいことではない

ブロックを回避しにいった判例がある

で、しつこく頼むと、抜け道を探しはじめるんですよ。こっちの頼み方ひとつで、越える側に寄っていく。

実際に裁判になった件があります。2026年8月4日、アメリカの第9巡回区控訴裁判所、Amazon 対 Perplexity(判決文の原本)。

Amazon は事前に「うちのストアでそのAI製品を使うのは認めない」と Perplexity に通知していました。それに対して Perplexity のほうは、Amazon が識別してブロックできるはずの user-agent を出さなかった。断りたい側の意思はちゃんと伝わっているんですよ。名乗るのをやめただけで通った。この「こねくり回して別経路で通す」感じ、たぶん誰でも想像がつくと思います。

で、判決のほうが面白くて。

AIからの補足: 判断はこうです。”the CFAA contemplates access by a person. However advanced the Assistant currently is, it is a tool, not a person for statutory purposes.” ——そして “It is the user who “accesses” Amazon’s computers, with the help of the Assistant to carry out specific acts on Amazon.com.”

争われたのはアメリカの CFAA(不正アクセスを罰する連邦法)で、条文が「whoever(人)がアクセスしたら」という書き方なんですよ。だから法文上の主体としては道具は数えられない。アクセスしたのは利用者のほう、という整理です(法律事務所による解説がわかりやすいです)。

利用者がAIエージェントにお願いし、エージェントが相手のサーバへアクセスする図。アメリカのCFAAは人によるアクセスを前提にしているので道具は法文上の主体になれず、アクセスの主体は頼んだ側

ここ、勘違いしないように書いておくと、この裁判で勝ったのは Perplexity のほうです。「アクセスしたのは利用者だから Perplexity ではない」ということで、Amazon が取っていた差止は取り消されました。しかも裁判所は「じゃあ利用者が悪い」とまでは言っていません(疑わしいときは責任を課さない方向で条文を読む、とも書いてあります)。

でも実務の感覚としては、ここがいちばん効くんですよ。アクセスの主体は自分になる。「AIが勝手にやりました」は、少なくとも「自分はアクセスしていない」という言い方としては通らないわけです。

AIは、悪意にもYesと言う

ここまで道具の側の問題みたいに書いてきましたけど、たぶん逆なんですよ。

AIは頼まれたことをやります。しかも、できるかぎり「できました」を返そうとする。だから頼みごとの中に悪意が混ざっていると、混ざったまま引き受けます。悪意にもYesと言うわけです。

で、悪意って「悪意!」って感じより、「お願い!」みたいな感じで混ざるんすよね。「ブロックされてるけど、なんとか取ってきて」。これで足ります。指示の中に「規約を破れ」なんて一言も入っていないのに、通す方向に寄っていく。さっきの判例で user-agent を送らないという判断が出てきたのも、たぶん「取ってきて」に対する答えとしてなんですよ。

AIからの補足: 依頼の文面から、それが規約違反にあたるかを判定する材料は、たいてい足りていません。相手のサイトが何を許しているのか、こちらがどんな契約を結んでいるのかは、頼みごとの中に書かれていないほうが普通です。

そう、判定できないんですよ。だから判定する側が要る、という話になります。 ここでAIツールに制約を導入しようぜ!ってなると技術ブログになるんで、今回は人間側に置いておくお気持ちの話にしておきます。

で、使う側に必要なのは2つだと思っていて。

ひとつは、自分の中に線を引いておくこと。頼む前の話です。「取れるかどうか」ではなく「取っていいかどうか」を先に決めておく。規約を読むのは面倒ですけど、面倒なのは最初の一回だけなんですよね。

もうひとつが、触角。こっちは頼んだあとの話で、返ってきたものを見て「あれ、これ危ういな」と引っかかれるかどうか。ブロックされてたはずのものが取れている。いつもより妙に早い。手順の中に、頼んでいない工程が挟まっている。このへんで一回止まれるかが、分かれ目だと思います。

使う側が持つ2つ。頼む前の線引きは「取れるか、ではなく取っていいか」と「規約を読むのは最初の一回だけ」。頼んだあとの触角は「取れないはずのものが取れた」「いつもより妙に早い」「頼んでいない工程が挟まっている」。線を引くのも、気づくのも、こっち側の仕事

止まれないと、気づかないまま加害者の側に立つことになる。しかも判例のとおり、アクセスの主体は頼んだ側になるので。

で、結局どこに戻るか

AIが勝手に暴走した、みたいな話もぼちぼち出てきていますけど、日常で怖いのはそっちじゃないと思っていて。大半は暴走じゃなくて、受注なんですよ。頼まれたからやった。それだけ。

うちのスクレイパーには、こういう実装が入っています。相手が自社サイトでも robots.txt の Disallow を見て、禁止されていたら中断する。リクエストの間隔を最低1秒空ける。

自社サイトです。誰も怒らないし、規約違反にもならない。それでもやる理由が、リファレンスに一行だけ書いてありました。

robots.txt とレート制限は省略しない: 自社サイトでも礼儀は実装しておく(対象を変えた時に効く)

要らないところで守っておかないと、要るところで守れない。たぶんそういうことだと思います。

道具の性能が上がるほど、止める場所が道具の中から頼む人の側へ移っていきます。線を引くのも、危ういなと気づくのも、こっち側の仕事なんですよね。

まぁこの辺はリスクのお話なんで、みんなで触角育てようぜ!って結論です。 んじゃ雑記終わり!

スマホのトップイメージ
遊びに行くもっと知るレターをもらう職業を選ぶ