缓存侧信道从解码表还原本地LLM输出,250次查询可画像

Detokenization Leaks: Reconstructing Local LLM Outputs From Cache Traces

Roy Weiss, Benyamin Konstantinov, Eitam Sheetrit, Tomer Simon, Yisroel Mirsky

cs.CR, cs.AI

2026-09-06

盯默认推理管线里的detokenizer,Flush+Reload对齐后再Prime+Probe,把噪声缓存痕迹聚成符号交给语言模型还原。Phi-3首段ASR最高约六成,OpenClaw实测约三成。

这篇在解决什么

本地跑大模型被当成隐私方案:数据不出机。同机上一个普通用户进程仍能观察CPU缓存。此前针对本地LLM的缓存攻击,多半要共享模型数据页、CPU卸载,或依赖Mixture-of-Experts(专家混合)路由。这些条件在Ollama、Llama.cpp这类默认部署里经常不成立。

这篇盯的是每条输出都必须走的一步:把token ID查表还原成字符串。查表发生在CPU,访问模式跟token绑定,而且Llama.cpp和HuggingFace Tokenizers被大量本地产品和agent框架复用。泄漏面跟着这两套库走,不跟着某一家模型走。

方法

攻击分画像和利用两阶段,共用四步。

画像可以主动让模型重复指定token,250次查询大约6分钟;也可以只用普通对话,约7650次问到接近上限。威胁模型只要SMT(同时多线程,如超线程)开着、tokenizer是动态库。不要求共享数据页,也不要求知道模型家族或量化方案。

结果

在笔记本和台式机、Llama.cpp与HuggingFace、Phi-3-mini与Llama-3、三套语料上,语义级还原是稳定的,词级精确对上则经常做不到。

场景指标结果
UltraChat全文攻击成功率ASR约56%–87%
ChatDoctor全文ASR约78%–93%
Code-Alpaca,Phi-3,Llama.cpp笔记本全文ASR95.87%
定向画像250次查询ASR超过55%
OpenClaw端到端,Phi-3首段ASR / 语义相似度30.12% / 42.23%
13代i9-13950HX,Phi-3首段ASR38.40%

结构化语料更容易还原:ChatDoctor和代码高于开放闲聊UltraChat。Llama-3词表是Phi的四倍,碰撞更重,成绩系统性偏低。OpenClaw用的是真实agent执行轨迹,相对受控桌面设置(61.55% ASR)掉了一半,但话题级还原仍在。

为什么重要

Ollama、GPT4All、OpenClaw这类本地栈,默认就把易受攻击的tokenizer嵌进去。隐私卖点建立在「数据不出机」上,可同机低权限进程能听输出。agent长期挂着、反复碰本地文件和凭据,画像一次就能持续监听。缓解手段都存在,也都贵:打乱decode表布局只逼攻击者重画像;关SMT会掉大约25%–35%性能。

局限与存疑

这是过程绑定、需要SMT、需要先画像的侧信道,不是远程零交互漏洞。13代酷睿上预取器把Phi-3首段ASR从受控设置压到38.40%。OpenClaw只有30.12%,真实噪声比实验室大。论文没测AMD,也没测关超线程后的残余通道。用GPT-4.1-mini当语义裁判,ASR会被裁判口径拉动。Flan-T5-XL的第二段微调要跑到4天,复现门槛不低。

术语

原文与代码

社区讨论

相关论文

全部论文解读