AIの安全性と統治を象徴する青い保護構造の抽象ビジュアル
NAW / GOVERNANCE 07

IMAGE: AI生成ビジュアル

GOVERNANCE / SECURITY & SAFETY

Grokがゼロクリックで会話履歴を漏洩 — Adversa AIが「Cryptographic Context Injection」を開示、AES暗号化でガードレールを回避

Adversa AIは2026年8月20日、AES-256-GCMで暗号化した悪性指示をGrok自身に復号させて信頼されたコンテキストにすり替える攻撃「Cryptographic Context Injection」を公開した。GrokのWebチャットで「このページを要約して」の一言で会話履歴やユーザー属性が攻撃者サーバーへ送信されるゼロクリックの窃取が、8月19日時点でも再現可能だとする。xAIには6月3日に報告済みだが未修正、Geminiでは夏場に成功率が大幅低下したという。

Adversa AIは2026年8月20日、AIエージェントのコード実行サンドボックスを「信頼の洗浄(trust laundering)」に悪用する攻撃手法Cryptographic Context Injectionを公開した。攻撃者の指示をAES-256-GCM(PBKDF2で鍵導出)で暗号化して渡し、静的な入力ガードレールを素通しさせたうえで、モデル自身にPythonで復号させて得られた平文を「自分が実行したコードの出力」として信頼させる。xAIのGrok Webチャットでは、この手法でユーザーが外部ページの要約を頼むだけで会話履歴全体が外部へ流出するゼロクリックのデータ窃取が、2026年8月19日時点でも再現可能だとしている。

*動画出典: [Grok zero-click data exfiltration via Cryptographic Context Injection — Adversa AI (YouTube)](https://www.youtube.com/watch?v=FBcHUjnyyY0)*

何が起きたか — Grokでゼロクリック窃取、Geminiでセーフガード回避

  • 対象と報告状況: 標的はxAI GrokのWebチャット(エージェント的ブラウジング)とGoogle Gemini(gemini.google.com、Deep Thinking)。Adversa AIは2026年6月3日にxAIおよびHackerOneへ報告、8月4日と10日にも連絡したが、執筆時点で具体的な緩和策やタイムラインの回答はないとしている。Googleには脆弱性開示プログラムの対象外(jailbreakは対象外)のため未報告で、Gemini側は夏場に成功率が大幅に低下したという
  • Grokでの再現性: Adversa AIによれば2026年8月19日時点でGrokに対して依然として再現可能。ユーザーは攻撃者が用意した一見無害なWebページを「要約して」と頼むだけで、Grokがページを取得し、埋め込まれた暗号化JSONと復号指示をサンドボックスで実行する
  • 窃取されるデータ: PoCでは、Grokがユーザー名、大まかな位置、課金層(subscription tier)、会話内の全プロンプト履歴を解決し、それらを埋め込んだURLを「追加コンテキストの取得」と称して権限付きのナビゲーションツールで自動オープンする。データはクエリパラメータ(例: x-auth-token)として攻撃者管理のエンドポイントへ送信され、ユーザー確認や警告なしで完了する
  • Geminiでの挙動: Geminiでは単一プロンプトで暗号文の復号を指示し、復号結果がPythonのトレースバックに偽装されたペイロードとなることで、通常は拒否される内容の生成やシステム指示の再現が確認されたとしている。成功率は6月以降、フィルタやモデル更新の影響とみられる低下が観測された

手口の核心 — なぜ暗号化がガードレールをすり抜けるのか

  • 静的ガードレールは実行しない: 入力フィルタはテキストを分類するが実行はしない。AES-256-GCMの暗号文は鍵素材が同梱されていても、PBKDF2とAESを実際に実行しなければ平文は戻らないため、検査時点で不透明なまま通過する
  • 重みでは解けない暗号: base64や置換暗号、XORのような弱いエンコーディングはモデルが重みやコンテキスト内で自力で解読できるが、強力な暗号は重みの中では解けず、復号をコード実行ランタイムに強制する。これが従来のCipherChatやCodeChameleonとの決定的な違いだとAdversa AIは説明する
  • 出力が信頼される: 復号はモデル自身のサンドボックスで実行されるため、得られた平文は**「外部の未検証文字列」ではなく「自分が実行したコードの出力」**としてコンテキストに入る。モデルはこれを内部状態と同様に扱い、外部取得コンテンツに適用するはずの警戒を緩める
  • エージェントでは権限あるツールへ直結: 洗浄された指示は、外部へ到達可能なナビゲーションやコード実行などの権限付きツールへそのまま流れる。来歴(provenance)の分離や送信(egress)制御がなければ、内容の信頼性問題がそのままデータ流出へ転化する。古典的なSQLインジェクションと同様に、信頼されたクエリと攻撃者由来データの区別が失われる構造だと位置づけられている

影響範囲と防御 — ハーネス側で止める

  • より危険なのは強力なエージェント: チャット型でも十分にリスクだが、コーディング、プラットフォーム運用、金融などの強力なエージェントでは、コード実行が常態であり、到達できるネットワークや認証情報の価値が高いため、前提条件がさらに強まると指摘する
  • 推奨される対策(Adversa AIの提言・一次情報に基づく):
    • 未検証コンテンツを権限なしコンテキストで隔離し、構造化データのみを権限ありコンテキストへ返す。取得ページの要約をリポジトリ書き込み権限を持つ同一コンテキストで行わない
    • 不可逆・外部送信アクションをゲートする。新規送信先、push/merge/publish、ワークスペース外への書き込みは、テンプレートではなく解決済みの引数を表示して確認し、無人が関与しない場面では一律拒否する
    • 解決済み引数を含むツールトレースをセッション単位で記録し、検知・フォレンジクスを可能にする
    • 単一ペイロードではなく連鎖で検知する。例: 未検証コンテンツの取り込み → コード実行 → 依存グラフ外ホストへの通信、といった連鎖をアラート対象とする。不透明なブロブと復号指示のペアはレビューシグナルと位置づける
    • 来歴管理を調達要件化する。ツール出力が指示チャネルから分離されているか、取得コンテンツ由来の引数でツール呼び出しを拒否できるかをベンダーに問う
  • 現時点の留意点: Adversa AIは具体的なペイロードの運用版は非公開とし、防御側が検知を構築できるよう概念と連鎖のみを開示している。本記事の数値や再現性は同社の公表(2026-08-20)に基づくもので、環境やモデル版、フィルタ更新により変動し得る

出典: