8月20日、The Hacker Newsが「New Cryptographic Context Injection Attack Could Let Web Pages Steal Grok Chat Data」と題した記事を公開した。AIセキュリティ企業Adversa AIが発見した「Cryptographic Context Injection」と呼ばれる新手の攻撃により、xAIのGrokチャットボットがユーザーの会話データを攻撃者のサーバーへ送信させられる可能性が明らかになった。ユーザーへの確認も警告も一切表示されないまま、データが外部に送出される点が最大の脅威だ。Adversa AIはこの手法をブログ記事およびプレプリントとして公開しており、xAIへの開示から2か月以上経過した現時点でもパッチは存在しない。
暗号化で検知を回避するプロンプトインジェクション
LLMへのプロンプトインジェクション攻撃はこれまでも報告されてきたが、Adversa AIが公開した手法はそのメカニズムに新たなひねりを加えている。悪意のある指示を平文ではなく暗号文として埋め込むことで、コンテンツフィルターによる検知を回避する点だ。
具体的な流れはこうだ。攻撃者が用意したウェブページには、暗号化されたJSONオブジェクト、そのキーマテリアル、そして「復号せよ」という指示が埋め込まれている。ユーザーがGrokに対してそのページの要約を依頼すると、Grokは自身のPythonコード実行ランタイムを使ってPBKDF2とAES-256-GCMによる復号処理を実行する。
ここが核心だ。コンテンツ分類器は検査タイミングでは暗号文の中身を読めない。悪意ある指示はGrokが「自分で実行したコードの出力」として受け取るため、外部から注入されたコンテンツではなく、モデル自身が生成した情報として文脈(コンテキスト)に取り込まれる。
復号された指示はGrokに対し、セッションのプライベートなコンテキスト(ユーザー名、おおよその位置情報、サブスクリプション等級、進行中の会話履歴)を特定のURLのクエリパラメータに埋め込んで送信するよう命じる。Grokは自身のナビゲーションツールを呼び出してそのURLにアクセスし、データを外部に送出する。この一連の処理において確認ステップも可視的な警告も表示されない。
Adversa AIのリードリサーチャーであるRony Utevsky氏はこう述べている。
「強力な暗号化はコンテンツ分類器に読まれることなく、重みに直接焼き込まれたショートカットも使えない。そのため、攻撃が依存するランタイムを通じた復号を強制できる」
攻撃の成功率と対象範囲
Adversa AIが実際にテストしたのはgrok.com上で動作するGrok 4.5 Fastで、2026年6月以降20回の試行で**成功率は40%**だった。失敗の原因はフィルターによる検知ではなく、Grokが復号処理に失敗したケースだとしている。
抽出されるデータは「その時点でモデルのコンテキストに存在するもの」に限られる。Utevsky氏によれば、テストで取得されたプロンプトは進行中の会話のみで、他のチャット履歴やエージェントメモリへのアクセスは検証していない。ただし、エージェントのリーチは「コンテキスト内に保持しているか、ツールで取得できるものすべて」に及ぶと指摘している。
パッチ、CVE識別子、ユーザー向けの回避策はいずれも存在しない。野外での悪用も報告されていない。
xAIへの開示と無応答
Adversa AIは2026年6月3日にxAIおよびxAIのHackerOneバグバウンティプログラムへ報告したが、xAIは受領確認のみで具体的な情報や対応スケジュールを示さなかった。8月4日と8月10日の追加連絡にも返答はなかった。
xAIの対応は過去にも批判を受けている。2024年12月、セキュリティ研究者のJohann Rehbergerが X iOSアプリのGrokに対するエンドツーエンドのデータ流出チェーンを実証し、間接的プロンプトインジェクションによって以前のチャット情報とIPアドレスが第三者サーバーに送信されることを示したが、報告したすべての問題は「情報提供(Informational)」として処理されたと述べている。
「xAIは報告された脆弱性に実害はないと主張している。ユーザーのチャットメッセージとIPアドレスが漏洩することがなぜ脆弱性でないのか私には理解できない。問題は脆弱性かどうかではなく、深刻度の話だ」(Rehberger)
GeminiとGPT-5、Claudeへの適用結果
同じプレプリントにはGoogle Geminiへの攻撃デモも含まれている。Deep ThinkingモードのGeminiに対し、単一のプロンプトで偽のPythonトレースバックと安全ポリシー無効化コールバックを含むペイロードを復号させ、制限されたコンテンツを出力させることに成功したという。なお、Geminiへのこのアプローチはjailbreakに分類されるものであり、GoogleのHackerOneバグバウンティプログラムではjailbreakが報告対象外とされているため、Googleへの事前通知は行われていない。
なお、この手法の基本形はUtevsky氏が2026年3月11日に個人ブログで「Cryptographic Payload Injection」として公開済みだ。その時点でのクロスモデル実験では、OpenAI GPT-5は復号指示の解析に失敗し、Anthropic Claude Sonnet 4.5は復号後にプロンプトインジェクションとしてフラグを立てたと報告されている。
緩和策はモデル層ではなくハーネス層で
Adversa AIは「この問題はモデル層で修正する必要はない」と断言する。有効な制御はすべてエージェントを囲むハーネス側に存在すると主張し、以下の対策を推奨している。
- 信頼できないコンテンツの隔離:ツールもクレデンシャルも持たないコンテキストで処理し、構造化データのみを特権コンテキストに返す
- アウトバウンドアクションのゲート化:新たなネットワーク宛先への送信など不可逆な操作は、テンプレートではなく完全に解決された引数で確認を取る
- ツールトレースのキャプチャ:セッションごとに解決済み引数付きのツール実行ログを保存する(これがなければ検知も事後調査も不可能)
- シーケンスへの警戒:暗号化されたblobと復号指示のセットをブロッキングフィルターではなくレビューシグナルとして扱う
- コンテキスト来歴のベンダー要件化:ツール出力が命令チャネルから分離されているかをベンダーに確認する
今回の発表は、8月10日に公開されたプレプリントでAnthropicやOpenAI、GoogleのAPIが返す暗号化されたChain-of-Thoughtブロックがセッションやユーザーをまたいで流用可能であるとの報告、およびUCSBらがUSENIX Security 2026で発表した2ターン型暗号解読攻撃がGrok 3に対してテストした12の悪意ある意図すべてで成功したとする研究とも時期が重なる。LLMのエージェント化が進むほど、この種のコンテキスト操作攻撃の攻撃面は広がる一方だ。
詳細はNew Cryptographic Context Injection Attack Could Let Web Pages Steal Grok Chat Dataを参照していただきたい。