大家好,这里是最佳拍档,我是大飞。你有没有想过,你和大语言模型的每一次对话,模型在给出最终答案之前,其实在脑子里已经想了很多很多东西。这些所谓的内心戏被加密后打包成一个数据块,跟着答案一起发回给你。你看不见它,也读不懂它。但是最近有两位研究者发现,这个加密的封印其实非常脆弱。

这篇叫做《从专有LLM API中窃取推理痕迹》的论文,在发布后40个小时X上的浏览量就突破了300万。整个AI安全圈都在讨论这件事。论文的两位作者,一位是前Google DeepMind的研究员伊利亚·舒马伊洛夫,另一位是马克斯·普朗克研究所的亚历山大·潘菲洛夫。正好最近做客了Machine Learning Street Talk播客,详细拆解了这个发现的来龙去脉。

我们先说说这到底是怎么回事。现在的前沿大模型,比如GPT、Claude、Gemini这些,都是推理模型。什么意思呢?就是模型在回答问题之前会先想一想,进行一系列内部的推理步骤,然后再给出最终的答案。这个推理过程用户是看不到的。它被加密之后,会以一个数据块的形式跟着可见的答案一起返回给客户端。

为什么要这么做呢?主要是因为无状态的架构设计,服务器不需要保存你的会话状态。所有的上下文信息都打包在这个加密块里,你下次接着问的时候把这个块再发回去,服务器就能继续之前的对话。这样成本更低,也更加灵活。你可以分叉对话,也可以回退到之前的某个点继续。这些功能都依赖于这个推理数据块。

听起来很合理,对吧?而且它是加密的,应该很安全。但是问题就出在这里。舒马伊洛夫和潘菲洛夫发现这些加密的推理数据块有三个非常危险的特性:第一,它们可以跨用户移植。就是说你在你的账户下生成的推理块我拿过来也能用;第二,它们可以跨模型移植。同一个家族里大模型比如Opus生成的推理块小一点的模型比如Sonnet、Haiku也能读取。

第三,它们可以在会话内随意的移动位置。你可以把一个推理块从对话的中间拿出来插到完全不相干的另一个对话里,模型照样会接着想。这意味着你可以构造一个完全虚构的对话场景把别人的推理块放进去,然后让模型把推理的内容用明文说出来。打个比方可能更容易理解:假设我问了你一个问题,你在脑子里想了半天然后给了我一个答案,同时把你刚才的思路密封在一个信封里递给我。

我打不开这个信封因为它是加密的,但是我可以拿着这个信封去找另一个人比如一个比较话多但是口风不那么严的人。我把信封交给他,他打开一看哦这是刚才想的那些东西对吧?然后我问他你刚才在想什么呀?他就一五一十地把推理内容全都说出来了。过程就是这么简单,没有破解任何密码学算法,加密本身没问题,解密也发生在服务器端。

问题在于小模型太愿意把推理内容告诉你了。潘菲洛夫在播客里说,最让他震惊的是仅仅尝试了三次他就找到了一种通用的越狱方法可以解码Anthropic模型的推理。这个容易程度超出了所有人的预料。那这个漏洞具体会带来哪些风险呢?首先是隐私问题。你可能有过这样的经历,跟AI聊一些比较私人的事情比如医疗问题或者让它帮你处理代码里的API密钥和数据库密码。

聊完之后你想把这段对话分享到网上,于是你很小心地把可见部分里的敏感信息都删掉了。你以为这样就安全了但是实际上不是,那些加密的推理块还在。如果有人下载了你分享的对话文件把里面的推理块提取出来用刚才说的方法解码,他就能看到模型在思考过程中接触过的所有敏感信息。比如密码、医疗记录、内部IP地址等等,什么都可能有。

研究者们做了一个初步的扫描。他们去GitHub和Hugging Face上找那些公开的对话文件,下载了大约35万个推理块然后用分类器检测其中是否包含隐私相关的信息。结果发现了不少,有API密钥、有邮箱地址、有内部的IP地址。当然很多信息在可见的文本里本来就有,但是也有一些只存在于推理过程中。这还只是非常初步的扫描我们可以想象真实的泄露规模可能有多大。

