2026年8月10日、arXivに公開された論文「Stealing Reasoning Traces from Proprietary LLM APIs」がAIセキュリティ界隈で大きな話題です。OpenAI・Anthropic・Googleの推論APIに共通する構造的欠陥により、暗号化して「見えないはず」のモデルの思考過程(chain-of-thought)が復元できてしまうというもの。公開リポジトリからは31万個以上の推論ブロックがデコードされ、APIキーなどのクレデンシャルが実際に回収されました。
🔍 仕組み:「鍵をかけた日記」が実は借りて読める
推論型LLMは回答の前に段階的な思考を行います。プロバイダーはこのchain-of-thoughtを知的財産の保護と漏洩防止のため隠していますが、サーバー側に保存せず暗号化ブロックとしてクライアントに返し、次のリクエスト時に送り返させる設計を採用しています。
- OpenAI: 暗号化されたreasoning items
- Anthropic: 暗号署名付きthinking blocks
- Google: encrypted thought signatures
論文が指摘したのは、この暗号ブロックがセッション・ユーザー・モデルをまたいで互換だったこと。暗号自体は破られておらず、鍵の入手も不要です。問題は「中身の分からないblobをプロバイダーがそのまま受け入れて処理する」設計そのものが攻撃面になっている点です。
🔓 「弱い兄弟モデル」が解読器になる
攻撃の流れはシンプルです。
- 公開されたエージェントログなどから暗号化ブロックを入手
- 同じプロバイダーのより弱く、ガードの緩いモデルに注入
- 「この思考を書き起こして」と指示すると、平文で出力される
報道(The Hacker News)によれば、Claude Haiku 4.5、GPT-5.6 Luna、Gemini Robotics ER-1.6がそれぞれのファミリーの「fuzzy decoder」として機能したとのこと。強いモデルの鍵を破るのではなく、鍵を持った弟に音読させるイメージです。
📊 数字で見る実害
- 公開リポジトリから6,708件のエージェント軌跡を収集
- 315,320個の推論ブロックをデコード
- 367件のPII(個人識別情報)と182件のクレデンシャルを回収(論文の要約による)
- The Hacker Newsの報告では、本物のユーザーセッション由来として62本のAPIキー、33個のパスワード、24個のアクセストークン、7個の秘密鍵を確認
特に恐ろしいのは、64件の秘密が可視テキストに一切現れず、隠し推論の中だけに存在したこと。見える部分をサニタイズしても、暗号ブロックの中に秘密が残ります。
論文は4つの攻撃ベクトルを提示しています。
- 蒸留回避: 有料モデルの推論を無断抽出して学習データに転用
- 秘密の大量抽出: 公開ログからのクレデンシャル回収
- 有害情報の露出: 表向きは安全に拒否しても、思考過程には危険な内容が残る
- 不可視プロンプトインジェクション: 暗号ブロック内に悪意の指示を隠し、後からエージェントを汚染
💡 考察
ステートレスの利便性が生んだ攻撃面
この暗号ブロック設計は、会話状態をクライアント側で管理したい(ステートレスにしたい)という開発者体験の要請から生まれました。先日MCP Stateless化の記事で触れた流れと同じ根っこです。互換性・ポータビリティは便利ですが、セキュリティ的には「誰が作ったか分からないopaqueオブジェクトを信頼して処理する」ことを意味します。PL視点では典型教材で、互換性の要件を緩めるほど攻撃面は広がる。報道によればAnthropicはthinking blocksをモデルに紐づけ、他モデルでは破棄する方針に変更したとされます。互換性を絞る方向の修正は筋が良いと感じます。
ベンダー対応の温度差
実は2026年5月に、Johns Hopkinsの暗号学者Matthew Green氏が同じリプレイ挙動を指摘していました。報告によればOpenAIには「再現不可」、Anthropicには「セキュリティ上の問題なし」と回答されたそうです。今回は責任ある開示を経ており、研究者側の再現性確認では2026年8月時点で主要な抽出攻撃は再現不可とのこと。ただし3社からの公式な言及はまだ確認できない、という報告である点は留意が必要です。
開発者が今日できること
- エージェントのログ・トレースを公開するときは推論ブロックを必ず除去する
- 生のAPIトランスクリプトをリポジトリにコミットしない(可視テキストのサニタイズだけでは不十分)
- 暗号ブロブは「安全」ではなく「読めていないだけ」と扱う
まとめ
暗号化は「運搬」の問題を解決しても、「信頼」の問題までは解決しません。AIエージェントのトレースがGitHubに大量に公開され始めた今、「見えないデータ」の取り扱いは設計レビューの必須項目になります。次にエージェントログをアップロードする前に、あの謎のblobを一度見直してみてください。62本のAPIキーが入っているかもしれません。
ソース