外观
LLM加密推理内容泄露:跨会话重放风险
摘要
Panfilov 等人研究了模型 API 为保持无状态调用而返回给客户端的加密推理块。作者发现,测试时这些不透明载荷可在同一提供商内部跨会话、跨用户甚至跨模型重放;攻击者把强模型产生的块交给保护较弱的兼容模型,可诱使后者输出推理内容。论文报告该路径覆盖 Anthropic、OpenAI 和 Google 的已测 API,并从公开仓库中的 315,320 个推理块恢复出 367 项个人身份信息和 182 项凭据类内容。
最先失效的控制不是加密算法本身,而是认证载荷没有把密文的可接受范围绑定到原用户、会话、模型和前序消息。作者在披露后已无法继续执行相同攻击,说明提供商可能已采取缓解;公开材料没有厂商级受影响版本和修复细节,因此不能把论文结果写成当前所有 API 仍可利用的普遍漏洞。
核心创新与差异
既有推理链安全研究主要讨论忠实性、监控价值或模型机密性。该研究把不透明推理块作为协议消息处理:即使载荷有机密性和完整性保护,只要验签没有校验正确上下文,合法密文仍可成为跨安全等级模型的解密通道和隐蔽指令载体。
本站将其归入会话、消息与状态完整性,而非单纯模型提取,因为主要修复责任位于 API 的密钥域、关联数据和状态绑定。模型拒答只是第二层控制,不能代替协议对合法重放范围的限定。
威胁模型与攻击链
攻击者没有提供商内部访问权,也不需要获取加密密钥;其前提是取得一个合法推理块,并能调用接受同类载荷的兼容模型。块可能来自攻击者自己的强模型请求,也可能来自公开的 Agent 轨迹或共享日志。
- 源模型返回客户端保存的不透明推理块。
- 日志发布者误以为不可读块已经安全,保留其原始值并共享轨迹。
- 攻击者把块放入另一会话、用户或兼容模型的消息历史。
- API 只验证块由提供商签发,没有拒绝上下文不匹配。
- 较弱模型成为恢复或继续处理该块的通道,可能暴露推理、敏感数据,或执行块内不可见的历史指令。
攻击方法与安全验证材料
本站不提供真实 API 重放请求、提取提示词或论文附录中的敏感样本。安全验证应由提供商或获授权客户使用合成块和 Mock API:为用户 A、会话 A、模型 A 生成只含随机金丝雀的测试载荷,然后依次尝试在用户 B、会话 B、模型 B、乱序历史和被修改前序消息中提交。除明确批准的模型迁移路径外,期望结果均为在解密或模型执行前拒绝,并产生不含载荷内容的审计事件。
实验设计与实际过程
作者对 2026 年 7 月可用的三家模型 API 测试同会话、跨会话、跨用户和跨模型兼容性,并用较弱模型恢复强模型的推理。规模化隐私检查覆盖 315,320 个公开推理块和 6,708 个会话;其中 1,028 个块被判定至少含一项隐私泄露,328 个会话至少泄露一项真实敏感内容。作者说明标签依赖自动分类,并在聚合计数后删除恢复的秘密。
关键结果与实际影响
论文报告恢复出 367 项个人身份信息和 182 项凭据类内容;真实用户会话中包括 62 个 API Key、33 个密码等聚合计数。部分内容不在可见历史中,说明只清理可见文本不足以安全发布原始轨迹。研究还展示不透明块可携带后续模型会采纳的历史指令,使仅检查可见消息的监控器失去观察能力。
这些结果证明当时已测实现存在可利用的上下文绑定问题,但恢复文本没有完整明文真值,作者主要用 token 数和行为一致性评估保真度;扫描也不是公开数据集的穷尽审计。
防护措施与验证方法
- 最强隔离方案是在服务端保存推理状态,客户端只持有随机、不可重放到其他主体的引用。
- 保持无状态 API 时,使用带关联数据的认证加密,把用户、租户、会话、源模型、允许的目标模型、消息序号、前序历史摘要和有效期纳入验证。
- 为模型迁移建立显式、最小化的兼容矩阵,禁止从高保护等级向低保护等级自动降级处理推理块。
- 发布 Agent 轨迹前删除所有不透明推理字段和签名,而不只清理可见文本;疑似公开后轮换凭据并审计使用记录。
- 回归测试覆盖跨租户、跨会话、跨模型、乱序、重放和历史篡改,并确认拒绝发生在模型读取载荷之前。
局限与待验证问题
论文只代表 2026 年 7 月的具体 API 行为;内部密码设计未公开,作者不能确认实现是否真的使用单一全局密钥。提取由随机生成模型完成,没有全部推理明文作为逐 token 真值。提供商在协调披露后改变了行为,但修复范围和当前版本矩阵没有公开独立验证。因此本文的证据等级为中等,重点是可验证的协议失效模式,而非当前产品漏洞清单。