灌铅的骰子
当每一个结果都合法,攻击就藏在选择之中——而 AI 如今处处都在选择
1980 年,宾夕法尼亚州彩票在电视上直播开出每日号码:实体乒乓球,从摇奖机里升起,就在镜头前。开出的号码是 6-6-6。事先,主持人和几个内部人员往每一个球里注了油漆,只放过 4 号和 6 号,于是只有这两种球升得起来;他们的朋友则买下了由 4 和 6 组成的每一种组合。
让我印象最深的是:从机器里出来的,没有一样是不合法的。666 是一个合法的彩票号码,由真实的球开出。这次攻击没有伪造任何结果;它只是选了一个。
随机性曾是一个安静的输入
针对随机性的攻击并不新鲜。数字世界里的这类攻击大多冲着密码学而去:生成器可预测,或者某个随机值被重复使用,密钥便随之泄露。
但在普通软件里,随机性很少决定程序做什么。一个哈希种子,一次退避抖动,负载均衡器的一次掷币:改掉其中任何一个,计算算出的仍是同一个东西,只是快一点或慢一点。随机性是保密与性能的输入,而不是行为的输入。
AI 靠掷骰子运行
如今不再如此。AI 系统在三个层次上抽取随机数(见《重放归来》)。在张量层,一次归约的求和顺序取决于有多少请求共享同一个批次。在词元层,采样器从一个分布中抽出下一个词元。在轨迹层,智能体读取时钟、进程号、工具的输出,读到的是世界在那一秒恰好给出的东西。
这些都不能简单地去掉。总是选最可能的词元,产出的文字被最早指出这个问题的论文形容为“乏味且怪异地重复”。重复采样是模型得到更好答案的办法:在一个编程基准上,至少有一个样本解出的题目比例,从单个样本时的 15.9% 升到 250 个样本时的 56%。确定性也有代价。要让推理逐比特可复现,需要批次不变的内核,在已发表的测量中,这让一次运行从 26 秒变成了最好情况下的 42 秒。OpenAI 为它的 seed 参数写下的说明值得装裱起来:“不保证确定性。”
所以随机性如今是承重的。它决定出现哪些词,执行哪条命令,删掉哪个文件。
一个新的攻击面
一旦随机性决定行为,操纵它就是一种攻击,而文献里在每一层都已经有了例子。
在词元层,仅仅改变解码设置、完全不用对抗性提示,就让十一个开源模型的失准率从 0% 升到 95% 以上。反复对提示做随机扰动、直到某一次突破为止的“Best-of-N 越狱”,在一万次尝试下对 GPT-4o 的成功率达到 89%。我们组的工作直接搜索解码树,找出那些在默认设置下看似安全、却能沿着采样器可以合法走到的路径抵达有害输出的提示。往球里灌漆的攻击也有字面意义上的对应物:一篇近期的预印本表明,被攻破的采样器随机数生成器可以注入指定的词元,而每一个 logit 都纹丝未动。
在张量层,批次是一个共享的随机变量。两篇预印本表明,与受害者落在同一批次里的攻击者可以还原受害者的提示,一篇借助专家路由,另一篇借助整批量化。目前两者都是泄露而非操纵;操纵显然就是下一篇论文。在轨迹层,智能体的运行可能仅仅因为一个时间戳而分叉。非确定性还是很好的掩护:一个预期输出会变化的审计,很难把正常的变化与服务商悄悄换上一个更便宜模型区分开来。
没有标准答案,也没有单一的检查点
有两个性质,使这类攻击不同于我们已经知道如何应对的那些。
其一,没有错误答案可抓。传统攻击会产出某种可被查出的坏东西:伪造的签名,损坏的记录,一个没有任何正确执行能产生的值。对随机性的攻击产出的,却是某个合法执行本可以产出的结果,因此它能通过任何“是否有合法运行能解释这个输出”形式的检查(见《无窗之箱中的正确》)。攻击者就住在那个存在量词里面。每一个候选都合法;攻击在于选中了哪一个。666 能通过一个彩票号码所能经受的一切检查。
其二,选择被层层深度掩盖。GPU 归约中一个以不同方式打破的平局,变成一个不同的词元,变成一条不同的 shell 命令,变成机器的一个不同状态。等到损害在顶层显现,它的成因已在三层之下,而中间每一层,就其输入而言,行为都是合法的。
信任,但要重放
预防走不了太远。我们无法去掉随机性,也无法禁止任何结果,因为每个结果都是被允许的。我们能做的,是彩票业在 1980 年之后学会的事。比如在今天的佛罗里达州,每次开奖前后都要给球称重,由一位独立会计师见证,前后相差超过一克,整套球就交给调查人员。没有人声称开奖不可能被操纵。所声称的是:被操纵的开奖会留下证据。
对 AI 而言,对应的是一套三步的纪律。记录每一次抽取:每一层的每一个随机值,批次的构成,采样出的词元和种子,时钟和工具结果。然后重放:根据记录复现这次运行,并核对随机性是否就是它声称的那样,就像随机信标发布带签名、成哈希链的数值,任何人事后都能验证。然后归因:出了问题,就把某一次记录下的抽取换成另一个合法候选再重放。如果损害消失,这次抽取就是根因。同一套记录与重放机制也服务于调试(见《重放归来》);在这里,它面对的是对手,而不是程序缺陷。
根因的定义在这里很要紧,因为它与这种攻击严丝合缝。你不能说被选中的那次抽取无效;它是有效的。你能说的是:另一次同样有效的抽取不会造成这个损害,而正是这一次抽取起了作用。这是一个反事实,而反事实需要记录。
那么,信任,但要验证,只需做一处调整:对随机性而言,验证不是检查结果,而是能够重放那次选择。
参考文献
- Pennsylvania Lottery scandal, 1980: TribLIVE, WESA, Butler Eagle.
- Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes, and Yejin Choi. The Curious Case of Neural Text Degeneration. ICLR 2020.
- Bradley Brown, Jordan Juravsky, Ryan Ehrlich, Ronald Clark, Quoc V. Le, Christopher Ré, and Azalia Mirhoseini. Large Language Monkeys: Scaling Inference Compute with Repeated Sampling. arXiv:2407.21787, 2024.
- Horace He and Thinking Machines Lab. Defeating Nondeterminism in LLM Inference. Thinking Machines Lab: Connectionism, September 2025.
- Yangsibo Huang, Samyak Gupta, Mengzhou Xia, Kai Li, and Danqi Chen. Catastrophic Jailbreak of Open-source LLMs via Exploiting Generation. ICLR 2024.
- John Hughes, Sara Price, Aengus Lynch, Rylan Schaeffer, Fazl Barez, Sanmi Koyejo, Henry Sleight, Erik Jones, Ethan Perez, and Mrinank Sharma. Best-of-N Jailbreaking. NeurIPS 2025.
- Shuyi Lin, Anshuman Suri, Alina Oprea, and Cheng Tan. Toward Principled LLM Safety Testing: Solving the Jailbreak Oracle Problem. MLSys 2026.
- Ziyang You, Xiaoke Yang, Zhanling Fan, Feng Guo, Xiaogen Zhou, and Xuxing Lu. Seed Hijacking of LLM Sampling and Quantum Random Number Defense. arXiv:2605.08313, 2026.
- Itay Yona, Ilia Shumailov, Jamie Hayes, and Nicholas Carlini. Stealing User Prompts from Mixture of Experts. arXiv:2410.22884, 2024.
- Hanna Foerster, Ilia Shumailov, Cheng Zhang, Yiren Zhao, Jamie Hayes, and Robert Mullins. Dynamic Quantization Can Leak Your Data Across the Batch. arXiv:2604.26505, 2026.
- Will Cai, Tianneng Shi, Xuandong Zhao, and Dawn Song. Are You Getting What You Pay For? Auditing Model Substitution in LLM APIs. arXiv:2504.04715, 2025.
- OpenAI Cookbook.
Reproducible outputs with the seed parameter
(page on the
seedparameter). - Florida Lottery. Rule 53ER16-40. Florida Administrative Code, 2016.