中间检查点能否暴露提示注入防御的漏洞?

用中间检查点审计微调防御,可把提示注入攻击成功率从近零提升到96%。

直接答案

能。论文表明,真实攻击者无法获取的中间微调检查点,会暴露基于微调的提示注入防御的真实弱点。作者把这些检查点当作优化攻击的跳板,将对最先进防御的攻击成功率从接近零提升到最高96%,并证明相关攻击者即使无法直接访问检查点,也能利用类似弱点。

1篇文献引用

本文由 WisPaper 驱动的搜索和论文分析生成。

审计测什么,为何近零成功率会误导

基于微调的提示注入防御会训练模型遵循用户指令、忽略外部数据中嵌入的指令。这类防御没有形式化保证,只能靠经验评估:开发者在发布时用当时最强的现实攻击测试,并报告攻击成功频率。论文认为这种做法会高估鲁棒性,因为能抵御当前攻击的防御,面对更强的搜索仍可能很脆弱。

核心指标是攻击成功率(ASR),即在被评估样本中,对抗后缀让模型输出攻击者目标字符串的比例。作者审计 StruQ 和 SecAlign 两种基于微调的防御,模型为 Llama-3-8B-Instruct、Mistral-7B-Instruct 和 Qwen2-1.5B-Instruct。针对单个提示的攻击在 50 个随机选取的 AlpacaFarm 样本上评分,并报告 95% Wilson 得分区间,因为多个条件处于或接近 0% 或 100% 的成功率。

检查点成为攻击的逐级跳板

Checkpoint-GCG 利用的是训练过程本身的产物。微调会在到达最终防御模型之前产生一系列中间检查点。攻击者依次在每个检查点上运行 GCG——一种基于梯度的搜索,通过在提示后附加后缀来诱导目标字符串。在某个检查点上有效的后缀会成为下一个检查点的搜索起点,于是优化沿着阶梯逐步逼近最终模型,而不是直接对最终模型冷启动。

作者还改造了通用后缀,即针对多个训练提示同时优化出的单一后缀,并让它跨检查点传递。他们报告,按梯度范数选择检查点,能在攻击效果和计算成本之间取得最佳平衡。同一框架也用于 BEAST 这一不同的优化攻击:在 20 个 AlpacaFarm 样本上攻击 SecAlign 防御的 Llama-3-8B-Instruct 时,Checkpoint-BEAST 达到 80% ASR,而直接攻击最终模型的 BEAST 为 0%。

标准 GCG 停滞,Checkpoint-GCG 继续攀升

面对无防御模型时,各方法都饱和:标准 GCG、获得与 Checkpoint-GCG 相同总步数预算的标准 GCG,以及 Checkpoint-GCG,都达到 98–100% ASR。差异在加入防御后出现。标准 GCG 运行 500 步时,对 SecAlign 防御的 Llama-3-8B-Instruct 降至 6% ASR;即使给它 Checkpoint-GCG 的步数预算,也只提高到 12%。Checkpoint-GCG 在同一设置下达到 88%。

这一模式在不同模型和防御上保持一致。面对 StruQ,标准 GCG 随模型不同在 26% 到 88% 之间,而 Checkpoint-GCG 达到 90–100%。面对 SecAlign,Checkpoint-GCG 在三个模型上达到 84–96%。在 20 个注入指令和目标短语各不相同的 SEP 样本上,Checkpoint-GCG 对 SecAlign 防御的 Llama-3-8B-Instruct 达到 80% ASR,而使用 Checkpoint-GCG 预算的标准 GCG 为 15%。作者据此认为,只用已知攻击评估最终模型会带来虚假的安全感。

通用后缀能泛化到训练提示之外

通用后缀在 10 个 AlpacaFarm 训练样本上优化,然后原样测试于 198 个留出的 AlpacaFarm 样本和 500 个 SEP 样本。面对 SecAlign 防御的 Llama-3-8B-Instruct,Checkpoint-GCG 在同分布下达到 75.3% 的 success@1,即单次尝试就能在约四分之三的留出样本上成功;而标准 GCG 无论 500 步还是 Checkpoint-GCG 预算,都是 0%。尝试 5 次时,Checkpoint-GCG 在同分布下接近完全成功。

