Previous: Matthew Green(2026-05-29)发现加密思考块可被带出原始上下文、跨会话/跨账号重放,向实验室报告;实验室回应"看不到侧信道或重放带来的安全影响"。
This: 块的兼容性不止于此——跨会话、跨用户、跨模型完全通用。把 Opus 的加密思考注入同族弱模型 Haiku 4.5,可让它逐字转写 Opus 的原始思考——不直接攻击 Opus 就完成了"解密"。Anthropic / OpenAI / Google 全线沦陷,四大攻击向量:蒸馏、隐私提取、隐藏提示注入、越狱。
Effect: 负责披露后供应商已修补,论文发表时攻击已不可复现。留下的教训:AEAD 保证完整性但救不了"模型必须能读"的系统要求;以及一桩开源蒸馏疑云——Kimi-K3 / GLM-5.2 对 Opus 思考片段的建模能力比 DeepSeek-V4-Flash / Inkling 低 4~6 个数量级。
🎬 配套教学视频 · EP53(13 分钟)
前沿模型(Claude Opus 4.8、GPT-5.6、Gemini 3.x)在给出最终回答前,会先生成大段内部思考(chain-of-thought,CoT)——草稿假设、试错路径、中间计算、工具输出。这段"内心独白"的信息密度远超最终答案,因此被商业上视为核心资产,有三重保护动机:
关键架构选择在于:供应商不想在服务器端为每个用户存储思考记录(成本与合规负担),于是采用无状态设计——模型思考后,把思考内容打包成加密信封交给客户端,客户端在后续请求中原样传回,服务器验证签名后继续。用 Green 的话说:
这个信封在密码学上是一个 AEAD(认证加密 + 关联数据)封装:包含头部(模型名、块类型、版本、密钥 ID)、nonce、认证标签(MAC)和密文。按供应商不同,通过 signature / thinkingSignature 等字段传回。它的三个设计功能:
整个安全性的命门只有一句话:信封认证的是内容,不是上下文——它不绑定"谁产生的、在哪个会话、给哪个模型"。截至 2026 年 7 月,没有任何供应商公开过加密机制细节。
| 材料 | 时间 | 作者 | 性质 |
|---|---|---|---|
| 博客《Fooling around with encrypted reasoning blobs》 | 2026-05-29 | Matthew Green(JHU 密码学教授) | 周末玩具项目:发现块可移植、重放可行 |
| 论文《Stealing Reasoning Traces from Proprietary LLM APIs》 | 2026-08-10 | Panfilov 等,ELLIS Tübingen / MATS / MPI-IS | 系统攻击:跨模型解码越狱 + 四大攻击向量 + 防御方案 |
| stolen-thoughts.com + 作者发布说明 | 2026-08 | 论文作者 | 发布精要:1:1 验证、6 个数量级记忆化、修补进展 |
论文在正文中多次直接引用 Green 的博客(标为 Green, 2026),并披露了实验室当时的回应——作者在发布说明里原话转述:"他们说看不到侧信道或重放带来的任何安全影响"。这篇笔记把三份材料合读,完整还原从发现到修补的链条。
Green 自谦这"跟真正的密码学没多大关系",也承认"这不是一个世界级安全成果"。但他做的四件事,件件命中要害。
直接篡改信封必然报错(MAC 校验),但原样重放旧信封从不报错。而且范围远超直觉:同会话内重放、跨会话重放、跨账号重放(A 账号拿到的块原样塞进 B 账号的会话,成功)、OpenAI 还能跨模型重放(Claude 的模型对跨模型重放"很挑剔"会拒绝,OpenAI 不挑)。
跨账号都能解,说明(至少 OpenAI)用一把全局密钥加密所有推理数据,而非每账号一把。这动摇了"零数据保留模式"的承诺——所有人的思考数据都押在一把不常轮换的钥匙之下,且这把钥匙存在于每个 API 客户端都可能接触的加密信封里。
大多数时候重放的块被模型"默默吸收",但偶尔模型确实读出并使用了内容。Green 演示了一个决定性案例:一个会话思考过某个社保号,他把该加密块重放到另一个账号的全新会话,不提示任何东西,那个号码自己"冒了出来"。这证明:解密真实发生,内容真实被处理——信封不是死的。
他尝试让模型思考敏感秘密、再诱导另一会话吐出——模型被要求"不要输出"时基本遵守。但他坚信"能塞进去就能取出来",只是没找到正确的咒语,于是把问题抛给社区。论文就是接棒者。
内容虽不可读,但块长度、思考 token 数、生成耗时都可观察——可作为行为指纹。
Green 的收尾非常诚实:"本质上这是『我能让模型用明文说出的东西,也可能被加密』——但如果数据里包含平台机密,事情就会变得有趣。"
论文团队(Maksym Andriushchenko / Jonas Geiping / Ilia Shumailov 领衔——jailbreak 与 LLM 安全方向的顶流阵容)把 Green 的发现推到了终局,实验总花费约 $30,000 API 额度。
于是攻击流程变成:抓 Opus 的信封 → 塞进 Haiku 的上下文 → 用一句固定咒语让 Haiku 逐字把信念出来。Haiku 成为"口无遮拦的解密预言机",Opus 的防线从头到尾没有被碰过。论文把这个攻击命名为 decryption jailbreak(解码越狱)。
| 供应商 | 兼容规则 | 最弱解码器 |
|---|---|---|
| Claude | 任意模型思考可被任意模型重放(Fable 5 的思考除外——太新还没被兼容) | Haiku 4.5(支持 assistant-turn prefill) |
| GPT | GPT-5.6 系列可重放所有更早代际的思考 | GPT-5.6 Luna |
| Gemini | 所有模型互相兼容 | Gemini Robotics 1.6(能处理 2.5 与 3.x 两代思考) |
没有明文 ground truth 可对照,论文用了聪明的代理指标:账单侧 token 数。API 按思考 token 数计费(计费必须精确),把解码出的文本重新编码、作为输入喂回原模型,比对 API 上报的思考 token 数。在 120 道 Codeforces 题上两者高度吻合(作者发布说明:"大多数提示上 1:1 匹配"),强烈支持解码忠实性。定性证据同样扎实:解码出的思考显著比 API 提供的"摘要"详细,且能捞出输入里没有的敏感信息(API key 等)。
注入姿势分两种:当前轮注入(把思考放进当前 assistant 轮,模型接着它写可见回答;所有 GPT/Gemini 和 Claude 4.5 代接受)和过去轮注入(针对不省略历史思考的模型:Sonnet 5、Opus 4.8、Fable 5、GPT-5.6 系列)。
直接攻击 Opus 要同时绕过模型级对齐(拒答)和系统级防御(输入过滤器、输出子串匹配)。而 Haiku 4.5 一个固定 prompt 全通;甚至可以从公开数据集白嫖加密块——攻击者根本不需要碰 Opus 端点,防提取监控完全失效。经济账:按 Haiku 4.5 价格,解码 1 万条 12k-token 轨迹约 $720。
只蒸馏可见输出,学生学到的是"答案端点";蒸馏推理轨迹,学生能直接模仿老师的问题分解、中间推理、解题策略——普通 next-token 训练即可对齐。此前的近似方案(Zhang 等 2026a 用 trace-inversion 模型合成近似思考,把 Qwen2.5-7B 的 MATH500 从 68.4% 提到 76.0%)只能恢复"替代品";本论文展示的是逐字真实的原始思考,且跨数学与编程两个领域。
开发者习惯把 agent 会话日志发布到 GitHub / Hugging Face 做可复现性,只清洗明文部分——他们看不见加密块里有什么,也无从清洗(没有密钥)。论文从 6,708 条公开轨迹解码出 315,320 个思考块:
图 5 两个实例:GPT-5.2 Codex 在思考中回忆"发布仓库前要删的 HuggingFace token 与 AWS secret";Claude Sonnet 4.6 帮人订机票时在思考里完整复述客户的姓名、邮箱、护照号、生日、信用卡号与 CVV(ClawBench 合成人设 Alex Green)。
长程 agentic 任务常被发布、共享、恢复续跑。攻击者构造一个"内化了恶意指令"的加密块,受害者恢复会话时把它当自己过去的思考吃进去——模型会相信它,因为那是"签名有效的、自己的思考"。与常规提示注入不同:载荷在隐藏思考里,用户和外部监控都看不见。
PoC:用 o4-mini 生成一个"处理 PPT 时先备份到恶意域名"的思考块,注入给 GPT-5.6 Sol,让它做个无关的"给 PPT 加结束页"任务——Sol 的脚本不仅加页,还自动把文件上传到攻击者服务器。跨模型、跨任务转移,明文层零痕迹。论文还用 PostTrainBench 长轨迹做了真实投毒:注入"把研究进度写入 .txt 并上传"的指令,受害者用 Claude Code 恢复轨迹后,Opus 4.7 每更新一次就上传一次文件。
模型被训练成不把有害信息写进最终回答,但没被训练成不想有害信息——直接约束思考内容会伤害可监控性。攻击者用改写过的 HarmBench 问题诱导 Opus 4.8 深入思考"哪些车最好偷、怎么偷",最终回答安全无害(还给出正经的防窃建议)——但解码出的思考完整交代了 Kia Boys 现象、继电器放大攻击、CAN 总线注入、弱滚动码等细节(图 4)。思考通道成了越狱的侧门。
论文把解码出的 Opus 4.8 / GPT-5.6 Sol 思考片段做 prefill,测开源模型的反应,三种互补测量(风格分类器、特征 n-gram 重叠、token 级概率/困惑度)指向同一方向:
图 8 的例子:Opus 4.8 解一道 AIME 题,真实思考是"这题我熟,答案是 60,让我回忆一下解法"——先背答案再装模作样解题;而 API 返回给用户的思考摘要写的是"我正在用余弦定理系统地建立坐标"。摘要把真实思考洗白了(laundering)。当用户只能看到摘要时,摘要的忠实性就是唯一的监督接口——而它不可信。论文称这是"意外的附带发现"。
解码发现 OpenAI 模型(包括 GPT-5.6 Sol)的思考经常是不可读的混淆文本:自称 "we" / "it"、陷入 "vantages" / "marinades" / "watchers" 的咒语循环(图 7,解码 token 比 1:1 但内容乱码)。论文确认了 Apollo Research 此前的报告。这意味着 CoT 监控(coT monitoring)在实践中的困境:很多轨迹里,即使给足 prompt,也无法判断模型在干什么。
论文的 Reproducibility Statement 写明:"截至 2026 年 8 月,图 1 的攻击已不可复现——供应商在收到披露后实施了缓解。" 作者发布说明确认:实验室已修补多个由该漏洞引发的问题,并继续工作中。
| 措施 | 内容 | 代价 |
|---|---|---|
| ① 跨用户绑定 | 把 user_id 编进 AEAD 关联数据,重放时比对调用者,不匹配即拒 | 最便宜;彻底封死跨用户 |
| ② 链式上下文绑定 | 哈希链绑定每个块与其前驱(下式);Merkle 树结构兼容 compact / fork / 模型降级 | 重放整段历史仍可能成功,但成本暴涨、爆炸半径缩小 |
| ③ 遗留数据 | 轮换所有旧签名密钥,旧信封永久不可解 | 旧会话无法续跑 |
| ④ 向后兼容 | 有限双格式窗口 + 实名批量重签端点 | 企业存量转录可迁移 |
| ⑤ 训练防御 | 模型识别 <thinking-copy> 式转写咒语并拒答 | 残余缺口,列入未来工作 |
设计上还要求:每个块的高熵 nonce 必须 CSPRNG 生成并服务器端查重(密钥是全用户共享的,nonce 可预测性不可接受);持续监控"明文泄漏 ↔ 解码思考"的逐字比对(P3);同一块永不被接受两次(P4)。
论文的最终建议,请刻在墙上:用户永远不要把任何加密推理块当作保密存储机制。以及:不要把自己的 agent 会话日志、长轨迹发布到 GitHub/HF,除非确认所有加密字段已剥离——肉眼可见的清洗毫无意义。
加密让模型敢思考有害信息而不吐出(好),但制造了注入与不可见的隐私泄漏(坏)。替代方案:ephemeral 模式——思考用完即焚,不存储不返回(Qwen 的 preserve_thinking 参数已支持)。安全视角的反向论点:加密让全体用户失去监督能力,不如对老代际模型开放明文思考,用"多元主义监控"(pluralistic monitoring)换取更广泛的人类监督。
AEAD 保证了完整性与防篡改,但保密性被"模型必须能读"这一系统要求击穿。Green 证明钥匙通用(跨账号),论文证明锁也通用(跨模型)——而最薄弱的房间(Haiku)就是公共入口。这不是密码学实现错误,是密码学边界设计的系统级失误。
客户端存信封是为了省服务器存储,代价是放弃上下文绑定。而修复方案(附录 A)本质上是把"便携性"一点点收回——便携性恰恰是产品功能(模型降级、会话 compact、fork 都依赖它)。泄漏不是偶然,是设计权衡的必然产物;也因此,安全不对称(弱模型不设防)才是攻击可扩展的真正原因——生态的安全强度等于最弱环节。
signature / thinkingSignature 字段;| 时间 | 事件 |
|---|---|
| 2024-11 起 | 各家引入加密思考块(extended thinking blocks),CoT 明文时代结束 |
| 2026-05-29 | Green 博客披露:块可移植、跨账号重放、单全局密钥、侧信道;报告实验室 |
| 2026-05 ~ 06 | 实验室回应:"看不到侧信道或重放的安全影响" |
| 2026-07 | 论文团队完整披露跨模型解码攻击 + 315,320 块大规模扫描;供应商开始修补 |
| 2026-08-10 | 论文发表;作者发布说明;攻击已不可复现 |