用注意力门控增强提示注入防御
文章介绍一项通过训练少量注意力头门控来增强提示注入防御的研究,无需微调整个模型的权重。核心是区分授权指令与外部数据,降低智能体将网页、邮件或工具输出中的恶意文本当作命令的风险。
AI 深度解读
Agent 读到网页、邮件或工具返回内容时,可能把攻击者藏在里面的话当成用户命令。Heads of Security(HoS)尝试把这条边界放进注意力计算:冻结模型权重,只训练少量门控参数,让部分注意力头减少对不可信内容的关注。
原文介绍的论文发表于 2026 年 10 月 27 日,来自 Imperial College London、Tübingen AI Center 等机构。它在两个开放权重模型上明显压低了提示注入成功率,但效果有边界:应用仍要判断内容来源,攻击预算增加后防线也会被突破。
外部内容可以读,为什么不能照着做
间接提示注入(Indirect Prompt Injection)的危险,在于指令混进了正常业务数据。例如,用户要求总结邮件,邮件正文却要求 Agent 改做另一件事。模型需要读懂这段文字,但不能因此改变任务。
论文瞄准的是「指令与数据分离」:system prompt、user prompt 可以支配行为,工具输出可以被总结、提取和推理,却不能自动获得指挥权。
常见防御是偏好微调。SecAlign++ 使用直接偏好优化(DPO),让模型偏好遵循用户指令的回答,排斥遵循注入指令的回答。作者担心,这给优化器留下了太多自由度:模型可能学会训练集里的表面规律,换一种攻击写法就失效。
HoS 仍然使用 DPO,但把可训练部分限制在注意力门控上。作者想验证的是:只允许模型调整一组与信任边界直接相关的参数,能否比大范围微调更稳。
门控怎样阻止服从,又保留阅读能力
HoS 先给每个 token 标记通道。可信通道包含系统提示、用户提示和模型自己的生成;不可信通道包含工具输出;模板通道包含聊天模板 token,以及经常充当注意力汇聚点的 BOS token。
随后,每层的每个注意力头都有一张小型门控表,按 query 通道和 key 通道的组合索引。在 softmax 之前,注意力分数会加上对应门控 logit 经过 sigmoid 后的对数。
可以把它理解成调节不同来源内容的「可见程度」。门值接近 1,正常关注;接近 0,相关位置几乎被屏蔽。softmax 重新归一化后,注意力会分配到其他 token。
关键是,每个头可以学出不同的门值。负责指令遵循的头可以避开工具内容,负责提取事实的头仍然读取它。整份工具结果并没有被统一遮住。
这个结构还有一个明确性质:当所有 key 使用相同门值时,分数增加的是同一个常量,softmax 会抵消它。因此,单通道输入的计算保持不变。
训练只更新门控标量。作为参数规模对照,原文给出的 SecAlign 可训练参数量,在 Llama-3.3-70B 上为 349M,在 GPT-OSS-20B 上为 38M。HoS 的参数少了多个数量级,但原文没有列出确切数量。
训练数据沿用 SecAlign++ 的配方,来自改造后的 Cleaned-Alpaca:每对样本都包含用户指令,以及放在不可信片段中的注入指令。GPT-OSS 的显式 attention sink 则被单独处理为额外的、仅用于 key 的通道。
攻击成功率下降很多,但攻击没有消失
评测覆盖 Llama-3.3-70B-Instruct 和 GPT-OSS-20B,对照包括 SecAlign++ 与另一种架构级分离方法 ASIDE。
黑盒自适应攻击使用 RL-Hammer,在 InjecAgent 上通过 GRPO 训练攻击模型,让它不断改写注入文本。最强攻击的成功率(ASR)如下:
| 目标模型 | 未防御 | SecAlign 变体 | HoS 变体 |
|---|---|---|---|
| GPT-OSS-20B | 97% | 85% | 10% |
| Llama-3.3-70B | 99% | 82% | 1% |
差距很大,但作者主动给出了疑点:直接针对 HoS 训练的攻击者获得的奖励很稀疏,在 GPT-OSS-20B 上训练 ASR 只有 3.2%。攻击者可能没学好,部分差距未必完全来自防御本身。作者因此强调迁移攻击的参考价值。
白盒测试进一步采用 Claudini 已报告的最佳攻击,再用 LLM 驱动的 autoresearch 循环定制 50 次,最后分别评估 100 个 AgentDojo 和 100 个 InjecAgent 案例。结果是,HoS 达到 50% ASR 所需的攻击计算量,约为基础模型或 SecAlign 的三倍。
这说明攻击更费劲,也说明它仍能被攻破。
可用性方面,HoS 保持了基础模型在标准多项选择基准上的分数,包括 few-shot 提示;SecAlign 和 ASIDE 则出现下降。在带静态攻击的 Agent 基准中,HoS 与 SecAlign 表现接近,都改善了安全与可用性的取舍。ASIDE 在工具使用上的效用指标只有 10%。
作者用「门控自由度更小,更难学捷径」解释这些结果,但也明确承认,这是一种解释,并非证明。
我的判断
我认可的部分,是把信任来源变成计算过程中的结构约束。相比只在提示词里提醒模型不要服从外部文本,HoS 提供了更具体、可训练的边界;相比偏好微调,它缩小了优化器可以调整的范围。
但这不是接上就能用的完整防御。通道标签仍由应用提供,错误地把外部内容放进可信通道,门控也无从纠正。严格分离还会遇到真实需求:让 Agent 按 README 安装软件包,本来就需要执行外部步骤,不能把它们一概当作纯数据。
实验结论也有适用范围。目前只有两个模型和有限基准,偏好训练只使用了一套固定数据。更多多轮、多指令数据是否会缩小 SecAlign 的差距,原文没有答案。方法还依赖显式的两两注意力分数,不能直接套到线性注意力架构。
这些实验支持「提高攻击成本」,还不足以支持「解决提示注入」。 对只能调用托管模型 API 的团队,它也不是应用层增加一个参数就能启用的能力。
能拿来做什么
- 给现有 Agent 梳理输入来源,把用户指令、工具结果和模板内容分清楚,尤其检查网页、邮件正文是否被拼进了具有指令权限的位置。
- 如果团队自托管开放权重模型,可以把 HoS 纳入防御方案评估,同时检查模型是否具备它依赖的注意力结构,并测试正常任务是否受损。
- 为现有 AI 编程流程补充对抗案例,例如让工具返回内容夹带偏离用户目标的指令,观察模型是否服从;评估时同时记录攻击成功率和任务完成情况。
- 对按 README 操作这类确实需要外部指令的任务,先明确授权范围,再配合指令层级、最小工具权限和输出过滤,避免把全部安全责任交给模型。