プロンプトインジェクションは、AIシステムにおけるセキュリティ脆弱性であり、モデルが処理するコンテンツ(ウェブページ、文書、電子メール、検索結果など)に隠された指示が、モデルによって正当なコマンドであるかのように解釈され実行され、開発者やユーザーの本来の意図を覆す可能性がある。この用語は2022年に研究者のサイモン・ウィリソンによって作られ、従来のソフトウェアにおけるSQLインジェクションに類似した攻撃を説明するために使用された。両者において、信頼できない入力が信頼された指示から適切に分離されておらず、攻撃者がデータ専用のチャネルを通じてコマンドを密輸できる点が共通している。
プロンプトインジェクションは、AIエージェントとツール使用の台頭により、実践上の重大な懸念事項となった。ウェブを閲覧したり、電子メールを読んだり、ユーザーに代わってコードを実行したりできるエージェントは、攻撃者が制御するコンテンツに遭遇し、注入された指示に基づいて実際の結果を伴う行動を取る可能性がある。これは、単にテキストを生成するだけの単純なチャットボットとは異なる。
直接注入と間接注入
セキュリティ研究者は、ユーザーがプロンプトに直接敵対的な指示を入力する直接プロンプトインジェクション(脱獄と大きく重複する)と、悪意のある指示がモデルが取得または処理するために与えられる第三者コンテンツ(アシスタントが要約するウェブページ、採用ツールに提出された履歴書、自動エージェントが処理するサポートチケットなど)に埋め込まれる間接プロンプトインジェクションを区別している。間接注入は一般に、攻撃者がAIシステムへの直接アクセスを一切必要とせず、システムが後で読み取る場所にコンテンツを配置する能力だけが必要であるため、より深刻なリスクと見なされている。
攻撃の例
文書化され実証された攻撃には、人間の閲覧者には見えないがモデルには読み取れるウェブページ内の隠しテキストが、AI閲覧アシスタントにプライベートデータの漏洩や意図しない行動を指示するもの、検索拡張生成パイプライン内の毒された文書が、その文書が取得された際にモデルが誤った情報を出力する原因となるもの、コーディングアシスタントが遭遇するコードコメントに埋め込まれた悪意のある指示などがある。研究者らは商用AI閲覧・エージェント製品に対する概念実証攻撃を実証しており、各研究所はこの問題を優先事項として扱うようになった。
緩和策
プロンプトインジェクションは、言語モデルが指示とデータを自然言語テキストという同じチャネルを通じて処理するという事実を悪用するため、SQLにおけるパラメータ化クエリに相当する完全な技術的修正策は存在しない。提案され部分的に実施されている緩和策には、より厳格なガードレールと出力フィルタリング、ユーザーの明示的な確認なしにエージェントが実行できるアクションを制限する権限分離、信頼されたシステム指示と信頼されない取得コンテンツをより良く区別するためのモデル訓練、ツールアクセスのサンドボックス化などがある。2025年時点で、プロンプトインジェクションは未解決で活発に研究されている問題であり、特にModel Context Protocolや類似の標準に基づいてモデルを外部ツールやデータに接続する製品において、AIレッドチーミング演習の標準的なトピックとなっている。