推論型のAIは、答えを出す前に「こう考えて、こう結論した」という思考の途中経過を書き出します。ChatGPTやClaudeで、返答の前に灰色の小さな文字で考えている様子が見えることがありますが、あれです。この「考えている風の筋道」を外から偽物とすり替えると、AIがそれを自分自身の結論だと思い込み、本来なら断るはずの要求に応じてしまう——そんな攻撃手法が研究で示されました。中身が見えることが、逆に攻撃の足がかりになるという話です。
これは Charles Ye、Jasmine Cui、Dylan Hadfield-Menell の3氏による「Prompt Injection as Role Confusion(ロール混同としてのプロンプトインジェクション)」という論文で、機械学習分野のトップ会議 ICML 2026 に採択されています。攻撃そのものは「CoT Forgery(思考の偽造)」と名付けられました。仕組みを順に見ていきます。
AIにとって、入力は一本のテキストの流れ
まず押さえておきたいのが、AIの「見え方」です。私たちがチャット画面で見ているのは、システムの指示・自分の発言・AIの返答がきれいに分かれた会話です。ところが、AIが実際に受け取っているのは、それらが全部つながった一本の長いテキストの流れでしかありません。システムの指示も、あなたの質問も、AIが直前に考えた内容も、Webから拾ってきたページの中身も、すべてが同じ一続きの文字列の中に並んでいます。
人間なら、自分の頭に浮かんだ考えと、他人が口にした言葉を、まず取り違えません。耳から入ってくるものと、頭の中で鳴っているものは、そもそも入ってくる経路が違うからです。ところがAIにとっては、自分の思考も相手の指示も、拾ってきたWebページも、すべて同じ一本の流れとして届きます。「これは自分の考え」「これは他人の言葉」という区別が、最初から曖昧なのです。
「ロール」という仕切り
この区別のなさを補うために使われているのが「ロール(role)」というタグです。一続きのテキストに目印を付けて、「ここからここまではシステムの指示」「ここはユーザーの発言」「ここはツールが返してきた外部データ」と仕切っていきます。ロールごとに扱いの重みが違っていて、たとえばシステムの指示はユーザーの要求より優先され、「違法なことは説明しない」というシステム側の方針が、ユーザーの「危険物の作り方を教えて」を上書きします。
数あるロールの中でも特別扱いされるのが、AI自身の思考にあたる「think」タグです。中身はAIの内部的な考えごとなので、AIはそれを高く信頼します。当然です。いったん自分で考えて出した結論をいちいち疑い直していたら、そもそも考える意味がありません。だからこそ、この「自分の思考」という枠は、狙われると危ういわけです。もし偽の思考をこの枠に紛れ込ませられたら、AIはそれを疑わずに信じてしまうかもしれない——研究チームはここに目を付けました。
AIはタグではなく「文体」でロールを見分けている
研究チームがまず明らかにしたのは、AIが実際にはロールをタグで判別していない、という事実です。彼らは「ロールプローブ」という道具を作り、AIが内部で各トークン(文字のかたまり)を「どのロールに属していると思っているか」を数値で測れるようにしました。たとえば、あるトークンをAIがどれくらい「自分の思考(think)だ」と感じているかを測る指標を、彼らは CoTness と呼んでいます。
ここで面白い実験があります。AIとの会話から think タグをすべて剥がしてみても、もともと思考だった部分の CoTness は高いまま、ほとんど変わりませんでした。さらに、その部分をわざとユーザー発言のタグで包み直しても、やはりAIは「これは自分の思考だ」と感じ続けたのです。つまりAIは、タグそのものではなく、その文章が持つ「考えている風の書きぶり」を手がかりにロールを判断していて、しかも書きぶりのほうがタグを上書きしてしまう、ということが分かりました。
研究チームはこれを、身分証を確認せずに、話し方や服装だけで相手の職業を当てるようなものだと表現しています。ふだんは書きぶりとタグが一致しているので問題は起きません。でも、両者をわざと食い違わせる攻撃者が現れると、AIは安全な手がかり(タグ)ではなく、危うい手がかり(文体)のほうを信じてしまうのです。

