AIセキュリティ / AI SECURITY / AGENT HIJACKING
「ブロックされた」が入り口になる — AIエージェントをログから乗っ取るGhostJacking(DEF CON 34で公開)
セキュリティ企業Tenet Securityは、AIエージェントが信頼するログやアラートに指示を仕込んで乗っ取る「GhostJacking」と名付けた一連の攻撃をDEF CON 34で発表した。ファイアウォールにブロックされた不正リクエストがそのままログに残り、それを読んだAIがDNS設定を書き換えてドメインを乗っ取る。Claude Codeに対する実験での成功率は9割と報告されている。
「攻撃をブロックした」ことは、セキュリティ上の成功のはずだ。しかしAIエージェントが関わると、ブロックされた記録そのものが攻撃の入り口になり得る。セキュリティ企業Tenet Securityは、ファイアウォールや監視ツールが残すログ・アラートに攻撃者の指示を仕込んでAIエージェントを乗っ取る攻撃を実証し、「GhostJacking」と名付けて2026年8月9日にラスベガスのDEF CON 34で発表した。
実証では、Cloudflare上でドメインの乗っ取り、Datadog上でコード実行とクラウド認証情報の窃取、Sentry上でAIからAIへの侵害の拡大が、それぞれ再現されている。Tenet Securityによると、標準的なセキュリティ製品では1件も検知されなかったという。AIエージェントを日常業務に組み込み始めた組織にとって、プロンプトインジェクションの次の段階を示す研究といえる。
まず基本:AIエージェントは「読む」と「実行する」を分けられない
AIエージェント(AIアシスタント)は、指示を出したユーザーに代わってツールを操作する。ログを調べ、アラートを確認し、問題があれば設定を変更する。ここに構造的な弱点がある。エージェントが「状況把握のために読むデータ」と「従うべき指示」を、うまく区別できないことだ。
ログやアラートは本来、機械が記録した事実データだ。しかしエージェントから見れば、それらは「読むべきテキスト」にすぎない。攻撃者がログの中に「次の手順を実行せよ」と書いておけば、エージェントはそれを本物の指示と勘違いして実行してしまう。これは従来から知られるプロンプトインジェクションの一種で、AIエージェントが監視ツールや障害対応ツールと接続されるほど、攻撃面が広がる。
GhostJackingの4段階
Tenet Securityは、GhostJackingを「AIが許可された行動だけを使って完結する攻撃」と説明する。不正なコードを実行する必要がないため、行動ベースの監視には引っかからない。攻撃は次の4段階で構成される。
- 初期侵入(Initial access) — Sentry、Cloudflare、Datadogなど、エージェントが信頼するサービスに、攻撃者の指示を仕込んだログやアラートを1件置く
- 権限拡大(Escalation) — 開発者のノートPCから会社の基幹インフラへ、さらに別のAIエージェントへと侵害を広げる
- 情報窃取(Exfiltration) — Claude Desktopのサンドボックス(隔離環境)を回避するゼロデイで、盗んだデータを外部へ送り出す
- 永続化(Persistence) — エージェントの設定・メモリ・ツールにバックドアを残し、セッションを重ねても攻撃者の支配下に置き続ける
Cloudflare:「ブロックされること」が入り口になる
最も示唆的な実証はCloudflareを舞台にしたものだ。流れは次のとおり。
- 攻撃者が不正なリクエストを送る
- Cloudflareのファイアウォールがそれをブロックし、ログにそのままの文言で記録する(ここに攻撃者の指示文が含まれる)
- アナリストがAIアシスタントに「ブロックされたイベントを確認して」と依頼する
- AIはログの中の指示文を本物の調査結果として読み、DNS設定を書き換えてドメインを攻撃者管理のものへ向け、「問題は解決済み」と報告する
Tenet Securityによると、この攻撃はClaude Codeに対して10回中9回成功した。リクエストはすべてブロック済みなのに、ドメインは乗っ取られた。DNSは「会社の住所録」であり、Webサイトとメールの送り先を決める。これを奪えば、利用者を偽サイトへ誘導したり、メールを横取りしたりできる。
重要なのは、Cloudflareが推奨するセキュリティ設定のままで成立したことだ。リクエストをブロックしたのはCloudflareのマネージドセキュリティルールであり、その「ブロック」が攻撃を運んだ。推奨設定に従っていれば安全、という前提は通用しない。
DatadogとSentry、そして「AIにAIを攻撃させる」
同じパターンは他のプラットフォームでも再現された。
Datadog経路は、フロントエンド用に公開されたまま放置されているDatadogのAPIキーを悪用する。Tenet Securityは、こうした公開キーを2,700件以上インターネット上で見つけたと報告している。攻撃者はそのキーで偽の「緊急診断」アラートを仕込み、エンジニアがAIエージェントにエラー確認を依頼すると、AIが攻撃者のコマンドを実行する。結果としてコード実行と、環境変数のシークレット・クラウド認証情報の窃取に至った。2026年6月17日にDatadogへ開示済み。
Sentry経路は、エージェントからエージェントへの侵害拡大を示す。SentryのAIアシスタント「Seer」に細工したレポートを読ませると、Seerは攻撃者の偽の修正案を「自分の結論」として採用する。コーディングエージェントはSeerを無条件に信頼し、元の攻撃指示を見ることなく攻撃者のコードを実行する。Sentryへは6月3日と7月13日に開示済み。
さらにTenet Securityは**「AIにAIを攻撃させる」**手法(Self-Exploit)も示した。一方のAIに攻撃文面を作らせ、もう一方のAIを標的にする。標的のAIが拒否するたびに、その拒否理由から「受け入れやすい言い回し」が判明し、最終的には標的のAIが自分自身への攻撃を実行したという。これは別々のセッションを使い、メモリを無効にした管理された実験だとされている。
Claude Desktopのゼロデイは修正済み
情報窃取の段階では、AnthropicのClaude Desktopのサンドボックス回避のゼロデイが使われた。サンドボックスは「エージェントがデータを外部へ送れないようにする」ための隔離機構だが、これを迂回できたため、盗んだデータを攻撃者が選んだ任意のサーバーへ送信できたという。
この問題はAnthropicに報告済みで、同社のセキュリティチームが確認し、発表前に修正済み(CVEは発行されていない)。Tenet Securityは、悪用の詳細(トークンや攻撃スクリプト)は開示ガイドラインに基づき公開していない。
影響の広がりと数字の読み方
Tenet Securityは、攻撃の舞台となるツールの普及度を次のように挙げる。
- Datadog — Fortune 500の48%が利用(同社決算説明会より)
- Cloudflare — Fortune 500の42%が利用し、世界のインターネットトラフィックの約2割を処理
- Sentry — 約400万人の開発者が利用
その上で、影響を受け得る組織は15,000以上と推計している。ただしこの数字には注意が必要だ。これは公開情報から確認できた73件(48組織、うちFortune 500級が14組織)をCloudflareの顧客基盤に外挿した推計値であり、「脆弱な構成を採用している」組織数の推計であって、侵害の確認ではない。Tenet Security自身がそのように注記している。
また、今回の実証は研究者自身のテストアカウントと公開APIのみを使い、実際の顧客の鍵やデータには触れていない。各ベンダーへの事前報告も済んでいる。とはいえ、「エージェントが読むデータ」と「エージェントが実行する命令」が同じ場所にある限り、同型の攻撃はこれら3社以外でも成立する(Splunkとビルドシステムの組み合わせなど)と同社は指摘する。
今何をすべきか
- エージェントのネットワークアクセスを制限する — Tenet Securityは対策ツール「agent-jackstop」をOSSとして公開している(CursorとClaude Code向け)。既定で外部への通信を遮断し、必要な通信だけを許可する構成が推奨されている
- 重要な操作に人間の承認を挟む — コマンド実行や設定変更(特にDNSや認証情報の扱い)には、AI任せにせず人の承認を必須にする
- 「読んだデータ」を「命令」として扱わせない — ログやアラートの内容をそのまま実行させない設計(表示の分離、タグ付け)を検討する
- トークンと鍵は漏えいを前提に管理する — 公開されたAPIキー(今回のDatadogキーのようなもの)が組織内にないか棚卸しし、エージェントが接続するツールの権限を見直す
AIエージェントは「言われたことを実行する」能力に優れている。だからこそ、何を読ませるか・何を実行させるかを、人間側が設計で決める必要がある。ブロックされた事象のログ確認をAIに任せている現場は、この攻撃の標的になり得る。
出典: Tenet Security — GhostJacking Attacks: Half of the Fortune 500 Run These Tools / Tenet Security — agent-jackstop(GitHub)
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。