系统:运行中
← 返回所有攻击
DEFENSE MEDIUM NEW

防御三难困境:为什么提示注入包装器无法做到完备

一篇经 Lean 4 机器验证的 2026 年 4 月论文证明:任何连续且保持效用的输入包装器都无法拦截所有提示注入。连续性、效用与完备性三者不可兼得。

2026-06-12 // 7 min affects: llama-3-8b, gpt-oss-20b, gpt-5-mini, prompt-injection-wrappers

这是什么?

2026 年 4 月 7 日,由 Manish Bhatt 与 Sarthak Munshi 领衔的团队发布了 The Defense Trilemma: Why Prompt Injection Defense Wrappers Fail?(arXiv:2604.06436,4 月 11 日修订)。该论文并未描述新的攻击,而是证明了一条边界:任何连续且保持效用的包装器防御,都无法使语言模型的全部输出都安全。 这里的”包装器”指任何在模型看到输入之前对其进行预处理的防御——清洗器、改写器、守卫提示、分隔符(spotlighting)步骤或宪法式重写。

提示注入在 OWASP LLM 应用十大风险中位列第一,而业界最常见的应对手段恰恰就是这类包装器。三难困境指出,这一流行做法存在数学上的天花板:一个防御可以是连续的(相似的提示得到相似的处理)、保持效用的(安全提示原样通过)以及完备的(一切输出都安全)——但三者中至多只能同时满足两个。与多数安全研究不同的是,其完整论证经过 Lean 4 的机器验证。

工作原理

将模型的安全性建模为提示空间上的连续打分 f(x),并设阈值 τ:低于 τ 的提示安全,高于 τ 的不安全,恰好等于 τ 处即为决策边界。防御 D 在打分之前对提示进行重新映射。三条性质给出三个结果,每个都在更强的假设下得到证明。

边界固定(定理 4.1)是核心,其直觉一句话即可说清。保持效用的防御会让每一个安全提示原样不动,因此其不动点集合是闭集;但安全区域是开集(它是连续打分下某个开区间的原像)。在连通的提示空间中,一个非空真开集不可能同时是闭集——于是不动点必然溢出到边界本身。换言之:某些恰好位于安全/不安全分界线上的提示会不经修改地穿过防御。防御无法清洗最靠近边界的输入。

ε-鲁棒约束(定理 5.1)将这一点从一个点扩展到一个区域。在 Lipschitz 正则性假设下(防御无法任意快地移动打分),整条正测度的近边界提示带在防御后仍然贴近阈值。你无法把这个邻域整体推向安全。

持久不安全区域(定理 6.3)是最强的结果:在一个横截性条件下——当对齐曲面上升的速度快于防御能将其拉低的速度时——一个正测度的输入集合在防御执行之后仍然严格不安全。不是处于临界,而是不安全。

作者将该结论表述为针对防御的”没有免费午餐”结果,类比于 Wolpert 的经典定理:没有任何优化器能在所有问题上占优。他们还把不可能性推广到多轮对话、随机化防御以及非线性智能体流水线,并指出在这些场景中工具调用会放大失败,而非加以遏制。

为何重要

这一结果精确诊断了”清洗输入”这一本能反应为何屡屡令人失望。三难困境中的两条性质正是防御者主动想要的:连续性(使系统可预测)与效用保持(不阻断合法用户)。在同时坚持这两者的前提下,完备性在数学上便无法达成——总会存在一个正测度的输入集合被包装器放行。攻击者只需要这个集合非空即可。

这与我们对语境完整性以及”数据—指令分离是一种范畴错误”的报道相互呼应:一篇从语义上论证数据/指令的界线本身就是错误的框架,另一篇从拓扑上证明建立其上的包装器无法做到完备。两者指向同一个方向——修补输入流在结构上是不够的。

日期有助于判断该结果的分量。预印本发表于 2026 年 4 月 7 日;作为一项形式化方法的论断,其可信度依赖于证明本身,而非同行评审状态:Lean 4 开发声称包含 45 个文件、约 350 条定理、零条 sorry(被搁置的证明)以及三条标准公理,并公开发布了构件。实验部分在三个模型上验证了预测——Llama-3-8B、GPT-OSS-20B 与 GPT-5-Mini——通过测量理论所预言的近边界失败带。

作者强调了一条关于适用范围的提醒:这些定理约束连通提示空间上的单个连续包装器 D: X → X。它们并不是在证明 LLM 无法被防御。

防御措施

该论文对防御者的价值在于,它准确指出了哪一片设计空间已经死路一条、哪一片仍然开放。关键在于,这一不可能性并不涵盖

  • 训练时对齐——RLHF、DPO、宪法式 AI 训练,它们改变的是 f 本身,而非包装其输入。
  • 对模型本身的架构改动
  • 不连续防御——允许拒绝(而非重新映射)的硬性阻断清单与离散分类器。放弃连续性是脱离三难困境的一条合法出路。
  • 输出端过滤、集成(ensemble)以及人工复核
  • 拒绝或重定向输入的多组件系统,而非对每个提示都保持效用——也就是愿意拒绝某些貌似合法输入的系统。

作者的”工程处方”由数学推导而来:压平边界(降低模型在 τ 附近的自信程度)、减小 Lipschitz 常数(限制打分变化的速度)、降低防御需覆盖的提示空间的有效维度,以及监控边界、而非消除边界——承认残余区域的存在并对其进行检测,而不是假装某个包装器已经将其封闭。

实践启示与”纵深防御”的正统观念一致,如今其下多了一条证明:不要把安全押在单一的输入清洗器上。将包装器视为一个浅层防线,把真正的安全推入训练与架构,并在设计智能体流水线时假定某些注入输入终将抵达模型——从而让一次成功注入造成的损害,由最小权限的工具范围与输出控制来约束,而非依赖包装器”全部拦截”的承诺。

现状

项目详情
论文The Defense Trilemma: Why Prompt Injection Defense Wrappers Fail?(arXiv:2604.06436)
发布2026-04-07(2026-04-11 修订)
结果对于包装器防御,连续性 + 效用保持 + 完备性三者不可兼得
验证Lean 4 + Mathlib:45 个文件、约 350 条定理、零 sorry、三条标准公理
实验Llama-3-8B、GPT-OSS-20B、GPT-5-Mini
范围仅限连通提示空间上的连续包装器;训练时与架构层防御不受影响

Sources