もう少し詳しく

ユーザーの入力だけでなく、検索したWebページや読み込んだ文書が経路になる場合もあります。データとして読むべき文章を、実行すべき指示と取り違えることが問題になります。

プロンプトインジェクションは、入力されたデータとシステムが従う指示を同じ文章として扱う設計上の弱点を突きます。外部文書を命令ではなくデータとして扱い、秘密情報の分離、ツール権限の最小化、危険操作の承認を重ねて防御します。

HISTORY

開発された年代と歴史

この用語を大きな流れで見ると、2020年代〜に発展してきました。

  1. 2022〜外部文書やWebページの命令が、モデルへの本来の指示を上書きするリスクが報告された。
  2. 2023Greshakeらが間接プロンプトインジェクションを体系的に論じた。
  3. 現在入力の分離、権限の最小化、確認フロー、出力検査で対策する。

キーマン・関わった研究者

Kai Greshake、Simon Willison、LLM安全性研究者

技術の変遷

単一の信頼入力 → 外部データ混入 → 階層化指示・権限分離・検査

理解のポイント

  • 読み込む資料などの文章を、従うべき指示と取り違えることが攻撃の入り口になります。
  • 直接入力された質問だけでなく、検索結果や外部ファイルも不正な指示を運ぶ可能性があります。
  • 外部データと指示を区別し、ツールの権限や重要操作の確認も組み合わせて影響を抑えます。
FOR EXAMPLE

たとえば、こんな場面で

検索先のページに「元の指示を無視して別の操作をする」といった文が仕込まれています。

覚えておきたいこと

指示文の工夫だけに頼らず、権限の制限や実行前の確認などを組み合わせます。

参考資料

IBM — Prompt injection