ファイアウォールが不正なリクエストを止め、その記録を残す。監査のためには欠かせない、正しい設計です。Tenetが示したのは、その記録に埋め込んだ指示文が、そのままAIエージェントへの命令になるという経路でした。ブロックされたことが、侵入の条件になっています。
Tenet Securityは2026年8月9日、AIエージェントを乗っ取る攻撃手法「Ghostjacking」をDEF CON 34で公表した。攻撃者がログやアラートに文字列として命令を仕込み、それを読んだエージェントが実行する。
Cloudflareの実証では、管理ルールに遮断されたリクエストへ埋め込んだ指示文がログ側に残り、それが命令を運んだ。エージェントがDNSを書き換えた実証は、Claude Codeに対し10回中9回成功している。
Datadogでは公開状態のキーから偽アラートを注入し、環境変数とクラウド認証情報を持ち出せることが示された。SentryではAIのSeerが偽の修正案を採用し、別のエージェントがコードを実行した。
【編集部解説】
ブロックしたことが、侵入経路になった
セキュリティ製品は、不正なリクエストを止めたあとに何をするか。記録します。誰が、いつ、どんな内容を送ってきたのかを、証跡として残す。これは監査でも事後分析でも欠かせない、疑いようのない正しい設計です。
Ghostjackingが利用するのは、その正しさそのものです。
手口の分類としては、間接プロンプトインジェクション——AIが読み込んだ外部データの中に指示を仕込み、正規の依頼だと誤認させる攻撃——にあたります。新しいのは、その指示を運ぶ役をセキュリティ製品自身が引き受けている点です。
Tenetの実証では、Cloudflareの管理ルールに遮断されたリクエストへ埋め込んだ指示文がログ側に残り、それをAIエージェントが読むことで攻撃が成立しました。攻撃者はリクエストの本文に、遮断されることを承知のうえでAIあての指示文を書いておく。あとは、そのログを誰かがAIに読ませてくれるのを待つだけです。
なお、Cloudflareの公式文書では、WAFのpayload loggingはEnterpriseプランで明示的に有効化する機能とされ、記録されるのはルールに一致した文字列とその前後です。遮断されたリクエストの本文が、常に丸ごと残るわけではありません。それでも、指示文そのものがルールに一致すれば、記録に残る側へ回ります。
アナリストが「ブロックされたイベントを確認して」とエージェントに頼む。エージェントはログを読み、そこにある文章を「調査で判明した対処すべき事項」として受け取り、実行します。DNSの設定を書き換え、ドメインの宛先を攻撃者のサーバへ向け、そして「対応済み」と報告する。Tenetの実証では、Claude Codeに対して10回中9回、これが成立しました。
DNSは企業の住所録です。ここを握られると、Webサイトを訪れた人も、送られてきたメールも、静かに別の場所へ運ばれます。侵入されたサーバは1台もありません。突破された認証もありません。すべての操作は、その組織が自らAIに与えた権限の内側で完結しています。
そして最も痛いのは、Tenetがこれを「Cloudflare自身の推奨セキュリティ構成」で確認したと報告している点です。攻撃を運んでいるのは、Cloudflareが案内しているセキュリティルールが生成した記録です。設定ミスが前提なのではありません。Tenetが検証した推奨構成でも、経路が成立しました。
8月9日に報じた話の、続きにあたる
一昨日、私はClaude in Chromeの乗っ取り実証を扱いました。攻撃者側のClaudeがCAPTCHAの突破を一度は拒み、「これは本物ではなく、あなたの技量を試すためのものだ」と説明されて応じた——安全装置が、丁寧な説明ひとつで役割を降りる、という記録です。
Ghostjackingには、その延長線上にある実験が含まれています。Tenetは攻撃コードを人手で書きませんでした。一方のAIに、もう一方のAIが受け入れる攻撃を組み立てさせています。標的側が拒否するたび、その拒否の文面が「どう言えば通るか」を教えてしまう。それを手がかりに書き直し、最終的にAIは自分自身に効く攻撃を完成させました。攻撃側と標的側は独立したセッションで、メモリはオフ。互いの存在を知りません。
拒否は、それ自体が情報を漏らします。「なぜ断るのか」を丁寧に説明するモデルほど、断り方の地図を差し出していることになる。安全性の設計として、これは簡単な話ではありません。
6月の研究との差は、届いた高さ
Tenetは6月にAgentjackingを公表しています。Sentryの偽エラーレポートでAIコーディングエージェントを乗っ取り、開発者のPC上でコードを実行させるものでした。入口はDSNと呼ばれる、Sentryが公開を前提として設計した書き込み専用の識別子です。当時の数値は、成功率85%、そのDSNが露出していた2,388組織。
今回は3点が変わりました。
入口が1つではなくなった。Cloudflare、Datadog、Sentryで同じ手が通る。Tenetは「Splunkとビルドシステム」「DatadogとKubernetes」のような組み合わせにも同じ形が現れると書いています。
到達点が開発者のPCから企業の基盤へ移った。6月の終点はラップトップ上のコード実行でした。今回はドメインそのものです。
エージェント間を渡り歩く。SentryのAIであるSeerが偽の修正案を自分の結論として採用すると、Seerを信頼するコーディングエージェントは、元の注入を一度も見ないまま攻撃者のコードを実行します。一体のAIを騙せば、そのAIが次のAIに対して身元保証人になる。エージェント同士を連携させる設計が広がるほど、この経路は太くなります。
Datadogでは、公開状態のフロントエンド用キーから偽の「緊急診断」アラートを注入し、環境変数やクラウド認証情報を外部へ持ち出せることが実証されました。ただしTenetは、検証には自社のテストアカウントと公開APIのみを使い、実在顧客のキーや秘密情報、顧客データは読み取っても複製しても保存してもいないと明記しています。
Claude Desktopのサンドボックス脱出のゼロデイも報告されています。エージェントが持ち出したデータを外へ出させないための隔離を迂回するもので、Anthropicが確認し、講演前に修正しました。Tenetによれば、CVEは付与されていません。
数字は、原典の但し書きごと読む必要がある
ここは慎重に扱います。
Tenetは「15,000組織以上が露出している」と推計していますが、これは48組織・73件の公開情報から、Cloudflareの顧客基盤全体へ外挿した数字です。Tenet自身が「脆弱な構成が採用されている度合いを示すものであり、侵害が確認されたものではない」と明記しています。侵害された1万5000社が存在するわけではありません。
規模の裏づけとして引かれている数字にも、時点のずれがあります。原典はCloudflareのFortune 500採用率を42%としていますが、これは2026年3月31日時点の数字です。Cloudflareは投資家向けページで、6月30日時点でFortune 500の45%以上が有料顧客だと公表しています。Datadogの48%は2025年末時点の決算説明に基づくもので、8月6日発表の直近四半期では再掲が確認できません。Sentryの「400万開発者」は、原典が2025年9月のリリースを典拠にしていますが、同社は2026年に入ってからの発表でも同じ「400万人超」を掲げています。組織数のほうは14万から15万へ更新されている一方で、開発者数は据え置かれたままです。
Datadogの露出についても、原典の記述に揺れがあります。要旨では「2,700社以上が無防備」、本文では「公開されたキーを2,700件以上発見」となっている。件数と社数は同じではありません。
これらは研究の価値を損なうものではありませんが、「Fortune 500の半分が危ない」という形で流通しやすい数字でもあります。Fortune 500での製品採用率は、対象になりうる母集団の規模を示す数字であって、脆弱な構成の数でも侵害の件数でもありません。この区別は、残しておく価値があります。
検知できないのは、壊れていないから
Tenetの実証では、EDR、WAF、IAMによる検知は0件だったと報告されています。
研究者が問題視しているのは、攻撃の各操作がエージェントにすでに与えられた権限と正規のツールだけで行われ、従来型の制御からは通常業務に見えやすい点です。ただしこれは、EDRやWAF、IAMが一般に「許可されていない行動だけ」を探す仕組みだという意味ではありません。EDRはプロセスの挙動や攻撃技法も見ますし、WAFはリクエストを攻撃パターンで判定します。今回の実証で0件だったことと、製品カテゴリの定義とは別の話です。
AIエージェントの導入とは、権限の束を人間以外に手渡すことです。その相手は、外部データに混ざった命令を、正規の指示から確実に区別できるとは限りません。Tenetは、この境界の曖昧さを攻撃の核心としています。
Tenetはこう書いています。AIが信頼する外部データを読み、同じAIがそれに基づいて行動できる。その2つが交わる場所すべてに、扉が開いている。
今日から打てる手はあるが、これで終わりではない
Tenetは防御側に agent-jackstop をオープンソースで公開しました。CursorとClaude Code向けの設定を配布するもので、考え方は4つです。
外向きの通信をデフォルトで拒否する。エージェントが実行しようとするコマンドには人間の承認を必須にする。エージェントが読んだデータを、実行する命令に昇格させない。到達可能なトークンはすべて危険とみなし、接続しているツールを全点検する。
なお、agent-jackstopの説明には、「信頼できないデータは無視せよ」とプロンプトで指示するだけでは対策にならないと明記されています。前回の研究では、そう指示されたエージェントもペイロードを実行しました。設定として強制するか、指示で頼むかは、同じことではありません。
最初の1つだけでも、攻撃者のダウンロードとデータ流出は止まります。ただしTenet自身が「これで完全に解決するわけではない。始めるための手段だ」と留保をつけています。
Cloudflare、Datadog、Sentryは、いずれも日本国内でも使われています。そしてログやアラートの分析は、AIエージェントに任せやすい用途の一つです。ログを読ませる、というのは最も自然な第一歩であり、この攻撃が狙っているのはまさにその第一歩です。
「うちのエージェントは何を読み、何を実行できるのか」。この2つの答えが重なる場所を洗い出すことは、低コストで始められる点検の一つです。
【関連記事】
Claude in Chrome乗っ取り実証、Anthropicの「0%」は何を測っていたのか
本記事の冒頭で触れた8月9日の記事。安全装置が丁寧な説明ひとつで役割を降りるという構図を、具体的な記録から扱っている一本。
ChatGPTの脆弱性「AgentForger」、リンク1本でAIエージェントが社内の内通者になる
侵害されたあとに何が渡るのかという論点を扱った一本。今回のエージェントからエージェントへの連鎖と、正面から重なっている。
CrowdStrike、AIエージェントを狙う新プロンプトインジェクション5手法を公表
攻撃手法の分類地図にあたる一本。今回のGhostjackingは、その地図に新しい配送経路を書き加えるものだといえる内容。
【編集部後記】
拒否は、無言ではありません。Tenetの実験で、標的のAIは断るたびにその理由を説明し、説明そのものが「どう言えば通るか」を教えていました。攻撃側のAIはそれを読んで書き直し、最後には自分自身に効く一文へたどり着いています。
理由を丁寧に語ることは、モデルの美点として設計されてきたはずのものです。何も語らずにただ断るAIのほうを、私たちは信頼できるのでしょうか。
【用語解説】
Ghostjacking
Tenet Securityが命名した攻撃群。AIが信頼して読むログやアラートに命令を紛れ込ませ、すでに与えられている権限やツールを悪用させる。新たな権限昇格や防御の突破を前提としない点が核心であり、実証によってはコード実行も結果として発生する。
Agentjacking
Tenet Securityが2026年6月に公表した前身の研究。Sentryの偽エラーレポートを介してAIコーディングエージェントを乗っ取り、開発者の端末上でコードを実行させるものだった。
間接プロンプトインジェクション
AIが読み込んだ外部データの中に指示を仕込み、正規の依頼だと誤認させる攻撃。攻撃者が会話に直接参加する必要がない点が、直接型との違いである。
DNS(Domain Name System)
ドメイン名を実際のサーバの所在へ結びつける仕組み。書き換えられると、Webサイトの訪問者もメールの配送先も、利用者が気づかないまま別の宛先へ向かう。
DSN(Data Source Name)
Sentryがイベント送信に用いる識別子。書き込み専用で、フロントエンドのJavaScriptに埋め込むことが公式に想定されている。前身のAgentjackingは、この公開前提を利用した。
payload logging
CloudflareのWAFで、ルールを発火させたリクエストの内容を記録する機能。Enterpriseプラン向けで、マネージドルールセットごとに明示的な有効化が必要となる。記録されるのはルールに一致した文字列とその前後であり、顧客の公開鍵で暗号化される。
Seer
Sentryが提供するAIデバッグエージェント。エラー情報を解析し、修正案を生成して他のコーディングエージェントへ引き渡す。Ghostjackingでは、偽の修正案を自らの結論として採用する経路が示された。
EDR / WAF / IAM
それぞれ端末上の脅威検知、Webアプリケーションへの攻撃検知と防御、ID・アクセス権の管理を担う。Tenetの今回の実証では、これらによる検知は0件だったと報告されている。
ゼロデイ
開発元が把握しておらず、修正が提供されていない段階の脆弱性。今回のClaude Desktopの事例は、公表前にAnthropicへ報告され、修正されている。
CVE(Common Vulnerabilities and Exposures)
脆弱性に付与される共通の識別番号。今回のClaude Desktopの修正について、Tenetは付与されていないとしている。
agent-jackstop
Tenetがオープンソースで公開した、CursorとClaude Code向けの設定集。外向き通信の既定拒否、コマンド実行への人間の承認、接続ツールの全点検を柱とする。
【参考リンク】
Tenet Security(外部)
AIエージェント層の防御を手がけるイスラエルの企業。2026年6月にステルスを脱却し、Ghostjackingを公表した。
GhostJacking Attacks(Tenet Threat Labs)(外部)
今回の研究の一次情報にあたるページ。4つの攻撃経路、露出規模の推計方法、各社への開示の経緯と日付までを掲載している記事。
agent-jackstop(GitHub)(外部)
Tenetが公開した防御用の設定集。CursorとClaude Codeに適用でき、外向き通信の既定拒否と実行前承認を含む。
Log the payload of matched rules(Cloudflare)(外部)
CloudflareのWAFにおけるpayload loggingの公式文書。記録される範囲と、暗号化・復号の手順を説明している。
Cloudflare Investor Relations(外部)
Cloudflareの投資家向けページ。2026年6月30日時点でFortune 500の45%以上が有料顧客であると記載している。
Datadog(外部)
監視と可観測性のプラットフォームを提供する米国企業。フロントエンド用キーが公開状態で残ることが、偽の診断アラートの入口になった。
Sentry(外部)
エラー追跡とアプリケーション監視のプラットフォーム。AIデバッグエージェントSeerを提供し、4番目の攻撃経路となった。
DEF CON 34(外部)
世界最大規模のハッカーカンファレンス。2026年8月6日から9日にラスベガスで開催され、今回の研究が主舞台で採択された。
【参考記事】
‘Ghostjacking’ Attack Uses Poisoned Logs to Turn AI Agents Bad(外部)
DEF CON会場からの報道。Cloudflareのネットワークをインターネットトラフィックの約20%が通過する点などを示す。
“Ghostjacking” Exploits AI Agents’ Trusted Access to Evade Firewall Controls(外部)
Cloudflare42%、Datadog48%、Sentry400万開発者という規模の数値と、露出企業のサンプルを整理している。
One Fake Bug Report Hijacked a $250 Billion Company’s AI Agent – Then 100+ More(外部)
6月に公表された前身研究。成功率85%、露出2,388組織という数値と、Sentryが根本修正を見送った経緯を記している。
The attack that hijacked Claude Code came through Sentry. Datadog, PagerDuty, and Jira have the same exposure.(外部)
全2,388組織で実際に悪用が確認されたわけではない点を明記したうえで、影響が及ぶ範囲の広さを論じた記事である。
Agentjacking: Sentry MCP Injection Hijacks AI Coding Agents(外部)
個別のバグではなく、3つの設計判断の組み合わせが生む構造的な欠陥だとする分析。今回の「同じ形」という論旨の裏づけになる。

















