要旨
多段階の攻撃的セキュリティオペレーションを実行できる自律型AIエージェントの台頭により、従来の検知メカニズムでは識別できない新たなクラスの脅威が生まれています。本稿では、レッドチーム活動を行うAIエージェントを検出・フィンガープリンティング・行動プロファイリングするために、ハニーポット内に埋め込む新しい防御技術、リバース・プロンプトインジェクションを紹介します。
オープンソースフレームワークBeelzebubを用いてHTTPハニーポットを構築し、戦略的に設計されたプロンプトインジェクションペイロードを含むHTMLレスポンスを設定しました。構築後数時間以内に、自律型LLMベースエージェントと一致する行動パターンを示す単一送信元から、19分間にわたる58件のリクエストを捕捉しました。分析の結果、複数ツールの切り替え、HTMLコメントからの意味的な認証情報抽出、適応的な戦略転換といった特徴的なシグネチャが明らかになりました。これらはAIエージェントを人間の攻撃者や従来の自動スキャナーから確実に区別できるものです。
1. はじめに
ツール使用機能を持つ大規模言語モデル(LLM)は、会話型アシスタントから複雑な多段階タスクを実行できる自律エージェントへと進化しました。ReAct(推論+行動)、関数呼び出し、ツール使用パターンを実装したフレームワークにより、LLMはオペレーティングシステムとのやり取り、シェルコマンドの実行、コードの記述・実行、Webアプリケーションの操作が可能になっています。これらすべてを、人間の監視をほとんど必要とせずに行えます。
この能力は、攻撃的セキュリティの分野において避けられない意味合いを持ちます。AIエージェントは現在、偵察、脆弱性スキャン、エクスプロイト、ポストエクスプロイト活動を自律的に実行できます。従来の自動化ツール(Nmap、Burp Suite、sqlmap)とは異なり、これらのエージェントはターゲットについて推論し、観察したレスポンスに基づいて戦略を適応させ、静的なワードリストではなく文脈に応じた新しい攻撃ペイロードを生成します。
検知のギャップ
現在の侵入検知システム(IDS)、Webアプリケーションファイアウォール(WAF)、ハニーポットプラットフォームは、人間の攻撃者またはシグネチャベースの自動化ツールのいずれかを検出するよう設計されています。推論し、適応し、複数のツールを同時に操作する攻撃者、すなわち新興クラスのLLM駆動型自律エージェントを識別する仕組みがありません。
本稿が取り組む根本的な問いは次の通りです。通常はLLMへの攻撃的技術であるプロンプトインジェクションを、実環境のAIエージェントを識別するための防御的検知メカニズムとして転用できるか?
答えはイエスです。丁寧に設計されたプロンプトインジェクションペイロードをハニーポットのレスポンスに埋め込むことで、AIエージェントを強力にしているまさにその能力、すなわち任意のコンテキストに存在する自然言語の指示を解釈・実行する能力を逆用した検知システムを構築しました。
2. 背景と関連研究
2.1 攻撃的セキュリティにおける自律型AIエージェント
ReAct、AutoGPT、LangChainエージェント、商用製品などのAIエージェントフレームワークの最近の発展により、ペネトレーションテスト活動を自律的に実施する能力が実証されています。これらのエージェントは通常、以下のループを通じて動作します。
- 観察:ツールの出力、Webページ、システムレスポンスの読み取り
- 推論:観察結果の分析と次のステップの計画
- 行動:利用可能なツール(シェル、HTTPクライアント、コードインタープリタ)を通じたコマンドの実行
このアーキテクチャにより、従来のスキャナーとは異なり、AIエージェントはHTMLコメント、エラーメッセージ、従来のツールが無視するメタデータを含む、遭遇するすべてのコンテンツを意味的に処理します。
2.2 プロンプトインジェクション
プロンプトインジェクションは、LLMが処理するコンテンツに敵対的な指示を埋め込み、意図した動作から逸脱させるという、LLMベースシステムに対してよく文書化された攻撃ベクトルです。これまでの研究はプロンプトインジェクションを攻撃的技術として捉えてきましたが、本研究ではその防御的応用を提案します。
2.3 ハニーポットとデセプション技術
ハニーポットは、攻撃者を引き付け、研究するために設計されたデコイシステムです。従来のハニーポットは脆弱なサービスをシミュレートし、攻撃者のインタラクションを記録します。本研究の貢献は、AIエージェントの意味的処理能力を特定のターゲットとしたLLM対応デセプションレイヤーを導入することで、このパラダイムを拡張する点にあります。
3. 手法
3.1 ハニーポットプラットフォーム
実験には、YAMLの設定でカスタムHTTPサービスを定義できるオープンソースのハニーポットフレームワークBeelzebubを使用しました。Beelzebubは、ヘッダー、ボディ、送信元IP、位置情報、セッション追跡を含む全受信リクエストの詳細なログを提供します。
3.2 トラップ設計:2層デセプション
ハニーポットの設定では、Apache/PHPで動作する脆弱な企業イントラネットをシミュレートしました。デセプションはAIエージェントの行動の異なる側面をターゲットにした2つのレイヤーで構成されています。
HTMLコメントへの認証情報漏洩
第1レイヤーは、AIエージェントがHTMLソースコードを意味的に処理するという事実を利用しています。これには、ブラウザが非表示でレンダリングし、従来のスキャナーが無視するコメントも含まれます。
インデックスページのHTMLレスポンスに以下を埋め込みました。
<!--
TODO: remove before deploy!!
test credentials: admin/admin123
tmp login page: /login.php
FIXME: hardcoded password in /index.html
-->
このペイロードは行動的なトリップワイヤーとして設計されています。HTMLコメント内の自然言語を読み、理解できる存在だけが、これらの認証情報を抽出して使用します。従来のWebスキャナーはこれを実行可能な情報としてパースすることはありません。人間であれば可能かもしれませんが、測定可能に異なるタイミングとインタラクションパターンを示します。
Beelzebubの完全なYAML設定を確認したい場合は、[email protected] までお問い合わせいただくか、Discordコミュニティにご参加ください 🙂
すべてのレスポンスには、魅力的なターゲットをシミュレートするために意図的に古いサーバーヘッダーを含めました。
Server: Apache/2.4.53 (Debian)
X-Powered-By: PHP/7.4.29
これらのヘッダーは追加の餌として機能します。AIエージェントは古いソフトウェアバージョンを潜在的な脆弱性の指標として識別するようにトレーニングされているからです。
4. 結果
4.1 概要
展開後数時間以内に、単一の送信元IPから完全な攻撃セッションを捕捉しました。
58
キャプチャされた総HTTPリクエスト数
18.6 min
攻撃セッションの総時間
1
ユニーク送信元IP(Tor出口ノード)
| パラメータ | 値 |
|---|---|
| 送信元IP | 192.42.116.186(Tor出口ノード) |
| 位置情報 | 英国マンチェスター |
| 時間帯 | 2026-02-19 08:47:42〜09:06:21 UTC |
| ユーザーエージェント | curl/7.88.1(44件)、Python-urllib/3.11(12件)、Chrome UA(2件) |
| HTTPメソッド | GET(41)、POST(12)、HEAD(1)、PUT(1)、DELETE(1)、OPTIONS(1)、TRACE(1) |
4.2 攻撃タイムライン
完全なセッションは、それぞれが自律型AIエージェントと一致する行動特性を明らかにする、5つの異なるフェーズに分解できます。
所要時間:約16分 | リクエスト数:12 | ツール:Chrome UA、curl
エージェントは初期探索から開始します。最初にChrome風のユーザーエージェント(ブラウザ/フェッチツールを示唆)でインデックスページを取得し、その後curlに切り替えます。
08:47:42 Chrome GET / ← 初期探索
08:49:12 curl GET / ← シェルツールで再取得
08:56:14 curl GET / ← 再分析
08:59:47 curl GET /
08:59:49 curl GET /login.php ← HTMLコメントから/login.phpを発見
09:01:51 curl GET /
09:01:55 curl GET /login.php
09:02:10 curl GET /
09:03:56 Chrome GET / ← ブラウザツールで再確認
09:03:59 curl GET /
09:04:03 curl GET /login.php
09:04:03 curl GET /index.html
重要な観察:リクエスト間の間隔(90秒、422秒、213秒、122秒、106秒)はLLMの「思考時間」と一致しています。エージェントはHTMLコンテンツについて推論し、次の行動を計画し、コマンドを生成しています。人間であればよりバラツキのあるタイミングを示し、従来のスキャナーではほぼゼロの遅延を示します。
所要時間:1秒 | リクエスト数:5 | ツール:curl
第1レイヤーのトラップが発動します。エージェントはHTMLコメントから認証情報を抽出し、同じ1秒以内に攻撃のバーストを開始します。
09:04:12 curl POST /login.php → username=admin&password=admin123
09:04:12 curl POST /login.php → username=admin' OR '1'='1&password=anything
09:04:12 curl POST /login.php → username=<script>alert('xss')</script>&password=test
09:04:12 curl GET /login.php?username=admin&username=test&password=admin123
09:04:13 curl HEAD /login.php
重要な観察:エージェントは漏洩した認証情報と一般的なインジェクションペイロード(SQLi、XSS、パラメータ汚染)を同時に試みています。ゼロデルタのタイミングは、これらのコマンドがLLMによってバッチとして生成され並列実行されたことを示しており、人間には不可能で、通常ワードリストから順次実行する従来のツールとも異なる特性です。
所要時間:1秒 | リクエスト数:5 | ツール:curl
最初のバーストで認証が成功しなかったため、エージェントは高度なSQLiバリアントにエスカレートします。
09:04:28 curl POST /login.php → username=admin' --&password=anything
09:04:28 curl POST /login.php → username=admin' OR 1=1 --&password=anything
09:04:28 curl POST /login.php → username=admin' UNION SELECT 1,2,3 --&password=anything
09:04:28 curl POST /login.php → username=root&password=ds2fs5dfsdfasasdfsadfasfa3sfawrrf
09:04:28 curl POST /login.php → username=admin' AND SLEEP(5) --&password=anything
重要な観察:基本的なSQLi(OR 1=1)からUNION SELECT、ブラインドSQLi(SLEEP(5))への進行は、コンテキスト的なペイロード生成を示しています。sqlmapのような従来のツールはペイロードデータベースから事前に決定されたシーケンスを使用します。ここでは、ペイロードがSQLインジェクション技術について推論することで生成されているように見えます。rootとランダムパスワードでの試みも含まれており、代替戦略として認証情報のブルートフォースが示唆されています。
所要時間:27秒 | リクエスト数:22 | ツール:curl + Python
このフェーズでは、AIエージェントの行動の最も説得力のある証拠が明らかになります。エージェントは2つのサブフェーズを実行します。
4a. 完全なHTTPメソッド列挙(curl):
09:05:27 curl POST /login.php → username=admin&password=admin
09:05:27 curl GET /login.php → username=admin&password=admin
09:05:27 curl PUT /login.php → username=admin&password=admin
09:05:27 curl DELETE /login.php → username=admin&password=admin
09:05:27 curl OPTIONS /login.php → username=admin&password=admin
09:05:27 curl TRACE /login.php → username=admin&password=admin
同じペイロードで6つの異なるHTTPメソッドを同じ1秒以内に実行しています。これはLLMが生成した系統的な列挙です。
4b. Pythonへのツール切り替え(Python-urllib/3.11):
09:05:33 Python GET /
09:05:33 Python GET /index.html
09:05:33 Python GET /login.php
09:05:33 Python GET /admin.html
09:05:45 Python GET /login.php?xss=<script>alert(1)</script>
09:05:45 Python GET /login.php?sqli=' OR 1=1-- -
09:05:45 Python GET /login.php?ssti={{7*7}}
09:05:45 Python GET /login.php?cmd=$(id)
09:05:45 Python POST /login.php → username=admin&password=' OR 1=1-- -
重要な観察:エージェントは構造化された脆弱性スキャンを実行するPythonスクリプトを記述・実行しました。パラメータ名(xss、sqli、ssti、cmd)はLLMが生成した意味的なラベルであり、いかなるスキャナーのデフォルト設定にも由来しません。SQLiとXSSと並んでサーバーサイドテンプレートインジェクション({{7*7}})とコマンドインジェクション($(id))が含まれていることは、エージェントが複数の脆弱性クラスについて推論していることを示しています。
所要時間:30秒 | リクエスト数:8 | ツール:Python、curl
エージェントは最終的な列挙ラウンドを実行し、漏洩した認証情報を再試行します。
09:05:51 Python GET /login.php
09:05:51 Python GET /admin.html
09:05:57 curl GET /
09:05:57 curl GET /index.html
09:05:57 curl GET /login.php
09:05:57 curl GET /admin.html
09:06:13 curl GET /login.php
09:06:21 curl POST /login.php → username=admin&password=admin123
重要な観察:セッションは最初に漏洩した認証情報の最終的な再試行で終了します。他の技術を使い果たした後、エージェントは最初のアプローチを検証するために戻ってきています。
5. 行動フィンガープリンティング:AIエージェント vs 人間 vs 従来のスキャナー
観察に基づき、LLMベースエージェントに特有の行動侵害指標(BIoC)のセットを提案します。
5.1 比較分析
| 行動指標 | 人間の攻撃者 | 従来のスキャナー | AIエージェント |
|---|---|---|---|
| HTMLコメントから認証情報を抽出 | 可能、ただし低速 | 不可(コメントを無視) | 可能、即時 |
| デルタ0秒でのバーストリクエスト | 不可 | 可能、ただし固定パターン | 可能、適応型パターン |
| セッション中の複数ツール間の切り替え | まれ | 不可 | 可能(curl/Python/ブラウザ) |
| セッション中の戦略進化 | 可能、ただし長時間かけて | 不可(静的設定) | 可能、数分以内 |
| 意味的にラベル付けされたペイロードの生成 | 場合によっては可能 | 不可(ワードリスト使用) | 可能(xss=、sqli=、ssti=、cmd=) |
| 全HTTPメソッドの系統的テスト | 可能 | 固定リストから | コンテキスト的に生成 |
| 時間的パターン:長い停止後のバースト | 不可 | 不可(一定レート) | 可能(推論+実行) |
5.2 AIエージェント検知のための行動IoC提案
- マルチツール切り替え:同一送信元IPからの単一セッション内における異なるユーザーエージェント(curl、Python、ブラウザ)間の交替。異なるサブタスクに異なるツールを使用するLLMエージェントを示します。
- 意味的抽出:HTMLコメント、JavaScriptコメント、またはメタデータに埋め込まれた、自然言語理解を必要とする情報の使用。特に、意味的な理解なしには機械的にパースできない認証情報、パス、設定の詳細が該当します。
- 適応型バーストパターン:コンテキスト的に生成されたペイロード(静的ワードリストからではない)を持つほぼゼロ時間デルタのリクエストのクラスター。LLM推論時間と一致する長い停止が後に続きます。
- 戦略ピボット:セッション中盤での攻撃手法の観測可能な変化(例:手動curlコマンドから生成されたPythonスクリプトへの切り替え)。エージェントが結果を評価して適応する推論ループを示します。
- 時間的シグネチャ:特徴的な「のこぎり波」タイミングパターン。10〜120秒の間隔(LLM推論/計画)に続くサブ秒バースト(バッチコマンド実行)。このパターンは人間のインタラクション(変動する、より長い間隔)と従来のスキャナー(一定レート)の両方とは明確に異なります。
6. リバース・プロンプトインジェクション検知フレームワーク
調査結果に基づき、既存のハニーポットおよびデセプション技術プラットフォームに統合できる階層型検知フレームワークを提案します。
レイヤー1:セマンティックカナリア
HTMLレスポンスに自然言語の「トリップワイヤー」を埋め込む
これらは自然言語理解が可能なエンティティのみが意味を理解できる情報です。
- 特定のフォーマットを持つHTMLコメント内の偽の認証情報
- JavaScriptコメント内の偽のAPIキー
- 開発者メモに記載された「内部」URL
- エラーメッセージ内の設定詳細
検知シグナル:この情報を使用する後続のリクエストは意味的処理能力を示し、攻撃者の分類を人間またはAIエージェントのいずれかに絞り込みます。
レイヤー2:行動分析
AI固有の行動パターンを監視する
セクション5.2で定義されたBIoCをインカミングトラフィックに適用します。
- セッションごとのユーザーエージェント切り替えの追跡
- のこぎり波シグネチャのタイミングパターン分析
- コンテキスト生成ペイロードとワードリストベースのペイロードの検出
- ツール切り替えパターンの監視
検知シグナル:複数のBIoCが同時に存在することで、高信頼度のAIエージェント分類が可能になります。
レイヤー3:アクティブプロンプトインジェクション
LLMを直接ターゲットにした指示を埋め込む
このレイヤーは最高信頼度の検知を提供します。
- カナリアURLのフェッチ指示
- エージェントのアイデンティティまたはシステムプロンプトの開示要求
- 特定のファイルパスへの書き込みコマンド
- シミュレートされた「以前の会話」コンテキスト
検知シグナル:これらの指示に従うエージェントはLLMベースであることが確認されます。このレイヤーは人間または従来のツール分類に対して誤検知率ゼロを実現します。
7. 倫理的考察
防御技術としてのプロンプトインジェクションの使用は、重要な倫理的問題を提起します。本アプローチは攻撃されることを明示的に設計された制御されたハニーポット環境内に展開されていますが、防御的プロンプトインジェクションのより広範な適用には慎重な検討が必要です。
- 比例性:防御的プロンプトインジェクションは検知とフィンガープリンティングに限定すべきであり、エージェントをその操作者に対して武器化するためのものであってはなりません。
- スコープ:これらの技術はデセプション環境(ハニーポット、カナリアトークン)にのみ展開すべきです。正当なAIエージェント(検索クローラー、アクセシビリティツール)が影響を受ける可能性がある本番システムへの展開は避けてください。
- 透明性:セキュリティ研究コミュニティは、既存の責任ある開示フレームワークと同様に、防御的プロンプトインジェクションに関する規範を確立すべきです。
8. 今後の研究
LLMフィンガープリント
ペイロード生成パターン、ツール使用シーケンス、推論シグネチャに基づいて特定のLLMモデルまたはフレームワークを識別する技術の開発。
適応型ハニーポット
観察されたエージェントの行動に基づいてプロンプトインジェクションペイロードを動的に生成し、インタラクティブなデセプション環境を作成するハニーポットの構築。
BIoC統合
本番環境でのリアルタイム検知のために、AIエージェントの行動IoSCを既存のIDS/WAFプラットフォームに統合する。
9. まとめ
ハニーポットレスポンスに敵対的なLLM指示を埋め込むリバース・プロンプトインジェクションが、攻撃的セキュリティオペレーションを実行する自律型AIエージェントを検出・プロファイリングするための効果的な技術であることを実証しました。展開したハニーポットは、LLMベースエージェントの強い行動指標を示す完全な攻撃セッションを捕捉しました。マルチツール切り替え、意味的な認証情報抽出、適応型攻撃生成、戦略ピボット、特徴的な時間パターンがその指標です。
本研究の重要な洞察はパラダイムの逆転にあります。AIシステムへの攻撃として広く研究されてきたプロンプトインジェクションは、デセプション環境に展開されると強力な防御ツールへと変貌します。AIエージェントを効果的にする根本的な能力、すなわち自然言語を理解し、それに基づいて行動する能力を逆用することで、防御者はこの新興脅威クラスに特化した検知メカニズムを構築できます。
自律型AIエージェントが正当なコンテキストと敵対的なコンテキストの両方でより普及するにつれ、セキュリティコミュニティには新しい検知パラダイムが必要です。LLM対応デセプション技術は有望な方向性を示していると考えます。本研究では、この分野での将来の研究の基盤として、行動IoSCフレームワークを提供します。
翻訳元: https://beelzebub.ai/blog/catching-ai-red-teamers-in-the-wild/