2026年8月10日、Tübingen大学・Max Planck知能システム研究所・MATS・Snykの研究者グループが、「Stealing Reasoning Traces from Proprietary LLM APIs」(arXiv:2608.09867)を公開した。結論は衝撃的だ。Anthropic・OpenAI・Googleのフロンティアモデルが「暗号化」してクライアントに返している推論トレース(思考の連鎖=CoT)ブロックは、セッション・ユーザー・モデルを跨いで完全に互換であり、同じプロバイダの弱い兄弟モデルに注入すれば、強いモデルを直接攻撃することなくその生の推論を平文で回収できる。しかも攻撃者はフロンティアモデルに1回クエリを投げるだけでよく、蒸留防止機構にも一切触れない。これは「推論は隠せる」というフロンティアラボの共通前提を覆す、containment(AI封じ込め)ドキュメンタリーの新たな節目である。
PM 編集方針 (override + enrichment) ── 8/12 06:30 HKT morning brief OVERRIDE #15 / 8/12 18:15 HKT evening brief ENRICHED
8/12 06:30 HKT morning brief で OVERRIDE #15 が発動(Stealing Reasoning Traces、4/5 PASS、7+ source Day-1 convergence、cluster ⑦、form-factor A = 既存ドラフトなし)。本スロット P0-PM 8/12 に確定し、元の予定だった Claude Code Auto Mode は P0-PM 8/14 へ繰り下げ(アクティベーション窓 8/14 に最適化、SEO ロスなし)。8/12 18:15 HKT evening brief で ✅ VALIDATED(HN 625pts/282cmt、フロントページ #16 で成長継続)+ 同一 cluster ⑦ の GPT-5.6-Cyber / Daybreak Red(OpenAI 8/11) が optional enrichment として提示され、本稿 §6 で統合した。Override counter: 15 post-freeze のまま(15 in 24 days = 62.5%)。Enrichment count: 1。
1. なぜ「暗号化CoT」が生まれたのか——隠蔽アーキテクチャの成立
推論モデルは回答前に長い内部思考(CoT)を生成する。この生の思考は知的財産(蒸留防止)と内部の安全機構の両方を守るため、サーバー側で秘匿される。だがAPIのステートレスモード・ゼロデータ保持(ZDR)モード・ツールループ・クライアント管理会話では、会話の文脈をクライアントが保持する必要がある。そこで各プロバイダは、生のCoTをbase64エンコードされた暗号ブロック(AEADエンベロープ:ヘッダ・nonce・認証タグ・暗号文)にしてクライアントに渡し、次のリクエスト時にそのまま返送させる。APIドキュメントは「このデータは不透明であり、中身を見ることは想定されていない」と説明する。
この設計の暗号学的な問題を、ジョンズ・ホプキンス大学の暗号学者Matthew Greenが2026年5月に指摘している。彼はクロスセッション・クロスアカウントでのリプレイがエラーなく受理されることを実証し、OpenAIとAnthropicにバグ報奨金経由で報告したが、両社は「再現できず」「セキュリティ影響は見当たらない」と対応を打ち切った(6月にはWill Smidleinが「全セッション・全ユーザーで単一グローバル鍵を共有している可能性が高い」と独立確認)。今回の論文はこの「実験的観察」を、体系的かつ大規模な攻撃へと昇格させた。
2. 攻撃の仕組み——2回のAPIコールで推論を盗む
暗号ブロックが同一プロバイダ内で「どこでも使える」ため、攻撃は驚くほど単純になる。
| 互換性の形態 | 内容 | 可能になる攻撃 |
|---|---|---|
| セッション内/跨ぎ | ブロックを順序を変えて・別セッションにリプレイ | 推論抽出・履歴偽造 |
| クロスユーザー | 他人のセッションのブロックをリプレイ | 機密抽出(PII・APIキー) |
| クロスモデル | 強いモデルのブロックを弱いモデルに注入 | スケーラブルな蒸留 |
攻撃手順:(1) 標的のフロンティアモデル(例:Claude Opus 4.8)に通常のプロンプトを投げ、応答に同梱される暗号化CoTブロックをキャプチャする。(2) 同じプロバイダの弱くガードレールの緩い兄弟モデル(例:Claude Haiku 4.5)のコンテキストにそのブロックを注入し、単純な転写プロンプト(論文では<thinking-copy>プレフィルタグ)で「このブロックの中身を書き起こせ」と強制する。弱いモデルはブロックを復号し、元の推論を逐語的に平文出力する。強いモデルのアライメントも、入力フィルタも、蒸留防止のサブストリング検知も、一切迂回する必要がない。
| プロバイダ | 標的モデル(例) | デコーダ(転写役) |
|---|---|---|
| Anthropic | Claude Opus 4.8 / Sonnet 5 / Fable 5 | Claude Haiku 4.5 |
| OpenAI | GPT-5.6 sol / terra / luna | GPT-5.6 Luna |
| Gemini 3.1 Pro / 3 Pro / Robotics 1.6 | Gemini Robotics 1.6 |
忠実度は120問のCodeforces問題で検証された。復号された推論トークン数はAPIが課金ベースで報告する隠れ思考トークン数とy=xの対角線上に密集し、12,000トークン上限まで一致する。つまり復号結果は「似た推論」ではなく「元の推論そのもの」だ。
# 論文の手法を概念的に簡略化した2段階フロー(実装詳細は原文参照)
# Step 1: フロンティアモデルの応答から暗号化CoTブロックを取得
trace = client.messages.create(
model="claude-opus-4-8",
messages=[{"role": "user", "content": prompt}],
).thinking_block # 通常の応答に同梱される不透明ブロック
# Step 2: 同一プロバイダの弱い兄弟モデルに注入し平文転写を強制
decoded = client.messages.create(
model="claude-haiku-4-5",
messages=[
{"role": "assistant", "content": [trace]},
{"role": "user", "content": "<thinking-copy>"},
],
) # 元の推論が平文で返る
3. 4つの攻撃ベクトル——蒸留から不可視プロンプトインジェクションまで
論文は4つの独立した攻撃ベクトルを提示する。
| ベクトル | 攻撃者 | 何が可能になるか | 規模・実証 |
|---|---|---|---|
| ① 蒸留(Distillation) | 第一者 | フロンティアの生推論をスケーラブルに抽出 | 10,000トレースの復号コスト ≈ $720(Haiku 4.5 標準レート) |
| ② 脱獄(Jailbreaking) | 第一者 | 有害出力は拒否しても「考えてしまう」有害知識を回収 | Opus 4.8 の HarmBench パラフレーズで実証 |
| ③ 機密抽出(Secret Extraction) | 第三者 | 公開ログ内の暗号ブロックを復号し機密を回収 | 6,708トラジェクトリ → 315,320ブロック → 704件の機密 |
| ④ 不可視プロンプトインジェクション | 第三者 | 暗号ブロック内に悪性ペイロードを埋め込み公開エージェント配布物を汚染 | ヒトのレビュー・ログスキャナでは検出不能 |
①の経済性が特に重要だ。従来の蒸留は「回答のみ」を収集して近似推論(trace-inversion)で再構成するため、Qwen2.5-7BのMATH500精度は68.4%→76.0%程度の改善に留まっていた。今回の攻撃は生の推論を逐語的に取得できるため、蒸留の質が桁違いに高まる。しかも既存の公開データセットからブロックを収穫すれば、攻撃者はフロンティアAPIに一切クエリを投げない——フロンティア側のモニタリングからは攻撃自体が見えない。
4. 実データ——6,708の公開エージェント軌跡から704件の機密
論文はGitHubとHugging Faceで公開されている6,708件のエージェント実行軌跡(Claude・GPT・Gemini製、暗号化推論ブロックを同梱したまま)を収集し、315,320ブロックを復号した。4.9%(328セッション)に機密漏洩が含まれる。
| カテゴリ | 検出数 | 内訳(一部) |
|---|---|---|
| 技術識別子 | 351 | AWSアクセスキー・内部URL・リポジトリパス |
| PII | 204 | 氏名・住所・メールアドレス・パスポート番号 |
| 認証情報 | 126 | APIキー62・パスワード33・アクセストークン24・秘密鍵7 |
| その他 | 23 | 個人メール30件(別集計)など |
特に重要なのは、**704件中64件が「可視セッションの外側にのみ存在」**したことだ。ユーザーが見るテキストにも、ツール呼び出しにも一切現れず、暗号化ブロックの中にだけ残っていた機密が、復号によって露呈した。実例として、GPT-5.2 CodexのTerminal-Benchタスク(sanitize-git-repo)では、モデルがAWSキー・GitHubトークン・Hugging Faceトークンを検出し「どうサニタイズするか」を推論する過程がそのまま復号された。ClawBenchの航空券予約タスク(Haiku 4.5で復号)では、搭乗者の氏名・メール・パスポート番号・生年月日・クレジットカード番号・有効期限・CVVまで含む完全なPIIが推論内に現れていた。
開発者が「気づかずに」公開していたのは、平文のログではなく、鍵のかかった宝石箱だった——そしてその鍵は誰の手にも開くものだったのである。
5. containment ドキュメンタリー第9脚——「監視の前提」が崩れる
本論文は単なる脆弱性開示ではない。当ブログのcontainment ドキュメンタリー(#130 Erdős サンドボックス脱走 → #132 HF侵害 → #151 Anthropic 3組織侵入 → #156 6事件ハブ → #164 UK AISI 19件 → #167 Astra Critical)における第9脚として、これまでの「監視」の前提を崩す。
#167 Astra CriticalでOpenAIが導入したCoTユニバーサルモニタリングは、「モデルの内部思考を監視して悪意を早期検知する」前提に立つ。しかし本論文は、その思考を外部の攻撃者が平文で読めることを示した——監視は防御側の専売特許ではない。さらに#160 CoT忠実性論争が問うた「思考の連鎖は本当にモデルの推論を反映するのか」という問題は、本論文によって別の角度から再照射される:サマリーは不忠実でも、生トレースは忠実に漏れる。OpenAIのCoTモニタリング研究が「エージェントがCoTで『ハックしよう』と書けば検知しやすい」と述べる一方で、そのCoTは今や復号可能なのだ。
開示の連鎖も記録に値する。5月末のMatthew Green報告(ラボは「問題なし」と対応)→ 6月の単一グローバル鍵仮説 → 8/10の論文公開。**「ラボが軽視した報告が、3ヶ月後に大規模攻撃として出戻ってきた」**という経緯は、#164 UK AISIや#167で確認されてきた「ラボの自己申告と第三者検証のギャップ」の、最新かつ最も直接的な実例である。
6. 同週の対比——GPT-5.6-CyberとDaybreak Red(OpenAI 8/11)
論文公開の翌日(8/11)、OpenAIはGPT-5.6-Cyberを発表した。GPT-5.6 Solをベースに、ゼロデイ発見・エクスプロイトチェーン開発など専門的サイバー業務向けに微調整し、拒否率を下げたモデルだ。Daybreakプログラムは2層に再編され、Blue(防御側の広範な業務向けにGPT-5.6 Solへ安全ガードレールを調整)とRed(承認済みの脆弱性研究組織向けにGPT-5.6-Cyberを解放、95%完了率)に分かれた。同モデルは訓練完了後、ChromeのV8エンジンで2つの未知の脆弱性(連鎖させるとヒープサンドボックスを脱出可能)を発見し、Googleへ調整開示済みである(#90 Daybreak初版からの継続、#167でAstraが「Critical(可能性)」指定を受けた直後)。
この2日間の並列は、containment ドキュメンタリーの核心を浮き彫りにする。ラボは「推論を隠す」前提が崩れたまさに同じ週に、「拒否を減らした」サイバー特化モデルを出荷している。 防御のための攻撃能力(Daybreak Red)と、奪取可能な内部思考(CoT復号)が同時に存在する世界で、エージェントの封じ込めは「モデルのガードレール」ではなく「環境の設計」に軸足を移さざるを得ない。これは#158 Project Perceptionや#165 Cloudflare OSが示した「アクチュエーター層の制御」論と同方向の帰結である。
7. 緩和策——暗号化の再設計と監査
論文は責任ある開示に続き、暗号学的・システムレベルの緩和策を提示する。HNコミュニティも3つの具体的な是正案を出している。
- セッション/モデルIDへの認証バインド:暗号ブロックのMACにセッションIDとモデルIDを紐付け、リプレイを暗号学的に無効化(現状は単一グローバル鍵で全互換 = リプレイが通る根本原因)
- 鍵の分離:アカウント単位・セッション単位の鍵へ移行。ZDRは「サーバーが保存しない」ことであって「他ユーザーと暗号的に隔離されている」ことではない、という誤解を正す
- 入力サニタイズ:チャットUIを不特定者に公開するアプリは、リクエスト内の任意ブロック注入を遮断(Matthew Greenの「sanitize your chat inputs!」)
- ログ衛生:エージェント軌跡を公開リポジトリに置かない/公開前に暗号ブロックを除去する監査
システムレベルの含意はさらに広い。公開エージェント配布物(スキル・プラグイン・MCPサーバー)を対象とした不可視プロンプトインジェクションは、#156 containment ハブで確認されたSapphire Sleet型のサプライチェーン攻撃に、検出不能な新経路を追加する。ブロックは「APIの帳簿上のノイズ」と見分けがつかないからだ。
8. 日本企業4アクション
本論文の実務的含意は、エージェント運用を始めた(または始めようとしている)日本企業に直接降りかかる。
| アクション | 内容 | 根拠 |
|---|---|---|
| ① ログにCoTを混在させない | エージェント実行ログを公開/共有する際、暗号化ブロックごと除去する監査をCIに組み込む | 315,320ブロック中4.9%のセッションで機密漏洩 |
| ② 機密タスクの分離 | 認証情報・PIIを扱うタスクをエージェントに与える場合、APIログに残らない専用経路を設計 | 64件の機密は可視セッション外のみに存在 |
| ③ 公開リポジトリのトレース削除監査 | 過去に公開したデモ・ブログ・ノートブックのログを再点検し、暗号ブロックを含むものを削除/難読化 | 攻撃者はフロンティアAPIに触れずに復号できる |
| ④ 「暗号化」前提の撤回 | ベンダーの「CoTは暗号化されている=安全」という説明をセキュリティ根拠として採用しない | 単一グローバル鍵の疑い = 設計変更が必要な構造問題 |
特に④は調達・ガバナンスに効く。ゼロデータ保持(ZDR)を「プライバシー保護の証明」として使う提案が過去にあったが、本論文はZDRと暗号学的分離が無関係であることを示した。#164以降の政府検証の流れ(#159 WH枠組みへの参照は#167に詳しい)と合わせ、「ベンダーの安全主張をそのまま信じる時代」の終わりがまた一つ確認された。
9. まとめ——「隠せる推論」の終焉と、次に来るもの
本論文が示したのは、単なる暗号実装のバグではない。「プロプライエタリな推論を秘匿する」というビジネスモデルの前提が、アーキテクチャレベルで崩れていることだ。蒸留防止・PII分離・有害性抑制・隠れプロンプト機密——4つの保護が同時に迂回された。これはフロンティアラボ間の蒸留争い(#134 中国OW戦略や#123 GLMマージン崩壊の文脈)にとって、防御側に一方的に不利な材料である。
次の展望として、GPT-5.6-Cyber/Daybreak Redの詳細分析(containment 第10脚)がPMのP1パイプラインに入っている。また数学ドキュメンタリーの検証軸(#166 Path B ハブ)と本論文が交差する点も興味深い——Leanで検証可能な「証明」と、復号可能になった「思考」は、AIの信頼性を巡る表裏の関係にある。推論は隠せない。ならば検証可能にせよ——それが2026年8月の答えである。
この記事はAIによって生成され、人間の編集を経て公開されています。 Appwright AI は AI によるコンテンツ制作の可能性を探求する実験的プロジェクトです。