- ブロック済みの攻撃ログがエージェントへの命令に変わる。Tenet SecurityがDEF CON 34で実演
- Claude CodeはCloudflare推奨設定で10回中9回、植えられた指示に従った
- 対策はモデル外の認可ゲート。提案と承認を分離し人間の確認を挟む
攻撃の連鎖
GhostJackingは、ブロック済みの攻撃ログをAIエージェントが命令として読み込み、企業のDNSを書き換える攻撃です。Tenet Securityが2026年8月9日にDEF CON 34のメインステージで実演しました。そもそもの起点は、攻撃者が送り込んだ悪意あるリクエストをCloudflareのマネージドルールセットがブロックするという正常な処理です。このとき、User-Agentヘッダーに埋め込まれたプロンプトインジェクションのペイロードは、バイト単位でログに記録されます。
問題は、AIコーディングエージェントがブロックされたイベントを確認する段階で発生します。エージェントは攻撃者の文章を、会社が意図した指示と区別する方法を持ちません。数カ月前に会社が発行した正規の認証情報を使って、DNSを書き換えてしまうのです。Tenetのベンチマークでは、Claude CodeをSonnet 4.6で動かした場合、Cloudflare推奨構成のもとで10回中9回、埋め込まれた指示に従ったと報告されています。
既存防御では検知不能
GhostJackingの特徴は、管理者アカウントの侵害も、ファイアウォールの回避も不要な点です。エージェントが実行する操作はすべて、元々認められていた範囲内にあります。エンドポイント検出、WAF、ID管理はルール違反を検知しないため、攻撃の途中で警告が上がることはありません。
攻撃面はログだけに限りません。Tenetは公開された設定を持つ48組織を確認し、そのうち6社がFortune 500企業に含まれるとしています。SecurityWeekは、DatadogとSentryでも同じ攻撃連鎖が成立すると報じました。DatadogやSentryの場合、アラートやエラーレポートがインジェクションの侵入口になります。
Sentryでは、認証のない公開された書き込み専用エンドポイントに、漏えいした識別子を使って細工したエラーレポートを投稿します。通常のトリアージ用プロンプトでは、コーディングエージェントがSentry自身のAIであるSeerにエスカレーションします。エージェントはSeerの分析をそのまま信頼してしまうという連鎖が確認されています。
モデル外の承認ゲート
OWASP Top 10 for LLM Applicationsの共同リードであるSteve Wilson氏(ExabeamのChief AI and Product Officer)は、モデルの外側に認可ゲートを置くことを最初の対策として挙げます。エージェントはDNS変更を提案できても、自分自身にその権限を付与できないようにする設計です。認可ゲートは、通過するか失敗するかを返すコードとして実装されるため、モデルの気まぐれに左右されません。
明確に定義された安全な変更は、決定的なポリシーチェックを通過し、自律実行を続けます。曖昧な変更や影響範囲の大きい変更は、指名された人間が実際の変更を承認するルートに回ります。Wilson氏は、エージェントが任意の高影響なインフラ変更を単独実行する能力を失う代わりに、自律的な調査と定型的な修復は維持できるというトレードオフになると説明しています。
Wilson氏は、プロンプト内の規則で解決しようとする試みに否定的です。プロンプトに書かれたセキュリティ規則はモデルの行動を形作ることはできても、強制力のあるセキュリティ管理策にはならないと指摘しています。この指摘は、『プロンプトでエージェントを守る』という発想への警告と読むこともできます。
残る構造的リスク
Tenetの実演を踏まえると、問題は特定の製品の欠陥ではなく、エージェントの構造そのものにあるとみられます。攻撃者が到達可能なデータを読み取り、影響の大きい変更を単独で実行できるアーキテクチャは、単一のプラットフォームのパッチでは解消しません。プロンプトインジェクションのブロック率を高めるだけでは、セキュリティ境界として機能しないというのが記事の主張です。
SC Mediaの報道によれば、実演で使われたエージェントはCursorで、GraphQL統合でログを読み取り、Cloudflare APIで書き込みを行いました。Cursorは汚染されたヘッダーを取り込み、DNSのAレコードを変更し、CNAMEを追加して攻撃者の所見を『解決』していました。この結果、攻撃者は企業のWebとメールのトラフィックを迂回させられる経路を手に入れることになります。
| 項目 | プロンプト内の規則 | モデル外の承認ゲート |
|---|---|---|
| 位置づけ | モデルへの提案にすぎない | 強制力のある管理策 |
| 自律実行の範囲 | 任意の高影響変更も実行可能 | 検証済みの限定的な変更のみ |
| 高影響の変更 | エージェントが単独実行 | 人間の承認が必須 |
We have to remember that security rules written inside prompts may shape the model’s behavior, but they are still suggestions to the model, not enforceable security controls,
プロンプトに書かれたセキュリティ規則はモデルの振る舞いを形作るかもしれないが、それらはモデルへの提案にすぎず、強制力のあるセキュリティ管理策ではないということを忘れてはなりません
今後の見通し
今回の攻撃はDEF CONでの実演であり、CursorやClaude Codeという特定のエージェントで確認されたものです。今後は、他のAIエージェントや基盤モデルでも同じ連鎖が成立するのか、各クラウド・セキュリティベンダーがモデル外の認可ゲートを標準機能として提供するのかが焦点になるとみられます。また、実環境での検知・防御の実装例が公表されれば、日本の企業が自社のエージェント運用に適用できるかを判断できるようになるでしょう。
日本の開発者・IT企業にとっての意味
日本のIT企業がAIコーディングエージェントや運用エージェントを導入する際、従来のWAFやEDRだけでは防げない攻撃経路が存在することを示しています。ログやアラートをエージェントに自動処理させる構成は、攻撃者が送り込んだ文字列がそのまま実行権限に到達し得るため、権限の最小化と人間が介在する承認フローをコードとして実装する必要があります。具体的には、エージェントの読み取り対象と書き込み対象を分離し、DNSや認証情報など影響範囲の大きい変更は人間の承認を必須にする設計が考えられます。クラウドベンダーの管理コンソールや運用手順も、この考え方に沿って見直すことが求められるでしょう。
気になる点
- GhostJackingは自社の環境でも起こり得るのか
- 起こり得ます。Tenetは公開された設定のままだった組織を48社確認し、うち6社はFortune 500企業でした。エージェントが外部由来のデータ(ログやアラートなど)を読み取り、そのデータが示すシステムへの書き込み権限を持っていれば、今回の手法が成立する条件が整います。
- 既存のWAFやEDRでは防げないのか
- 防げません。今回の攻撃はファイアウォールがブロックした後に成立し、使われる認証情報も正規に発行されたものです。WAFやID管理は不正な操作として検知できないため、エージェントの権限設計や承認フローを見直す以外に有効な対策はないとみられます。
- どのエージェントが影響を受けるのか
- TenetはCursorとClaude Codeの双方で攻撃を検証し、DEF CONではCursorによる実演を行いました。記事で明示されているのはこの2つですが、外部データを読み取って自律実行するAIエージェント一般に当てはまる構造的リスクと考えられます。
用語解説
- GhostJacking
- ブロックされた攻撃ログをAIエージェントが命令として読み取り、システムを操作してしまう攻撃。Tenet Securityが命名・実演。
- プロンプトインジェクション
- AIへの入力に悪意ある指示を埋め込み、本来の命令と誤認させて実行させる攻撃手法。
- WAF
- Webアプリケーションへの攻撃リクエストを検知・遮断するファイアウォール。
- EDR
- エンドポイント機器での不正活動を検知し、対応するセキュリティ製品。
- 認可ゲート
- AIモデルの外側に置く実行許可の判定処理。提案と承認を分離し、強制力を確保する。
- DNS
- ドメイン名とIPアドレスを対応づける仕組み。書き換えられるとWebやメールの通信を攻撃者に誘導され得る。
出典
The fix for the AI agent that hijacked a company's DNS: it can propose the change, but it can't approve it
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する