2025

本论文

这篇论文是 USENIX Security 2025 的 《Depth Gives a False Sense of Privacy: LLM Internal States Inversion》 。它研究的问题很直接: 把大模型中间层的内部状态(internal states, ISs,内部隐藏表示)暴露给外部方,到底会不会泄露原始提示词? 论文的答案是: 会,而且比很多人原来以为的严重得多 。作者不仅证明了浅层能泄露,甚至证明了 相当深的层、中间层、长上下文场景 下,也能把原始输入重建得非常像,甚至接近逐 token 恢复。

我先给一个总判断:这篇论文的核心价值,不只是“又做了一个反演攻击”,而是它 打掉了一个很常见但并不可靠的安全直觉 ——很多人觉得“层越深,表示越抽象,离原始文本越远,所以越安全”。这篇论文的标题“Depth Gives a False Sense of Privacy”说的就是这个: 深度带来的不是可靠隐私,而是一种错误安全感

先把问题背景讲清楚。

今天很多系统会把 LLM 切开来跑。比如,前几层在本地设备上,后几层放在云端;本地算出某一层的 hidden states,再把这些 states 发给服务器继续推理。这么做的动机通常是算力、带宽、数据本地化,或者做安全审计、幻觉检测、越狱检测之类的分析。论文指出, 这些使用场景都会把内部状态暴露给“诚实但好奇”(curious-but-honest)的服务器或审计方 ;而一旦 IS 暴露,输入 prompt 就可能被反推出去。

形式化地说,设受害者模型是 $f_V$ ,攻击者模型是 $f_A$ 。一段输入文本 $x$ 先经过 tokenizer $T^f$ 变成 token 序列,再经过输入嵌入层 $E^f$ 映射成向量,接着经过前 $l$ 层 Transformer $\psi_l^f$ ,得到第 $l$ 层的内部状态:

$$ h_l^f(x)=\psi_l^f(E^f(T^f(x))). $$

这里每个符号都很重要: $T^f$ 是分词器, $E^f$ 是 embedding 层, $\psi_l^f$ 是前 $l$ 层网络, $h_l^f(x)$ 就是论文研究的泄露对象。攻击者的目标是:给定观测到的 $h_l^{f_V}(x)$ ,找一个 $\hat x$ ,使得攻击者自己模型在这个输入上的内部状态 $h_l^{f_A}(\hat x)$ 和受害者观测值尽量接近,同时 $\hat x$ 在语义上、token 上也尽量接近原始 $x$ 。论文把这个目标写成一个带约束的优化问题。

这篇论文认为,直接把过去“embedding inversion(嵌入反演)”那套方法拿来用在 IS 上,不够好,原因有两个。

第一, IS 和普通文本 embedding 不是一回事 。普通句向量往往就是为“表达语义相似性”而学出来的;而 IS 是为了“继续推理”而存在的,它里面可能混着局部词法信息、语法结构、上下文条件、推理中间量,表示更偏“计算用”而不是“检索用”。所以你不能简单假设它和原始文本之间还是那种平滑、好反演的关系。第二, LLM 的规模比旧时代 BERT 一类模型大太多 :层数更多、宽度更大、词表更大,这会让直接在 token 空间里搜索原文变得极难,也更容易掉进局部最优。论文明确把这两个问题总结成: 更大的模型规模/词表,以及更深层带来的抽象与信息瓶颈

接下来是论文最重要的技术内容:四类攻击。

第一类和第二类是 white-box 攻击 ,假设攻击者知道模型权重。论文认为,在协作推理场景里,这种假设并不离谱,因为某些系统里服务器端需要知道整体模型结构和权重,才能做切分和调度。

其中第一种白盒方法叫 ER(Embedding Recovery) ,适合 浅层 IS。直觉上,它不直接猜 token,而是先猜“每个位置原本的输入 embedding 长什么样”,再把恢复出来的 embedding 映射回最接近的词。这样做有个很大的好处:你不用直接在巨大的词表组合空间里暴力搜索,而是先在连续向量空间里优化,再做最近邻匹配。论文还发现一个细节:如果你只优化“让内部状态匹配”,会出现过拟合,恢复出来的 embedding 范数会偏大,导致第二阶段选词时出错。为此,它又加了一个 distribution matching(分布匹配) 正则项,让优化出来的 embedding 看起来更像真实输入 embedding 的分布。它的总损失写成

$$ L_{\text{inv}}=L_{\text{im}}+\lambda L_{\text{dm}}. $$

这里 $L_{\text{im}}$ 是内部状态匹配项, $L_{\text{dm}}$ 是分布匹配项, $\lambda$ 是平衡这两项的系数。

第二种白盒方法叫 TBS(Token Basis Selection) ,适合 深层 IS。它的核心动机是:到了深层,直接优化每个位置的完整 embedding,梯度会越来越不稳定,因为反向传播链太长,梯度爆炸或局部最优的问题更严重。论文的应对是: 别直接优化整个 embedding 向量,而是先把输入 embedding 空间做一个基分解,然后只优化基上的系数 。具体做法是对输入 embedding 矩阵做 SVD,得到一组基向量,再优化每个 token 在这些基上的投影系数 $z$ 。这样搜索空间从“词表大小级别”缩到了“embedding 维度级别”,优化会稳定很多。论文还比较了两种基:SVD 的奇异向量基和所谓“无偏基”(unbiased basis),发现后者通常更好,因为奇异向量基会偏向某些词群,而无偏基投影更均匀。

你可以这样理解 ER 和 TBS 的差别: ER 是在“恢复 embedding 本身”,TBS 是在“恢复 embedding 的基坐标” 。浅层时信息相对新鲜,直接恢复 embedding 就够了;深层时表示更扭曲、更难优化,改成恢复基坐标更稳。图 6 里作者还专门比较了 ER 与 TBS 的梯度范数分布,来说明为什么 TBS 更适合深层。

第三类攻击是 black-box 下的优化式攻击扩展 。这里攻击者不知道目标模型权重,只能看到内部状态,还能拿自己的数据去查询目标模型。论文的思路很有代表性:现在很多模型不是从零训练出来的,而是从一些公开基座模型微调、merge 或 adapter 得来的。所以作者先做一个 model type identification(模型类型识别) :给每个候选基座模型训练一个 autoencoder,看目标模型的 IS 更像哪一类。如果它能判断目标模型“其实是某个已知开源模型的衍生版本”,那攻击者就用那个基座模型去做 model replication(模型复制/拟合) ,让自己的 surrogate model 在类似数据上的 IS 尽量拟合目标模型,然后再把前面的白盒攻击套上去。

第四类攻击是 black-box 下的生成式攻击 。如果目标模型和已知基座模型差得太远,或者根本就是闭源模型,那就不走“复制模型再优化”的路,而是直接学一个“从 IS 到文本”的翻译器。作者把 IS 看作一种“编码后的语言”,再用一个 encoder-decoder 模型(文中用的是 T5-base)把它翻译回原始输入。这里有个关键技术点: 投影模块(projection module) 。因为 IS 的表示空间和 T5 编码器期待的表示空间不一样,维度、分布、语义组织都可能不同,所以需要先用一个投影模块把 IS 对齐到反演模型更容易处理的空间里。论文说,不加这个投影模块,反演效果会明显下降。