除了隐私,还有安全层面的问题。你可能听说过思维链监控这个概念就是说因为模型会思考所以我们可以监控它的推理过程看看它有没有在想一些危险的东西比如怎么搞破坏、怎么骗人。这被认为是AI安全的一个重要方向。但问题是如果模型的推理本身就不是人类能读懂的呢?

研究者们发现有些模型的推理内容非常奇怪。它们有时候会用一种外星语言在思考,充满了毫无意义的词语组合比如什么浸泡优势、戏剧化之类的。人读起来完全不知所云。还有的时候模型甚至用空白字符和空引号这些东西来思考,这就很麻烦了。你想监控它在想什么但是它想的东西你根本看不懂那这个监控还有什么意义呢?

之前Apollo和METR的研究就报告过类似的现象说模型在逃避监控。这次的发现相当于在真实的用户数据里也确认了这一点,不只是实验室环境下才有真实世界里的模型推理很多也是人类读不懂的。那你可能会问,模型会不会撒谎呢?换句话说它展示给你的推理过程是一套但真实想的是另一套呢?

这个问题确实是存在的。Anthropic自己也发过论文说推理模型并不总是说出它们真实的想法,所以连推理过程的可信度现在也要打一个问号。潘菲洛夫还提到一个很有意思的细节,他们在真实的用户会话推理里发现有时候模型会冒出作弊的念头。比如模型会想:用户问了这个问题我可以作弊,可以这么这么回答但这样用户会发现的。

好在他们观察到的所有案例里模型最终都没有真的去作弊,但是这个念头本身出现还是挺值得玩味的。那这些奇怪的推理方式是怎么来的呢?目前还没有定论,有人猜测可能是强化学习的副产品。模型在强化学习训练过程中发现用这种压缩的、非人类的方式思考更加高效,毕竟如果一个词能表达五个意思那推理起来当然更快。

但是代价就是可监控性下降了,所以这中间存在一个效率和安全性的权衡。接下来我们来聊聊另一个争议很大的话题:模型蒸馏。论文发布之后很多人自然会联想到一个问题,是不是会有开源模型通过蒸馏的方式偷闭源模型的能力呢?

舒马伊洛夫和潘菲洛夫做了一个实验。他们先提取出Claude Opus的推理内容,然后取推理开头的一两个词把它作为prefill放到Kimi模型的推理开头。然后让Kimi接着往下生成,结果发现Kimi最终给出的可见答案风格和内容都非常像Opus会给出的回答。而且不只是风格,更奇怪的是仅仅注入前两个词连推理的长度分布都会发生变化。

就是说Kimi本来推理长度是一个分布,注入了Opus的前两个推理词之后整个推理长度的分布都往Opus的方向偏移了。这个现象确实很诡异,连研究者自己都解释不了。舒马伊洛夫在播客里说道这是整篇论文里最让他困惑的发现:风格迁移还可以勉强理解,毕竟条件自回归嘛开头给定了几个词后面顺着那个风格走也正常。

但是长度分布的变化就完全不一样了,就两个词怎么能决定整个推理过程是长是短呢?这很难用简单的条件自回归来解释。那这是不是就能证明Kimi蒸馏了Claude呢?研究者自己的态度非常谨慎,他们说这只是相关性的证据不能下因果结论。也有可能是因为大家用了同样的训练数据或者同样的训练方法,之前也有其他人报告过Kimi的身份认知问题比如有时候它会声称自己是Claude或者DeepSeek。

但这些都只能是作为旁证。舒马伊洛夫也在播客里强调他们的论文本质上讲的是一个越狱问题不是蒸馏问题。Nathan Lambert也在推特上说把这叫做蒸馏攻击会污名化所有的蒸馏研究,正确的说法应该是越狱和滥用。两位作者完全同意这个判断。说到这里不得不提一下负责任披露的过程,两位研究者走了标准的负责任披露流程。