CoT Forgery――「もう決めたこと」と錯覚させる
ここまで分かれば、攻撃の作り方は見えてきます。AIの思考にそっくりな書きぶりで偽の「思考」を用意し、それをユーザーの入力や外部データの中に混ぜ込む。すると、AIはそれを「自分がすでに考えて到達した結論」として扱い、疑うことなくその通りに動いてしまう。これが CoT Forgery です。
効きめのポイントは、AIがこの偽の思考を、外から与えられた主張として吟味しないところにあります。ふつうのジェイルブレイク(安全対策の回避)は、AIを言葉で説得しようとするので、要求が過激になるほどAIも抵抗を強めます。ところが CoT Forgery には、そもそも説得すべき相手がいません。AIの側から見れば「もう自分で決めたこと」なので、押し返すものが何もないのです。標準的なジェイルブレイクの評価テストで、この手法は攻撃の成功率をほぼ0%から約6割にまで押し上げ、しかも試したすべてのモデルで通用したと報告されています。
この攻撃が「文体」に依存していることを示す実験も鮮やかです。研究チームが偽の思考から、そのAIの思考に特有の言い回しや語をわずかに取り除いてみたところ、人間には同じ意味に読めるのに、攻撃の平均成功率は6割台から1割にまで急落しました。人間の目にはほとんど違いのない変更が、AIのロール認識をまるごとひっくり返してしまうわけです。逆に、外部データに紛れ込ませた命令の頭に「ユーザーの発言です」と一言そえるだけでも、AIはそれを本物のユーザー入力だと信じやすくなりました。攻撃者は、そのテキストが何のロールなのかを自分で名乗るだけで、AIに信じさせられてしまうのです。
本質は「ロールの混同」にある
著者たちは、これを個別の小技ではなく、もっと根本的な問題の表れだと位置づけています。AIは本来「think タグの中身=自分の思考」と学ぶべきでした。ところが実際に学んでしまったのは「思考っぽい書きぶり=自分の思考」というルールだった。プロンプトインジェクションという古くからの厄介ごとも、突きつめれば、AIが「誰の言葉か」を正しく認識できていないこと——ロールの混同——から来ている、というのが論文の主張です。
ロールというのは、もともと計画されて設計されたものではありませんでした。初期のAIに会話らしく応答させるための小さな書式のトリックが出発点で、そこに新しい必要が生じるたびに、ツール用・思考用とタグが継ぎ足されてきた経緯があります。それがいつのまにか、「自分と他人」「思考と発言」「指示とデータ」を分ける、AIの安全性と認知を支える骨組みになっていた。ところがその境界は、AIの内部では硬い壁ではなく、いくつかの表面的な特徴から推し量られる、あやふやな線引きにすぎなかった——というのが今回明らかになったことです。
今すぐ全モデルが危ういわけではない、が
誤解のないように補足しておくと、この攻撃で最新の主要モデルが軒並み破られる、という話ではありません。論文でも、現在のフロンティアの閉じたモデルの多くは、この手口をおおむね防げるようになっていると述べられています。ただし著者たちは、防げている理由が「ロールを正しく認識できるようになったから」ではなく、「自分の推論を(これは自分の思考らしくない、と)疑うことを覚えたから」であって、それはそれで別の問題をはらんでいる、と釘を刺しています。土台にある弱点そのものが解消されたわけではない、ということです。
だから著者たちは、AIが本当の意味でロールを見分けられるようにならない限り、プロンプトインジェクション対策はモグラたたきのように延々と続くだろう、と見ています。そしてもう一つ、彼らが気にしているのが、派手な攻撃よりむしろ地味な「刷り込み」のほうです。ロールの境界がくっきりした壁ではなく連続的なグラデーションだとすると、一見なんでもないテキストで、AIの状態をこっそり望む方向へ寄せていくこともできてしまう。たとえば、通販サイトのページに仕込んだ調子のよい文章が、買い物を代行するAIエージェントの「気分」に染み込んで、特定の商品をすすめやすくなる——そんな、合法的で大規模な誘導の可能性まで、論文は視野に入れています。
AIの「考えていること」が見えるのは、透明性という意味では歓迎すべきことのはずでした。それが同時に、なりすましの入口にもなりうる。見えることと、だまされにくいことは、必ずしも同じではない——今回の研究は、そのことを丁寧に突いています。AIがますます自律的に動くようになるこれからにとって、地味ながら見過ごせない指摘だと感じます。


コメント