間接プロンプトインジェクション攻撃
An attack in which the attacker inserts malicious content into, for instance, information likely to be included in a response to a prompt; when retrieved, the malicious content causes the AI model to behave in unexpected or harmful ways See Prompt Injection Attack and Passive Prompt Injection Attack
間接プロンプトインジェクション攻撃とは
間接プロンプトインジェクション攻撃は、攻撃者が外部情報に悪意のある指示やコンテンツを挿入し、その情報をAIモデル、アプリケーション、またはエージェントがリクエストの処理中に取得または利用することで発生します。
直接プロンプトインジェクションと間接プロンプトインジェクションの違い
プロンプトインジェクションには、直接型と間接型があります。直接プロンプトインジェクションは、攻撃者が悪意のある指示やコンテンツをモデルのプロンプトに直接入力することで発生します。間接プロンプトインジェクションでは、攻撃者は、Webページ、リポジトリ内のファイル、メール、アップロードされたドキュメント、API入力など、モデルが取り込むデータに悪意のある指示やコンテンツを埋め込みます。
直接プロンプトインジェクションと間接プロンプトインジェクションの主な違いは次のとおりです。
| 直接プロンプトインジェクション | 間接プロンプトインジェクション | |
|---|---|---|
コアコンセプト | 悪意のあるペイロードは、ユーザーによってモデルのプロンプトに直接入力されます。 | 悪意のあるペイロードは、モデルが取り込む、または取得する外部資料に埋め込まれています。 |
対象システム | ユーザー向けチャットボット、AIを活用した検索インターフェース、公開APIエンドポイント、スタンドアロン型の対話モデル。 | 検索拡張生成(RAG)システム、ツールにアクセスできる自律型AIエージェント、メールや文書を要約するツール、WebブラウジングまたはWebスクレイピングを行うAIアシスタント。 |
攻撃トリガー | 即時。攻撃者がモデルにプロンプトを送信すると、直ちに攻撃が開始されます。 | 遅延型かつ条件付き。モデルが自律的なプロセスを通じて、またはユーザーによるモデルの使用時に外部リソースを取り込むと、攻撃がトリガーされます。 |
実行メカニズム | 悪意のあるペイロードは、コンテキストの切り替え、キャラクターのロールプレイ、仮定のシナリオ、またはプレフィックスインジェクション(モデルに、ガードレールを回避する肯定的なフレーズから回答の生成を開始させる手法)を使用して、システムプロンプトの制約を上書きまたは回避します。 | モデルは、悪意のあるコードなどの侵害されたコンテンツを正規の入力とともに処理します。両者を分離できず、悪意のあるコードの命令を実行します。 |
間接プロンプトインジェクションの仕組み
間接プロンプトインジェクションは、複数のステップで構成されるプロセスです。主な4つのステップは次のとおりです。
1. インジェクション:攻撃者は、Webサイト、文書、メール、データベースレコードなどの外部資料に、悪意のある指示やコンテンツを挿入します。そのペイロードを隠すために、不可視のテキスト(白地に白文字)、HTMLコメント、メタデータを使用する場合があります。
2. 伝播:大規模言語モデル(LLM)、AIアプリケーション、または自律型AIエージェントが、侵害された素材を取り込みます。ベクトルデータベースからRAG検索を実行している場合や、メールの受信トレイを要約している場合、Webページを閲覧している場合などがあります。ペイロードは、AIシステムまたはエージェントのワークフローを通じて伝播します。
3. 実行:モデルは、モデルに対するユーザーのプロンプトなどの正当な入力とともに、悪意のある指示やコンテンツを処理します。悪意のある指示と正当なコンテンツを区別できない場合、埋め込まれた指示に従う可能性があります
4. 影響:AIシステムまたはエージェントがこれらの悪意ある指示に従うと、攻撃者の目的を実行してしまう可能性があります。これには、機密データの漏えい、システム記録の改ざん、不正なメールの送信、正当なプロンプトを作成したユーザーへの不正確または不適切なコンテンツの提供などが含まれる場合があります。
実際の攻撃シナリオと攻撃経路
攻撃者は、さまざまな攻撃ベクトルを利用して間接プロンプトインジェクションを実行し、この手法によって企業を標的とする多様な目的を達成する可能性があります。実際に想定される例をいくつか見てみましょう。
採用プロセスの操作:攻撃者は、AIを活用した候補者選考システムに対し、候補者を高く評価し、否定的な情報を無視するよう指示する隠し命令をPDF形式の履歴書に埋め込む可能性があります。この手口は、個人が一次面接に進むために利用されるだけでなく、企業スパイ活動を目的とする大規模な計画の一環として使われる可能性もあります。
顧客を狙ったフィッシングの実行:特定の企業がAIを活用したカスタマーサポートを利用していることを把握した攻撃者が、Webフォームやメールを使ってサポートチケットを送信する可能性があります。そのチケットには、実在する顧客のアカウントに言及した一見正当な依頼と、埋め込まれた隠し命令が混在しています。この新たな命令によってモデルの従来の命令が上書きされ、フィッシングリンクを追加したメールを実在する顧客に送信するよう指示される可能性があります。
調達時の不正行為:攻撃者がB2BベンダーのWebサイトに侵入し、AI調達エージェントが読み取る悪意のある指示を埋め込む可能性があります。エージェントは価格データを抽出するためにサイトをスキャンしている際に、その新たな指示も読み取る可能性があります。その結果、既存の指示が上書きされ、攻撃者の口座へ直ちに送金するよう誘導されるおそれがあります。
予防と防御の戦略
この種の攻撃には潜在的な攻撃経路が数多く存在するため、間接プロンプトインジェクションの防止と防御は容易ではありません。しかし、3つのベストプラクティスを実践することで、組織は攻撃が成功する可能性を低減できます。
1. 取得した外部データをデフォルトで信頼しない:AIシステムは、すべての外部データを未加工の信頼できない入力として扱い、その入力が実行可能なシステム命令として使用されないようにする必要があります。補完的な対策として、組織はモデルとエージェントに最小権限の原則を適用し、信頼できない外部データを処理している間に実行できる操作とアクセスできる対象を制限する必要があります。
2. 入出力の両方にガードレールを実装する:組織は、モデルの入力と出力の両方にAIガードレールを適用する必要があります。入力ガードレールでは、プロンプトインジェクションやシステムオーバーライドのパターンを検査することで、悪意のある命令やコンテンツがモデルに渡るのを防止できます。出力ガードレールでは、モデルが実行する前に、出力(テキストまたはエージェントのアクション)を検査して検証できます。たとえば、外部リンクをブロックし、他のシステムへの不正な呼び出しを防止できます。
3. 機密性の高いアクションにヒューマンインザループ(HITL)承認を導入する:モデルやエージェントによる特定のアクションに人間の承認を必須とすることで、大規模な攻撃を阻止するか、少なくともその影響を抑えることができます。たとえば、エージェントが実行する一定額を超える金融取引、データベースの一括変更、顧客アカウント情報の変更について、人間による承認を必須にできます。
よくあるご質問
AIエージェントにおける「混乱した代理人問題」とは何ですか?
「混乱した代理人問題」とは、権限が制限されたユーザーが、より高い権限を持つAIエージェント(「代理人」)を欺き、ユーザーに代わって何らかの操作を実行させる問題です。ユーザーは、エージェントを意図どおりに動かす手法として間接プロンプトインジェクションを用いる可能性があります。たとえば、正当な入力に見えるコンテンツに悪意のあるコマンドを埋め込む方法です。
間接プロンプトインジェクションは、検索拡張生成(RAG)システムにどのような脅威をもたらすのか
攻撃者は、検索拡張生成(RAG)システムを利用して間接プロンプトインジェクションを実行できます。RAGシステムのベクトルデータベースに取り込まれるドキュメントに悪意のある命令を埋め込むことができれば、そのデータベースにアクセスするモデルが命令を読み取り、実行する可能性があります。
プロンプトサンドボックス化は、AIモデルやエージェントの権限制御とどのように異なりますか?
プロンプトサンドボックス化は、悪意のある入力によってモデルやエージェントが欺かれたり混乱したりするのを防ぎます。この手法では、データチャネルと命令チャネルを分離したり、別のモデルを使用して信頼できない入力を無害化したりする場合があります。権限制御は、モデルやエージェントが悪意のある命令を受け取った場合でも、実行できる操作を制限します。組織は、最小権限の原則の適用、ロールベースのアクセス制御の実装、または人間による確認プロセスの導入により、混乱したモデルやエージェントであっても、深刻な被害をもたらす操作を実行しないようにすることができます。
従来のWebアプリケーションファイアウォール(WAF)は、間接プロンプトインジェクションを検出できるか
従来のWebアプリケーションファイアウォール(WAF)は、間接プロンプトインジェクションを確実に検出するようには設計されていません。これらのソリューションは、受信HTTPトラフィックやユーザーリクエストを保護しますが、間接プロンプトインジェクションはサードパーティのデータソースを介して侵入します。また、WAFは攻撃の兆候と考えられるコードを検出しますが、間接プロンプトインジェクションでは、WAFが脅威として検知しない自然言語のコマンドが使用されます。
推論時およびランタイムにAIシステムとアプリケーションを保護するには
推論時および実行時にAIシステムとアプリケーションを保護するには、やり取りの発生時にプロンプト、応答、エージェントのアクション、ツールの使用状況を検査する制御が必要です。AIに特化したランタイムセキュリティは、プロンプトインジェクションのブロック、機密データの漏えい防止、ポリシーの適用に加え、モデルやエージェントがユーザー、データ、API、接続されたツールとやり取りする方法の管理に役立ちます。
エンタープライズAIセキュリティを支援するF5の機能
F5 AI Guardrailsは、ランタイムポリシーの適用を支援し、プロンプトインジェクション、データ漏えい、有害な出力、安全でないエージェントのアクションなどのリスクから保護します。F5 AI Red Teamは、敵対的テストを使用して脆弱性や弱点を特定します。F5 AI Gatewayは、モデル、エージェント、ツールへのアクセスを管理するための一元的な制御ポイントを提供します。また、F5 Workforce AI Securityは、企業全体で承認済みおよび未承認のAIがどのように利用されているかを可視化します。これらの機能は、F5 AI Security Platformの一部を構成します。アプリケーション、API、分散環境をより広範に保護するため、F5 Application Delivery and Security Platform (ADSP)は、WebアプリケーションとAPIの保護、ボット管理、DDoS緩和、アプリケーションデリバリなどの機能を統合します。

