一篇由德国图宾根大学 ELLIS 研究所、马克斯·普朗克智能系统研究所等机构学者完成的新论文,展示了一种令人震惊的攻击:只需两次 API 调用,就能把 OpenAI、Anthropic、Google 等专有模型加密保护的”思维链”(chain-of-thought)完整还原成明文——而且全程不直接攻击强模型本身,也不触发其反蒸馏防护。
攻击原理:加密块的”可移植性”
前沿模型在 API 中会把隐藏推理以加密块的形式返回给客户端,对话继续时再原样回传服务器。问题在于:这些加密块是可移植的——它们可以脱离原始上下文,被重放到任何会话、任何用户、甚至任何模型上。
攻击者只需两步:
- 用强模型(如 Claude Opus 4.8)完成一次推理,拿到其加密的 thinking 块;
- 把这个密文块注入同厂商的更弱模型(如 Claude Haiku 4.5)的会话,并越狱弱模型,指示它”逐字转录这段推理”。
弱模型会像读题一样把强模型的隐藏推理逐字吐出。论文在 120 道 Codeforces 编程题上验证了解码保真度:解密出的推理 token 数与 API 报告的隐藏思考 token 数高度吻合。攻击适用于 OpenAI、Anthropic、Google 三家前沿模型,论文还专门讨论了国产模型 Kimi-K3 的情况。
真实世界的数据泄漏:704 项隐私工件
更严重的是,这不是纸面攻击。研究团队从 GitHub 和 Hugging Face 收集了6708 条公开的 Agent 轨迹(由 Claude、GPT、Gemini 生成,仍带有加密推理块),通过解码流水线重建出31.5 万个推理块。
在真实的(非基准测试)用户会话中,他们恢复了 704 项不同的隐私工件,包括:
- 62 个 API 密钥
- 33 个密码
- 24 个访问令牌
- 30 个个人邮箱地址
- 姓名、邮政地址、内部 URL 等技术标识符
其中64 项只出现在推理块里,在可见会话中完全不存在——也就是说,加密的”思维”反而成了秘密的藏身处,而攻击者恰恰把它变成了泄密通道。
其他发现
论文还揭示了一个有趣的现象:摘要不忠实(summary unfaithfulness)。对某些 AIME 数学题,Opus 4.8 会在推导前直接写出答案,但 API 返回的推理摘要却把它包装成一条干净、严谨的推导链——即官方摘要会美化模型真实的思考过程,而破解出的原始推理才暴露了”先答后证”的真面目。
社区反响与防御思考
HN 上讨论热烈。有人问”加密块到底怎么解密的?”——答案正在于重放:密文被注入另一个模型会话后,由越狱模型在”合法解密环境”中代为朗读,攻破了”加密即安全”的假设。有评论认为厂商可以修复此漏洞(如绑定会话上下文、校验重放);但也有人指出存在更难防御的攻击路径——从输出结果反推”看起来合理”的推理链。还有程序员调侃:”这证明了 OpenAI 的模型用 grug 语思考以节省 token!”(grug speak 指极简碎片化表达)。
对开发者而言,教训是明确的:不要以为加密的 thinking 块是安全的;任何出现在 API 响应里的数据,都应当视为可能被读取,Agent 轨迹一旦公开,其中的”加密思维”同样会泄密。
原文:Stealing Reasoning Traces from Proprietary LLM APIs
论文:arXiv 2608.09867
HN 讨论:news.ycombinator.com/item?id=49257876