分布外表现如预期下降,因为攻击必须泛化到未见输入,但排序不变:Checkpoint-GCG 在 SEP 上对 SecAlign 防御的 Llama 达到 78.3%,对 StruQ 防御的 Llama 达到 88.9%,对 StruQ 防御的 Mistral 和 Qwen 达到 87.9–99.0%。作者还针对 SecAlign 防御的 Llama 做了后缀长度消融:20、25、30 个 token 时训练 ASR 都保持 100%,但留出 ASR 从 75.3% 降到 64.1% 和 45.5%,说明更长的后缀更贴合训练提示,却没有更好地泛化。

更弱的攻击者也能重建类似跳板

真实攻击者拿不到中间检查点,因此论文检验这些暴露的弱点在更弱威胁模型下是否仍然存在。给定开放权重的基座模型及其防御版本,攻击者可以在两组权重之间做线性插值,构造一条合成轨迹。在 Llama-3-8B-Instruct 与其 SecAlign 防御版本之间插值,得到 51 个中间状态;在这些状态上运行 Checkpoint-GCG,在 20 个样本上达到 90% ASR,95% Wilson 区间为 69.9–97.2%,平均总步数 1,205,与使用真实微调检查点相当。

迁移是第二条路径。在有检查点的替代模型上找到的通用后缀,可以迁移到基座模型和防御相关的目标模型。以 SecAlign 防御的 Llama-3-8B-Instruct 为替代模型,该后缀在黑盒设置下对 Meta-SecAlign-8B 达到 63.9% ASR;在白盒设置下,仅用 5 步 GCG 就在 198 个留出样本上达到 78.3%,而标准 GCG 即使 5,000 步迁移成功率也是 0%。跨差异较大的模型家族迁移有限:Mistral 和 Qwen 替代模型均为 0%。

审计适用于哪里,止于何处

证据覆盖 StruQ 和 SecAlign 两种基于微调的提示注入防御、三个指令微调模型,以及附录中提到的越狱防御复现。作者说明,他们复用了公开代码和超参数,为适应算力调整了 GPU 数量和精度;专门的超参数搜索可能增强防御,但不在论文范围内。因此报告的 ASR 描述的是这些复现的防御,而非其所有可能配置。

威胁模型对理解核心数字很重要。96% 来自能攻击中间检查点的审计者,这是真实攻击者不具备的优势。插值和迁移实验才把这种强审计与现实攻击者连接起来,它们显示出可观但更低的效果:20 个样本上插值达到 90%,相关模型家族内黑盒迁移为 63.9%。跨家族迁移为 0%,标出了这一主张的边界。

发布前审计,而非信任当下最强攻击

论文的实践优先级来自两种评估方式之间的差距。一个在最终模型上对标准 GCG 得分接近零的防御,面对 Checkpoint-GCG 可能得到 84–96%;而审计所需的检查点在训练期间已经存在。作者因此主张,开发者应在发布前用强攻击者压力测试防御,缩短反馈循环,而不是等待下一个最先进攻击出现。

最具决策意义的比较不是 96% 这个绝对值,而是同一防御和模型上,最终模型评估报告的结果与基于检查点的审计揭示的结果之间的反差。对 SecAlign 防御的 Llama-3-8B-Instruct,这一反差从标准 GCG 500 步的 6% 到 Checkpoint-GCG 的 88%。论文还报告,在中间检查点上优化的后缀会逐步把最终模型的注意力从用户指令转向注入内容,这是作者给出的跳板式搜索为何有效的机制。

本文引用的文献

1

Checkpoint-GCG: Auditing and Attacking Fine-Tuning-Based Prompt Injection Defenses

把中间微调检查点当作 GCG 和 BEAST 的跳板,可将针对最先进防御的提示注入攻击成功率从接近零提升到最高96%;相关攻击者还能通过权重插值和迁移利用类似弱点。