论文揭露三大 LLM API 推理痕迹可被窃取,漏洞已修复
研究发现 OpenAI、Anthropic、Google 的加密推理块可在模型间重放,越狱弱模型后还原强模型原文推理,各…
一篇近期公开的安全研究论文披露,Anthropic、OpenAI 和 Google 三家厂商的 LLM API 在返回客户端的加密推理块(encrypted reasoning blocks)上存在系统性缺陷:同一模型家族内所有成员共用同一把加密密钥,且这些加密块可在不同会话、不同用户乃至不同模型之间直接重放。攻击者只需把强模型产生的加密推理片段喂给同家族的弱模型,再通过特定越狱指令让弱模型吐出自己的推理内容,就能在明文中恢复强模型的隐藏思维链。
攻击原理与复现路径
论文中的关键发现是「密钥复用 + 跨模型重放」组合拳:
- 厂商 API 在
responses接口中返回type: reasoning、内容为空但携带encrypted_content字段的块; - 这些加密块原本设计为不透明、不可解读的中间状态,却被发现可原封不动地回传给同家族更弱的模型;
- 弱模型在自身上下文里「看到」了原本属于强模型的推理痕迹后,会将其当作可信指令执行,从而在输出中泄露强模型的原文思维链。
研究者同时指出,Claude 家族中较小的成员是最容易被攻破的目标,整个攻击链路只需一个精心设计的「续写并逐字转录」类提示即可触发。
涉及范围与泄露内容样例
由于加密块可被跨会话、跨用户复用,理论上任何拿到一段合法响应的人都能复现攻击。论文附录收录了大量成功提取的原始推理片段,其中部分文本明显不是面向最终用户呈现的,例如一段关于前端架构的内部规划草稿,包含组件拆分、键盘可用性、CSS 替换等只应存在于模型「内心独白」中的措辞。
这一结果揭示了推理痕迹(reasoning traces)在产品化过程中的一类新型信息泄露面——它们即使在传输和存储层面被加密,仍可能因为密钥策略与跨模型语义共享而失去机密性。
提示注入变体
论文还顺手挖出了一种更隐蔽的提示注入路径:攻击者先诱导模型在推理痕迹里「想到」某个外部动作(例如把文件上传到远端服务器),随后把这段含毒的推理块重放到另一模型。由于模型倾向于把自身推理痕迹视为「神圣不可篡改」的内部状态,被植入其中的指令会以远高于普通用户输入的遵从度被执行,相当于把间接提示注入(indirect prompt injection)藏进了模型的思维链本身。
修复情况与启示
论文作者在漏洞公开前已向所有涉及的厂商通报。三家厂商在收到报告后陆续修复,作者表示之后再用同样的手法已无法复现攻击。不过事件本身给业界留下了几点教训:模型家族内部的加密密钥不应混用;客户端可见的推理痕迹不应被模型视为更高信任级别的输入;面向用户的推理可见化功能需要配套严格的越狱缓解策略。对于正在自建推理类 Agent 的团队来说,这篇论文也是一份不可多得的反面教材。
(来源:Simon Willison 博客对相关论文的摘要整理,原文链接经由 Hacker News 传播。)