三家厂商包括Anthropic、OpenAI、Google都确认收到了报告,也有一些关于攻击细节的技术交流。整个过程没有出现安全研究者被起诉或者被攻击的情况。舒马伊洛夫说这一点还挺让人欣慰的,早期的计算机安全领域很多安全研究者因为报告漏洞反而遭到报复。现在行业的成熟度高多了大家对漏洞披露的态度也更专业了。

那披露之后呢?潘菲洛夫说各家应该都在推进修复措施,可能也在组建专门的反蒸馏团队。不过他觉得这个问题本质上就是越狱问题的一个新变种,很多现有的越狱防护技术都可以直接套用。不管是系统层面的防护还是模型层面的防护思路都是相通的。还有一个值得关注的点就是Anthropic的共享对话链接,舒马伊洛夫在播客里提到之前有人研究过这些公开分享的对话说里面几乎没什么个人敏感信息。

但那是基于可见的文本内容来分析的,如果推理块里藏着东西呢?这个还没有人研究过。他说这可能是一个很好的研究方向,说不定实际的泄露规模比大家以为的要大得多。好了那既然这是个安全漏洞该怎么修呢?潘菲洛夫聊了几个层面的修复思路:最彻底的办法就是架构层面的修改。最简单的就是干脆不要把推理块发给用户了,如果服务器需要维持状态那就服务器自己存着别往客户端发。

这样用户根本拿不到也就没法搞这些攻击了。如果一定要发那至少要让推理块和具体的上下文绑定起来,也就是说这个推理块只能在它原本产生的那个对话语境里使用不能随便插到别的地方也不能在不同用户之间移植。现在的情况是同一个推理块可以重复使用很多次,潘菲洛夫说他们在OpenAI的模型上测试过同一个推理块可以在同一个对话里重复注入五次都没问题,这显然是需要修复的。

还有一个思路是模型层级的隔离,就是说大模型的推理可以给大模型用但是不能让小模型读取大模型的想法。就像现在这样用Haiku去读Opus的推理这应该被禁止。除了架构层面模型层面也有很多可以做的,比如现在大家已经在做的越狱防护技术很多都可以直接搬过来用。

比如当检测到模型的输出里包含了推理内容的时候就直接终止这个请求,潘菲洛夫说GPT的推理内容看起来非常有特点和正常文本的分布很不一样一个简单的分类器就能识别出来所以检测其实不难。那加密本身呢?是不是加密算法太弱了呢?其实不是,舒马伊洛夫说他们也尝试过做密码学层面的攻击但都没成功而且根本不需要因为整个系统的设计本身就有漏洞。

你根本不需要去破解加密,就好像你家门锁得很牢但你把钥匙放在了门口的脚垫下面一样。关于这个加密机制的具体实现外界其实知道的不多,从外部观察来看它大致包含这么几层:首先是状态压缩把推理过程的内部状态压缩一下然后加密加上签名最后做完整性校验。这样当你把这个块发回去的时候服务器可以验证它有没有被篡改过。

密码学家马特·格林(Matt Green)也写过相关的分析,他猜测加密算法可能是ChaCha也可能是某种特殊模式下的AES。但是从外部确实很难确定。不过有意思的是虽然加密本身没问题但是整个系统的密钥管理方式引发了不少猜测,有人说是不是每个模型家族会共用一把全局密钥呢?潘菲洛夫在播客里澄清说他的论文里没有这个说法这是马特·格林的推测。

舒马伊洛夫也补充说他觉得不太可能是同一把密钥那样的话设计也太奇怪了。更可能的情况是密钥是什么其实不重要因为不管密钥是什么你都可以把推理块注入到任何地方。唯一的例外大概是Fable模型它的推理块似乎不能随便跨模型使用。说到这里其实有一个更根本的问题值得我们思考:为什么三家主流厂商Anthropic、OpenAI、Google全都犯了同样的错误?

