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

可证明鲁棒的 RAG:聚合检索段落以抵御投毒

2026 年 5 月的一篇论文提出 PRA-RAG,一种带有理论鲁棒性上界的检索聚合防御,可将语料投毒的成功率降至低至 1%,同时保持 71% 的准确率。

2026-07-08 // 5 min affects: rag-systems, llm-rag-pipelines

这是什么?

2026 年 5 月 8 日,Xue Tan 等人在 arXiv 上发表了 PRA-RAG: Provably Robust Aggregation in Retrieval-Augmented Generation against Retrieval Corruption(2607.00012,cs.IR/cs.AI)。该论文针对的是自检索增强生成(RAG)被广泛采用以来一直存在的问题:只要攻击者能够向系统检索的语料中植入哪怕少数几个恶意段落,就能左右模型的回答。PRA-RAG 是一种防御——一种检索聚合算法,并附带关于投毒内容最大影响的理论上界,而不是通常那种”我们试过、看起来有用”的经验性保证。

语料投毒是一类被充分记录的攻击(参见我们此前对能够挺过重排序的投毒静默语料投毒的报道)。这里的新意在于:一种能够量化自身最坏情形的防御。

工作原理

标准 RAG 流水线会检索与查询最相似的前 k 个段落,并将它们拼接进模型的上下文。这一设计有一个明显弱点:检索本质上是一场相似度竞赛,而攻击者若针对目标查询精心撰写段落,就能挤进 top-k。一旦进入上下文,投毒段落便与合法段落争夺模型的注意力。作者指出,现有防御”缺乏理论鲁棒性保证,并且当模型对检索内容了解有限时表现不稳定”——也就是说,恰恰是在 RAG 履行其职责、提供模型本身并不掌握的事实时表现最差。

PRA-RAG 改变的是聚合环节,而非检索环节。它不再信任单一的 top-k,而是对检索段落的多种组合进行采样,并观察每个组合在嵌入空间中的位置。由于少量投毒段落只能扭曲这些采样组合中有限的一部分,真实段落会聚成密集簇,而投毒离群点则四散分布。PRA-RAG 利用这种几何结构识别出一个鲁棒子集,并由此导出稳定的聚合表示。基于这一构造,作者给出了投毒内容最大影响的上界,以及对给定 RAG 配置鲁棒性的定量度量——即攻击者需要控制多少段落才能改变答案。

论文报告的结果颇为亮眼:在多个基准和多种 RAG 架构上,PRA-RAG 将攻击成功率压低至低至 1%,同时将干净任务准确率维持在 71%,优于具有代表性的当前最优方法。与所有单篇论文一样,请将这些具体数字视为作者在其评测设定下的测量结果,而非普适保证。

为何重要

RAG 如今已成为让 LLM 获取私有或最新知识的默认方式,这意味着在任何严肃部署中,检索语料都是一个攻击面:支持知识库、内部维基、工单历史,以及任何会摄入用户或第三方可影响文档的流水线。当检索为一个能够采取行动的智能体供料时,投毒段落就不再只是一个错误答案,而会成为立足点——致命三要素的其中一环。多数已部署的防御是启发式过滤器或重排序微调,无从说明它们究竟能吸收多少投毒。而一种能产出可量化鲁棒性预算的防御,能让安全团队像对待任何其他信任边界那样推理语料:需要多少恶意文档才能颠覆该系统,而这个数字是否大于攻击者可能拥有的写入权限?

防御

PRA-RAG 本身就是核心缓解措施,但其设计也指向了当下即可采用的控制手段。将鲁棒聚合视为一层:不要让单个检索段落决定答案——采样并交叉核对多个检索子集,优先采纳共识,这正是 PRA-RAG 所形式化的直觉。保持认证鲁棒性的思维方式,针对每个 RAG 面追问:需要多少投毒文档才能改变输出,并通过语料卫生把这个数字抬高:认证文档来源、限制谁能写入语料,并将新摄入或外部来源的内容隔离待审。将聚合与本站此前介绍的防御相结合——抗投毒的混合检索词元影响追踪——使一个溜过检索的段落在生成阶段仍须经受归因的检验。最后,让下游智能体保持最小权限:鲁棒检索降低了投毒回答的概率,但被污染的回答绝不应在没有人工或二次核查的情况下触发不可逆的操作。

状态

PRA-RAG 是一项研究性披露(arXiv:2607.00012,于 2026 年 5 月 8 日提交),以 CC BY 4.0 许可发布,提供的是理论分析与基准评测,而非任何武器化攻击。它是一项防御性贡献:没有需要修补的漏洞,也没有随附的产品公告。运行 RAG 的团队应将其视为衡量语料鲁棒性的模板,并提醒自己:检索存储应当获得与任何其他被要求 LLM 信任的输入相同的完整性控制。关于它所对抗的攻击的更全面图景,作者的框架与 2026 年 RAG 安全分类法相一致。

Sources