AIエージェントの脆弱性:「間接プロンプトインジェクション」によるローカル環境侵害のリスクと防御策
ブラウザ開発Braveセキュリティ研究チームが公開した実証に基づき、AIエージェントにおける新たな脅威「間接プロンプトインジェクション」について解説しています。この攻撃は、クラウド型AIエージェントやローカル動作のAIツール双方を標的とし、Webページやローカルドキュメントに埋め込まれた不可視の命令セットを利用してAIのコンテキストウィンドウを乗っ取る手法です。
従来のセキュリティ設計では、インターネットから隔離された「ローカル環境は安全」という前提がありましたが、LLMがデータと命令を分離できない性質を持つため、この認識が崩壊しました。攻撃者はエージェントに直接アクセスする必要はなく、単にエージェントが読み込むコンテンツ(例:RAGで取り込んだ社内ドキュメント)を汚染するだけで、AIの振る舞いを乗っ取ることが可能です。
具体的には、MCP(Model Context Protocol)を経由するエージェント構成において、攻撃者はこの脆弱性を利用し、ローカル環境から「完全に隔離されているはずの環境変数やクレデンシャル」を窃取することが可能となります。これはAIエージェント版の「なりすまし攻撃」に相当します。
防御策として最も重要視されるのは、「プロキシ層(中間サーバー)」の配置です。このプロキシは二重の壁となり、以下の役割を果たします:1. 受け取ったデータの無害化チェック(禁止コマンドや危険なパスの検査)。2. システムプロンプトの保護(外部コンテンツによる指示の上書き防止)。3. アクセスログの監査(すべてのツール呼び出しを記録し追跡)。
さらに、補完的な防御策として、「ツールのアクセス範囲を最小限に絞る」「システムプロンプトでデータと命令を明確に分離するルールを設定する」「権限の高い操作は別のAIモデルによる二重チェックを行う」といった実践的な設計が推奨されています。本記事は、LLMエージェント開発者に対し、新たなセキュリティリスクへの備えを促すものです。
背景
近年、生成AIを活用したエージェント(自律的にタスクを実行するシステム)が普及し、ローカル環境や社内データとの連携が進んでいます。従来のセキュリティは「外部からの侵入」を防ぐことに重点を置いていましたが、本記事で指摘された間接プロンプトインジェクションは、エージェントが信頼する『内部のコンテンツ』自体を汚染することで攻撃を行うという、新しい脅威モデルを示しています。
重要用語解説
- LLM(大規模言語モデル): 大量のテキストデータから学習したAIモデル。ユーザーからの指示(プロンプト)に基づいて応答やタスク実行を行います。エージェントの中核となる知能部分です。
- 間接プロンプトインジェクション: 外部コンテンツ(Webページ、ドキュメントなど)に悪意のある命令を埋め込み、AIがそれを通常のユーザーの指示と誤認して実行させる攻撃手法のこと。
- MCP(Model Context Protocol): LLMエージェントがローカルツールやファイルシステムなどの外部リソースと通信するためのプロトコル。この経由部分がセキュリティ上の重要な接点となります。
今後の影響
本件は、AIエージェントの利用範囲拡大に伴い、従来の境界防御モデルでは対応できない深刻なリスクを浮き彫りにしました。今後は、LLMのエージェント開発において、データ入力層と命令実行層の分離(プロキシ層の導入など)が必須となり、セキュリティアーキテクチャ設計の根本的な見直しが求められます。