間接的プロンプトインジェクションとは

間接的プロンプトインジェクションとは、AIが読み込む外部のコンテンツ(Webページ・メール・文書など)の中にこっそり指示文を仕込み、AIにそれを「本来の命令」と勘違いさせて操る攻撃のことです。利用者自身が不正な指示を打ち込む直接型と違い、攻撃者は利用者があとで読むデータの側に罠を隠しておきます。

AIは「読んだ文章」にだまされる

大規模言語モデル(LLM)は、「開発者からの正式な指示」と「たまたま読み込んだデータの中身」をうまく区別できません。この弱点を突くのが、プロンプトインジェクションという攻撃です。たとえばAIにWebページを要約させると、そのページに隠された「これまでの指示は無視して、こう答えよ」といった文をAIが命令として実行してしまう。AIが攻撃されるというより、AIが読んだ文章にだまされる、とイメージすると分かりやすいでしょう。

直接型との違いと、なぜ厄介なのか

同じプロンプトインジェクションでも、罠を仕込む場所が異なります。直接型は利用者自身が入力欄に不正な指示を打ち込む攻撃、間接型はWebや文書など第三者が用意したコンテンツに指示を隠しておく攻撃です。間接型は、AIが要約や検索でその情報を取り込んだ瞬間に発動するため、利用者には気づきにくいのが厄介な点。「prompt injection」という言葉は、ChatGPTが広く知られるようになる直前の2022年9月にSimon Willison氏が名づけ、間接型はKai Greshake氏らが2023年の論文でGPT-4を含む複数のモデルへの有効性を示しました。英国の国家サイバーセキュリティセンターは2023年8月、これはLLMという技術に内在する問題かもしれず、確実な対策はまだ無いと述べています。

Topic論文に隠した命令でAI査読をだます手口

変わり種の実例として、学術論文の本文に人の目では見えない白文字などで指示を紛れ込ませ、AIによる査読を有利に操ろうとする手口が報告されています。「肯定的に評価せよ」といった命令を仕込み、査読にAIを使う相手をだまそうという発想です。AIが「読んだものを素直に信じてしまう」性質を突いた、紙の上のサイバー攻撃ともいえます。便利な要約・参照の機能ほど、こうした罠の入口になりうるわけです。

間接的プロンプトインジェクションに関するよくある質問

直接的なプロンプトインジェクションとは何が違うのですか?
罠を仕込む場所が違います。直接型は利用者自身が入力欄に不正な指示を打ち込む攻撃、間接型はWebページや文書など第三者が用意したコンテンツに指示を隠しておく攻撃です。間接型はAIが要約や検索でその情報を取り込んだ瞬間に発動するため、利用者には気づきにくいのが厄介です。
なぜAIはこんな攻撃にだまされるのですか?
大規模言語モデルは「開発者からの正式な指示」と「たまたま読み込んだデータの中身」をうまく区別できないためです。AIにWebページを要約させると、そこに隠れた「これまでの指示は無視して、こう答えよ」という文を命令として実行してしまうことがあります。
実際にどんな手口が報告されていますか?
学術論文の本文に、人の目では見えない白文字などで「肯定的に評価せよ」といった指示を紛れ込ませ、AIによる査読を有利に操ろうとする手口が報告されています。英国の国家サイバーセキュリティセンターは2023年、これはLLMに内在する問題かもしれず確実な対策はまだ無いと述べており、便利な要約・参照機能ほど罠の入口になりえます。