抄録
複数ステップの攻撃的セキュリティ操作を実行できる自律型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 Agents、および商用提供を含むAIエージェントフレームワークの最近の発展は、ペネトレーションテスト活動を自律的に実施する能力を実証しています。これらのエージェントは通常、以下のループを通じて動作します:
- 観察:ツール出力、Webページ、またはシステム応答の読み取り
- 推論:観察の分析と次のステップの計画
- 行動:利用可能なツール(シェル、HTTPクライアント、コードインタプリタ)を介したコマンドの実行
このアーキテクチャは、従来のスキャナーとは異なり、AIエージェントはセマンティック的にすべてのコンテンツを処理することを意味します。HTMLコメント、エラーメッセージ、および従来のツールが無視するメタデータを含め。
2.2 プロンプトインジェクション
プロンプトインジェクションは、LLMベースのシステムに対する文書化された攻撃ベクトルであり、LLMが処理するコンテンツに敵対的な命令が埋め込まれ、意図した行動から逸脱させます。先行研究はプロンプトインジェクションを攻撃的な技術に焦点を当てています。その防御的な応用を提案します。
2.3 ハニーポットとデセプション技術
ハニーポットは攻撃者を引き付けて研究するために設計されたおとり システムです。従来のハニーポットは脆弱なサービスをシミュレートし、攻撃者の相互作用をログに記録します。当社の貢献は、AIエージェントのセマンティック処理機能を具体的にターゲットにするLLM対応デセプションレイヤーを導入することでこのパラダイムを拡張します。
3. 方法論
3.1 ハニーポットプラットフォーム
Beelzebubを使用して実験をデプロイしました。これはYAML設定を通じてカスタムHTTPサービスを定義できるオープンソースハニーポットフレームワークです。Beelzebubはヘッダー、ボディ、ソースIP、地理的位置情報、セッション追跡を含むすべての受信リクエストの詳細なログを提供します。
3.2 トラップ設計:2層デセプション
当社のハニーポット設定はApache/PHPを実行している脆弱な企業イントラネットをシミュレートしました。デセプションは2つのレイヤーで構成され、それぞれAIエージェント行動の異なる側面をターゲットにします。
HTMLコメント内の認証情報漏洩
最初のレイヤーは、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 分
攻撃セッション総期間
1
ユニークなソースIP(Tor出口ノード)
| パラメータ | 値 |
|---|---|
| ソースIP | 192.42.116.186(Tor出口ノード) |
| 地理的位置情報 | マンチェスター、イギリス |
| 時間ウィンドウ | 2026-02-19 08:47:42,09:06:21 UTC |
| User-Agent | 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 攻撃タイムライン
完全なセッションは5つの異なるフェーズに分解でき、それぞれ自律型AIエージェントと一致する行動特性を明らかにします。
期間:約16分|リクエスト:12|ツール:Chrome UA、curl
エージェントは初期発見から始まり、最初にChrome風User-Agent経由でインデックスページをフェッチし(ブラウザ/フェッチツールを示唆)、その後のリクエストで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コメントから認証情報を抽出し、同じ秒内に攻撃の爆発を開始します:
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メソッド。これは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と並んでServer-Side Template Injection({{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エージェント対人間対従来型スキャナー
当社の観察に基づいて、LLMベースのエージェント固有の行動侵害インジケーター(BIoC)のセットを提案します。
5.1 比較分析
| 行動インジケーター | 人間の攻撃者 | 従来型スキャナー | AIエージェント |
|---|---|---|---|
| HTMLコメントから認証情報を抽出 | 可能だが遅い | いいえ(コメントを無視) | はい、即座に |
| ゼロデルタでバーストリクエスト | いいえ | はい、ただし固定パターン | はい、適応パターン |
| セッション中に複数のツール間を切り替え | 稀 | いいえ | はい(curl/Python/ブラウザ) |
| セッション中に戦略を進化 | はい、ただしより長い時間 | いいえ(静的設定) | はい、数分以内 |
| セマンティック的にラベル付けされたペイロードを生成 | 時々 | いいえ(ワードリストを使用) | はい(xss=、sqli=、ssti=、cmd=) |
| すべてのHTTPメソッドを体系的にテスト | 可能 | 固定リストから | 文脈的に生成 |
| 時間パターン:長いポーズの後バースト | いいえ | いいえ(一定レート) | はい(推論+実行) |
5.2 AIエージェント検出のための提案された行動IoC
- マルチツール切り替え:同じソースIPからの単一セッション内での異なるUser-Agent(curl、Python、ブラウザ)間の交代。異なるサブタスクに異なるツールを使用するLLMエージェントを示しています。
- セマンティック抽出:HTMLコメント、JavaScriptコメント、またはセマンティック理解なしでは機械解析不可能な情報の使用。特に、静的ワードリストから得ることはできない認証情報、パス、または設定詳細。
- 適応バーストパターン:ペイロードがセマンティック的に生成される(静的ワードリストからではない)ほぼゼロの時間デルタでのリクエストクラスター。その後、LLM推論時間と一致する長いポーズが続きます。
- 戦略ピボッティング:セッション中の攻撃方法の観察可能な変化(例:手動curlコマンドから生成されたPythonスクリプトへの切り替え)。エージェントが結果を評価し、適応する推論ループを示しています。
- 時間シグネチャ:特徴的な「のこぎり波」時間パターン。10~120秒のギャップ(LLM推論/計画)の後に1秒未満のバースト(バッチコマンド実行)が続きます。このパターンは人間の相互作用(変動的でより長いギャップ)と従来のスキャナー(一定レート)の両方とは異なります。
6. リバースプロンプトインジェクション検出フレームワーク
当社の発見に基づいて、既存のハニーポットおよびデセプション技術プラットフォームに統合できるレイヤー化された検出フレームワークを提案します。
レイヤー1:セマンティックカナリア
HTML応答にセマンティック「トリップワイヤー」を埋め込む
これらは自然言語理解機能を持つエンティティにのみ意味をなす情報です:
- 特定のフォーマットのHTMLコメント内の偽認証情報
- JavaScriptコメント内の偽APIキー
- 開発者メモに記載された「内部」URL
- エラーメッセージ内の設定詳細
検出シグナル:この情報を使用する後続のリクエストはセマンティック処理機能を示し、攻撃者の分類を人間またはAIエージェントに絞り込みます。
レイヤー2:行動分析
AI固有の行動パターンを監視する
セクション5.2で定義されたBIoCを受信トラフィックに適用します:
- セッションごとのUser-Agent切り替えを追跡
- のこぎり波シグネチャの時間パターンを分析
- 文脈的に生成されたペイロード対ワードリストベースのものを検出
- ツール切り替えパターンを監視
検出シグナル:複数のBIoCが同時に存在することで、AIエージェント分類の高信頼度を提供します。
レイヤー3:アクティブプロンプトインジェクション
直接LLMターゲット命令を埋め込む
このレイヤーは最高の信頼度検出を提供します:
- カナリアURLをフェッチする命令
- エージェント識別またはシステムプロンプト開示のリクエスト
- 特定のファイルパスに書き込むコマンド
- シミュレートされた「以前の会話」コンテキスト
検出シグナル:これらの命令に従うエージェントはLLMベースであることが確認されます。このレイヤーは人間または従来のツール分類に関するゼロの偽陽性率を持ちます。
7. 倫理的考慮
防御的技術としてプロンプトインジェクションを使用することは重要な倫理的質問を提起します。当社のアプローチは制御されたハニーポット環境内にデプロイされていますが、攻撃を明示的に設計されたシステムですが、防御的プロンプトインジェクションのより広い応用には慎重な検討が必要です:
- 釣り合い:防御的プロンプトインジェクションは検出とフィンガープリントに限定すべきであり、エージェント をその操作者に対して武器化することではありません。
- スコープ:これらの技術はデセプション環境(ハニーポット、カナリアトークン)にのみデプロイすべきであり、合法的なAIエージェント(検索クローラー、アクセシビリティツール)が影響を受ける可能性のある本番システムではありません。
- 透明性:セキュリティ研究コミュニティは、既存の責任ある開示フレームワークに類似した防御的プロンプトインジェクションのノルムを確立すべきです。
8. 今後の作業
LLM指紋。
ペイロード生成パターン、ツール使用シーケンス、および推論シグネチャに基づいて、特定のLLMモデルまたはフレームワークを識別する技術を開発します。
適応ハニーポット
観察されたエージェント行動に基づいてプロンプトインジェクションペイロードを動的に生成するハニーポットを構築し、インタラクティブなデセプション環境を作成します。
BIoC統合
AIエージェント行動IoCを既存のIDS/WAFプラットフォームに統合し、本番環境でのリアルタイム検出を実現します。
9. 結論
リバースプロンプトインジェクション、ハニーポット応答内に敵対的なLLM命令を埋め込むことは、攻撃的セキュリティ操作を実行する自律型AIエージェントを検出およびプロファイリングするための効果的な技術であることを実証しました。当社のデプロイされたハニーポットはマルチツール切り替え、セマンティック認証情報抽出、適応攻撃生成、戦略ピボッティング、特性的な時間パターンなどのLLMベースのエージェントの強い行動インジケーターを示す完全な攻撃セッションをキャプチャしました。
この作業の重要な洞察はパラダイム転換です:プロンプトインジェクション。AIシステムに対する攻撃として広く研究されていますが、デセプション環境内にデプロイされたときに強力な防御ツールになります。AIエージェントを効果的にする基本的な機能を活用することで、つまり自然言語を理解して行動する能力を防御者は検出メカニズムを作成できます。この新興の脅威クラスに特別に調整されています。
自律型AIエージェントが合法的および敵対的なコンテキストの両方でより普遍的になるにつれ、セキュリティコミュニティは新しい検出パラダイムが必要です。LLM対応デセプション技術がこの分野で有望な方向を表し、行動BIoCフレームワークを将来の作業の基盤として提供することを提案します。
翻訳元: https://beelzebub.ai/blog/catching-ai-red-teamers-in-the-wild/