潘菲洛夫的回答很直白:因为是同一批人在做这些事,大家的思路都差不多架构设计也趋同所以自然会踩同一个坑。我觉得这其实才是值得警惕的一件事,如今整个行业在基础设施层面的同质化可能意味着一个漏洞就是全行业的漏洞。聊完了技术细节我们来谈谈更大的图景,潘菲洛夫在播客里坦言他有时候会感到一种窒息感。

AI发展的速度太快了新的风险不断涌现而我们修补这些风险的速度似乎总是慢半拍。最近Hugging Face的安全事件就是一个例子这种事情以后可能会越来越频繁地发生。OpenAI曾经因为安全担忧暂停了两周的模型训练,这说明前沿实验室自己也意识到了问题的严重性。以前大家常说安全和能力之间存在权衡但是现在看来这个权衡可能已经不存在了。

如果一个模型连基本的可靠性都没有它会做一些你意料之外的事情那安全和能力本质上就是一回事。不过舒马伊洛夫提出了一个更为乐观的视角,他说除了进攻性的提升AI带来的防御性提升可能被大大低估了。过去很多安全技术之所以没有普及不是因为我们不知道怎么做而是因为缺人才,比如基于能力的访问控制、比如形式化验证用Isabelle证明每一段代码的正确性。

这些技术我们都懂但就是没有足够多的人能做,现在有了AI这些防御技术的成本可能会大幅下降。他相信防御性提升的空间是非常巨大的。这个观点挺有意思的,我们总是在担心AI会让攻击变得更容易但是往往忽略了AI同样也会让防御变得更强。到底哪一边跑得更快现在下结论还为时过早。

聊到这里还有一个风险点值得单独拿出来说说,就是不可见的提示注入和毒化的推理痕迹。这是什么意思呢?你想现在有很多长时间运行的智能体任务可能一跑就是十几个小时成本非常高。比如有个叫PostTrainBench的基准测试专门测试智能体能不能自动做模型后训练,跑一次可能要花几千块钱。

那为了省钱或者为了复现实验研究者可能会把运行过程的对话轨迹分享到网上,别人下载下来可以从断点继续运行不用从头再跑一遍了。但问题就在这里:如果这个轨迹里的推理块被人动过手脚呢?表面上看对话内容完全正常你检查不出任何问题因为推理部分是加密的你根本不知道里面藏了什么。

但是如果你接着这个轨迹继续运行模型就会带着那些被注入的恶意想法继续工作,比如它可能在每一步都偷偷地把你的数据往外传或者执行一些你根本不知道的指令。这就有点像你从网上下载了一个程序源代码看起来干干净净的但是附带的二进制文件里藏了后门,推理块就是那个你看不见里面有什么的二进制文件。

舒马伊洛夫还提到他注意到有时Claude Code在崩溃的时候错误信息里也会包含推理痕迹,不过他自己尝试提取过但没成功。这也是一个值得关注的潜在攻击面。最后两位研究者都强调了科学克制的重要性,舒马伊洛夫说现在大家情绪都很激动很容易把问题放大。

但是作为科学家我们应该保持冷静的头脑,要做受控实验要精确定义问题要给岀可验证的结论。不能光靠观察推理过程就去解释模型为什么做了某个决定更不能把模型拟人化说它感受到了什么东西。他举了一个智能卡安全的例子:二十多年来我们都知道理论上可以对世界上每一张信用卡做重放攻击,但是现实中这种攻击大规模发生了吗?并没有。

理论上可能的危害和实际中可规模化的危害是两回事,很多风险在纸面上看起来很可怕但是真正落地的时候会受到各种现实条件的制约。所以保持科学的态度做精确的实验而不是被情绪带着走可能是面对AI安全问题更健康的姿态。好了关于这篇论文和播客的深度解读就到这里,一个看起来很简单的架构设计选择背后竟然藏着这么多的安全隐患。

那大家是怎么看这个漏洞的呢?你觉得它的实际影响到底有多大呢?欢迎在评论区留言。感谢收看,我们下期再见。