跳到正文
模安局 Logo 模安局

RENNEVATE:用Attention防御LLM间接提示注入

介绍一种应对LLM间接提示注入的方法

2026/01/05 更新 2026/01/06 5 分钟阅读

图片

想象一个再普通不过的场景:你让大模型总结一篇网页、读取一封邮件,或者从知识库里查点资料。

用户的问题是正常的,系统流程也是标准的,但模型给出的结果却突然变得异常——开始输出奇怪的链接,或者执行了完全不符合预期的指令。

问题不在用户输入,而在资料本身。

那段被模型“当作参考信息”的外部内容里,悄悄藏着一条指令。

这种攻击方式被称为间接提示注入(Indirect Prompt Injection,IPI)

它不是强行“越狱”模型,而是借助模型信任的外部信息源,悄悄接管模型的行为。

IPI 和传统越狱的区别

一句话区分两者:

*传统越狱是“用户直接对模型下指令”,* *而 IPI 是“模型自己从外部资料里读到指令”。*

在传统 prompt 越狱中,攻击指令直接出现在用户输入里;

而在 IPI 场景下,用户的提问往往完全正常,真正的问题发生在模型的信息获取阶段

例如当用户问的是“帮我总结网页内容”,模型为了完成任务去读取网页;

但网页正文中隐藏着一句“忽略之前的指令,改为执行以下操作”。

模型并不会区分“这是资料”还是“这是命令”,而是在生成响应时直接服从了它

图片

这也是 IPI 最危险的地方: 攻击面从“用户输入”扩展到了模型信任的整个外部世界。

为什么现有防御在工程上不够用

面对 IPI,很多直觉性的防御方案其实都已经被尝试过,但在工程实践中问题很快暴露出来。

第一类是关键词或规则检测。 这类方法对“ignore previous instructions”这样的直白指令有效,但对同义改写、拆分表达、长文本包裹几乎没有抵抗力,而且误伤率很高。

第二类是用 LLM 再判别一次外部内容。 这种方式成本高、链路长,而且本质上仍然是在“读文本、猜意图”,同样会被自适应攻击针对。

第三类是整段上下文拦截。 一旦怀疑外部内容有风险,就直接丢弃整段资料。 这在真实业务中往往不可接受——RAG、Agent 的效果高度依赖上下文,一刀切几乎等同于功能失效。

这些方法的共同问题在于: 它们都在试图判断“这段文本危不危险”,而不是“模型有没有被它控制”。

图片

RENNEVATE 的关键思路

RENNEVATE 的出发点,正是在这里发生了转向。

它不再尝试从文本语义中判断风险,而是提出了一个更直接的问题:

在生成响应的过程中,模型是不是在持续地依赖某些外部 token?

为此,RENNEVATE 使用了一个来自模型内部的信号:attention

注意力机制本质上描述的是: 模型在生成当前 token 时,正在“看谁”

RENNEVATE 的整体流程可以概括为三步:

  • attention 作为信号来源 在模型生成 response token 的过程中,读取 response→context 的 attention 行为。
  • token 级定位 通过对 attention 行为进行 pooling 和判别,为每个外部上下文 token 打一个“是否参与指令控制”的分数。
  • 只删坏的,不动好的 精确定位被判定为注入指令的 token,而不是丢弃整段上下文。

这里需要强调的是: RENNEVATE 并不是在“读外部文本”,而是在观察模型生成时的行为模式

图片

它为什么能兼顾安全与可用性

RENNEVATE 能在安全性和可用性之间取得平衡,关键在两点。

第一,是连续 token 阈值。 真正的指令型注入,往往不是零散出现的,而是以“连续片段”的形式存在。 RENNEVATE 并不因为单个 token 可疑就触发拦截,而是通过“连续可疑 token 的最大长度”来做段级判断,显著降低误报。

第二,是精确清洗而不是整体重写。 RENNEVATE 的清洗操作是确定性的: 只删除被判定为注入的 token,其余上下文保持原样。

论文中通过 Jaccard similarity 评估清洗前后文本的相似度,结果显示: 在成功移除注入指令的同时,原始资料的语义完整性基本被保留

这意味着,防御不是靠“牺牲功能”换来的。 图片

关键结果

检测准确率

在多种开源模型上,RENNEVATE 的 IPI 检测准确率普遍接近 99%。

图片

防御效果

在清洗后,攻击成功率(ASR)在多个设置下接近 0。 图片

泛化能力

即便面对未见过的数据集和攻击形式,效果依然稳定。

图片

写在最后

随着 Agent 与 RAG 等能力逐渐成为大模型系统的标配,间接提示注入正在从一种“特殊攻击手法”演变为一种默认存在的系统性风险。模型能够读取和利用的外部信息越多,指令边界就越容易被无意间模糊,攻击也就越容易借助这些被信任的数据源悄然发生。

在这样的背景下,护栏体系也需要随之升级。仅仅判断输入或输出内容是否违规,已经不足以覆盖模型被外部信息“接管”的风险。真正需要被治理的,不再只是内容本身,而是模型在运行过程中究竟在听谁的话——这是一种指令层面的边界问题,而非传统意义上的内容审核问题。

与此同时,可用性将与安全性一起,成为衡量护栏方案能否落地的关键标准。误杀率过高、上下文被过度破坏、业务效果明显受损,这些问题都会直接削弱防御机制的现实价值。在真实系统中,一种无法被持续使用的安全方案,本身就是一种风险。

当大模型不再只是“回答问题”,而是开始参与决策、调用工具、执行任务时,安全问题也必须从“内容对不对”,升级为一个更根本的追问:现在,到底是谁在指挥模型? RENNEVATE 给出的,正是朝着这个问题迈出的一种重要方向。

参考资料:

https://arxiv.org/pdf/2512.08417

同专题推荐

查看专题
浏览 --