RAGuard: 一种针对检索增强生成系统的分层防御框架,用于防御数据投毒
摘要
RAGuard 是一种针对检索增强生成(RAG)系统的分层防御框架,它利用检索器的对抗性微调以及一种无标签过滤器(ZKIP),在对语料库投毒攻击中实现零攻击成功率,同时保持较高的检索准确率。
arXiv:2607.26339v1 公告类型:新
摘要:检索增强生成(RAG)系统将大型语言模型(LLM)扎根于外部语料库,但这种依赖使其容易受到语料库投毒攻击:恶意注入的段落会操纵检索到的证据。我们提出了 RAGuard,一种针对 RAG 流水线的\emph{事实性}语料库投毒攻击的分层防御。第一层通过对抗性微调一个密集检索器,在合成投毒文档(虚构事实、矛盾点和推理陷阱)上进行训练,使其学会在生成前降低恶意段落的排名。第二层,零知识推理补丁 ZKIP,是一种无标签的黑盒过滤器:对于每个检索到的文档,它执行留一法解码,并根据移除该文档所引起的语义偏移和输出熵变化来对其进行评分。ZKIP 不需要投毒标签、真实答案或访问模型内部;它比较模型在反事实上下文下的自身答案。在投毒比例为 5% 到 30% 的投毒 Natural Questions 上,单独的对抗性检索器训练可以降低但不能消除攻击成功率,而 ZKIP 在每个防御配置下将测量到的攻击成功率降至 0.000,同时保持 Recall@5 与干净语料库基线的偏差在 0.03 以内。对 Natural Questions 和 BEIR(NFCorpus)的有监督分析证实,ZKIP 所依赖的反事实信号携带有可学习的投毒结构。该防御每次查询需要 $k{+}1$ 次生成器传递($k{=}5$ 时为 $6\times$);我们分析了减少这一开销的批处理和早停近似方法。我们还表明,保留关键词的投毒对 BM25 等词法检索器基本没有影响,这一观察结果划定了威胁模型的边界。代码、数据集和评估工具已发布,以供可重复性研究。
查看缓存全文
缓存时间: 2026/07/30 09:57
# RAGuard:针对数据投毒的检索增强生成系统的分层防御框架 来源:https://arxiv.org/html/2607.26339 ###### 摘要 检索增强生成(RAG)系统将大型语言模型(LLM)锚定在外部语料库中,但这种依赖使其容易受到语料库投毒攻击:恶意注入的段落会操纵检索到的证据。我们提出RAGuard,一种针对RAG流水线中*事实性*语料库投毒攻击的分层防御方案。第一层通过对抗性微调密集检索器,在合成的投毒文档(虚构事实、矛盾信息与推理陷阱)上进行对比学习,使其在生成前降低恶意段落的排名。第二层是零知识推理补丁(ZKIP),一种无标注、黑盒的过滤器:对于每个检索到的文档,它执行一次留一法解码,并根据移除该文档后引起的语义偏移和输出熵变化来对其进行评分。ZKIP无需投毒标签、真实答案,也无需访问模型内部;它比较模型在反事实上下文下的自身回答。在投毒比例为5%-30%的投毒版Natural Questions上,单独的对抗性检索器训练降低了攻击成功率但未能消除,而ZKIP在每一个受防御的配置下都将测量的攻击成功率降至0.000,同时Recall@5保持在干净语料库基线的0.03以内。在Natural Questions和BEIR(NFCorpus)上的监督分析证实,ZKIP所依赖的反事实信号携带可学习的投毒结构。防御代价为每次查询执行$k+1$次生成器前向传播(当$k=5$时为6倍开销);我们分析了批处理和早停近似方法以减少此开销。我们还表明,保留关键词的投毒对BM25等词汇检索器基本没有影响,这一观察划定了威胁模型的边界。代码、数据集和评估工具已公开发布以促进可复现性。†† 脚注:本工作的早期版本已被NeurIPS 2025负责任基础模型研讨会(ResponsibleFM)和AAAI 2026信息检索新前沿研讨会(FrontierIR)接收。代码、数据集和评估工件:https://github.com/RAGuard-AI/RAGuard。 ## 1 引言 检索增强生成(RAG)已成为一种有效的方法,通过检索外部证据将大型语言模型(LLM)锚定在现实信息中,使响应反映最新、可验证的信息,而不仅仅依赖于参数化记忆 (Lewis et al., 2020; Asai et al., 2024; Ram et al., 2023; Izacard et al., 2023)。然而,这种锚定也造成了新的攻击面:由于生成过程信任检索到的段落作为证据,能够写入语料库的攻击者就可以操纵模型的回答。数据投毒攻击会注入那些看似相关但包含虚假或误导性信息的文档,并且只需少量投毒文档就能以极高的成功率误导大型模型 (Zou et al., 2025; Souly et al., 2025; Wang et al., 2026; Long et al., 2025; Su et al., 2025)。现有的防御措施存在结构性缺陷。基于检测的过滤器依赖标注的投毒示例或启发式规则,且无法应对新的攻击风格 (Zou et al., 2025; Edemacu et al., 2025)。生成器加固方法推理代价高昂,且当投毒段落主导检索集时性能下降 (Asai et al., 2024; Shi et al., 2024)。对抗性训练的检索器依赖于训练期间见过的合成投毒,并有对已知投毒类型过拟合的风险 (Lupart and Clinchant, 2023; Park and Chang, 2019)。没有任何单一机制能同时覆盖检索阶段和生成阶段。 本工作提出RAGuard,一种双层防御。第一层通过对比学习在合成的投毒文档(虚构事实、矛盾信息与推理陷阱)上对抗性微调密集检索器,使得投毒段落在到达生成器前就被降低排名 (Izacard et al., 2022; Lei et al., 2023; Lupart and Clinchant, 2023)。第二层是零知识推理补丁(ZKIP),它在生成时运行,并且完全是*自我指涉*的:给定排名前$k$的检索文档,它使用完整上下文解码一个参考答案,然后每移除一个文档就重新解码一次。当某个文档的移除显著改变了答案的语义或降低了模型输出的不确定性时,该文档被标记。ZKIP从不查询真实答案、投毒标签或外部预言机;它仅比较模型在反事实上下文下的自身输出。这使得该过滤器适用于那些能够绕过经过训练的检索器的未知攻击类型。 我们在投毒比例为5%到30%的Natural Questions (NQ) (Kwiatkowski et al., 2019) 和BEIR (NFCorpus) (Thakur et al., 2021) 的投毒变体上评估了RAGuard。我们的主要贡献如下: - • **一种无标注、黑盒的推理时过滤器**。ZKIP根据移除每个文档所引起的答案不稳定性和熵差异来对其进行评分 (§3.4)。它不需要投毒标签、黄金答案或模型内部信息,并且在每个NQ投毒比例下,对于每个完成了防御运行的检索器,都将测量的攻击成功率降至0.000 (§4.3)。 - • **一种分层检索加推理防御,并测量了各层贡献**。单独的对抗性检索器训练会留下残余攻击成功(NQ 10%投毒时ASR为0.072),而单独的ZKIP以及联合系统都能消除它;联合系统还能额外保留对抗性训练检索器的排序质量 (§4.4)。 - • **基于负面结果的威胁模型分析**。我们的保留关键词的投毒使得BM25 (Robertson and Zaragoza, 2009) 在*无需任何防御*的情况下基本不受影响(5-20%投毒时ASR为0.000,30%时ASR为0.011),这表明投毒专门利用了密集嵌入的语义特性。我们利用这一点来界定哪些攻击在范围内、哪些不在范围内 (§4.1,附录B)。 ZKIP带来了实际代价:每次查询需要$k+1$次生成器前向传播,在$k=5$时推理开销为6倍。我们量化了此开销,并描述了批处理、早停和子集采样近似方法 (§5.2)。我们将我们的主张限定在密集检索的语料库投毒下的事实问答场景;更广泛的鲁棒性声明需要针对诸如PoisonedRAG (Zou et al., 2025) 和FlippedRAG (Chen et al., 2025) 等攻击框架进行评估,我们将其视为最重要的下一步工作 (§局限性)。 ## 2 相关工作 #### RAG与语料库投毒。 RAG (Lewis et al., 2020) 通过结合检索与生成来增强LLM,无需重新训练即可实现事实锚定。最近的研究表明,RAG架构容易受到数据投毒攻击。PoisonedRAG (Zou et al., 2025) 证明了将精心制作的对抗性文档插入检索语料库会扭曲排序和生成。Joint-GCG (Wang et al., 2026) 通过统一基于梯度的攻击同时扰动检索器和生成器的嵌入,扩展了此类攻击。思维链投毒 (Song et al., 2025) 表明,针对多步提示的推理风格攻击会在多次检索迭代中传播错误,而Souly等人 (2025) 表明,数量近乎恒定的投毒文档足以破坏大型模型。FlippedRAG (Chen et al., 2025) 演示了黑盒*意见操纵*攻击,我们明确将这类攻击排除在我们的威胁模型之外(附录B)。 #### 反事实与冲突证据数据集。 我们的合成投毒构建方法 (§3.3) 与一系列通过扰动证据来研究模型鲁棒性的工作相关。Chen等人 (2022) 构建了开放式域问答的冲突证据场景,并重新校准模型以反映来源之间的分歧。Pan等人 (2023) 研究使用LLM生成的虚假段落对问答语料库进行错误信息污染。Hong等人 (2024) 构建了NQ的反事实噪声变体,并提出了判别器引导的鲁棒性训练。我们的投毒在目的上而非机制上有所不同:我们不是构建基准,而是将LLM重写的反事实段落用作检索器的对抗*训练*信号,以及用于评估推理时过滤器的受控攻击。与这些基准数据集不同,我们的投毒按攻击家族(虚构、矛盾、推理陷阱)参数化,使我们能够测量每个家族的防御行为。 #### 防御措施。 现有的RAG投毒防御依赖于输入过滤、启发式检索器微调或对抗性数据增强 (Edemacu et al., 2025)。这些措施减少了已知的攻击面,但通常依赖于标注的投毒数据或增加沉重的推理时成本。神经检索的对抗性训练 (Lupart and Clinchant, 2023; Park and Chang, 2019) 强化了排序,但根据我们的实证确认,它本身并不能消除攻击成功。在自然语言处理之外,黑盒反事实防御已被证明能有效对抗其他模态中的后门攻击,例如零样本图像净化 (Shi et al., 2023);ZKIP将类似的黑盒扰动比较原则引入检索上下文。 #### 与归因方法的关系。 留一法(LOO)影响估计是可解释性和因果推断中的成熟工具 (Johansson et al., 2016; Prosperi et al., 2020; Molnar, 2025)。基于扰动的归因方法如LIME (Ribeiro et al., 2016) 和SHAP (Lundberg and Lee, 2017) 同样通过输入扰动下的输出变化来估计特征的重要性。ZKIP借用了留一法机制,但回答的是不同的问题。归因问的是“哪个输入对输出*最重要*?”——一个黄金段落和一个投毒段落都可能非常重要。而ZKIP问的是“移除哪个文档会使模型的答案更稳定或更不确定?”——这是一个有方向性的、面向安全性的查询。它还将两个信号(语义答案偏移和熵差异)结合成一个单一异常分数,并将结果作为在线过滤器应用,而非事后解释。第3.4节精确地对比了这一区别。 ## 3 方法 ### 3.1 整体架构 图1展示了架构。用户查询通过一个经过对抗性微调的密集检索器(第一层)。在训练期间,检索器接触到干净的和合成投毒的段落,并学会降低那些嵌入偏离正常语义结构的文档的排名。排名前$k$的检索文档随后通过ZKIP(第二层),ZKIP标记并移除那些对生成答案具有异常因果影响的文档,然后进行最终解码。各组件是模块化的:检索器、生成器和防御层可以独立替换。 请参阅图注 图1:RAGuard的两层防御。查询通过经过对抗性训练的检索器(第一层);ZKIP(第二层)为每个检索到的文档执行一次留一法解码,对每个文档对答案的因果影响进行评分,并在最终生成前移除被标记的文档。在推理的任何阶段都不使用投毒标签或黄金答案。 ### 3.2 基本原理 RAG系统的主要漏洞在于检索器:排名靠前的投毒文档会污染生成器的上下文。RAGuard不微调生成器,而是从根源上加强检索过程,并添加一个生成时过滤器作为安全保障。这两层在设计上是互补的:对抗性训练是*主动*的,但仅限于训练期间见过的投毒分布;而ZKIP是*被动*的且与攻击无关,因为它测量每个上下文元素对模型自身输出的因果效应。一个躲过训练后检索器的投毒文档仍然必须影响答案才能成功,而ZKIP测量的正是这种影响。 ### 3.3 对抗训练数据与检索器微调 #### 投毒构建。 为了评估对检索级投毒的鲁棒性,我们构建了NQ和BEIR的投毒变体。从原始语料库出发,我们采样30%的查询-文档对,并通过提示LLM根据攻击类型重写每个黄金文档来生成修改后的段落。我们使用三个攻击家族:(i) *虚构*投毒,会附加伪造或幻觉性的陈述;(ii) *矛盾*投毒,会翻转关键事实的标记(例如,“true”→\rightarrow“false”);(iii) *推理*投毒,会引入误导性的逻辑步骤或损坏的中间声明。投毒样本在三个家族中均匀分布。 构建的数据集包含总计12,344个BEIR样本(3,700个投毒样本)和1,000个NQ样本(300个投毒样本);实验在受控比例(5-30%)下替换投毒三元组。每条记录存储查询、未修改的黄金段落、投毒段落和攻击家族标签,因此每个实验都可以从发布的JSONL文件中复现。 #### 为什么使用合成投毒而非现有的反事实数据集。 先前的工作如Hong等人 (2024) 提供了NQ的反事实噪声变体,Pan等人 (2023) 研究了LLM生成的错误信息污染。我们生成新的合成投毒而非重用这些语料库,有三个原因。首先,我们的三个攻击家族是参数化的对抗性类别,并非均匀存在于先前的基准中。
相似文章
PRA-RAG:检索增强生成中针对检索损坏的可证明鲁棒聚合
PRA-RAG是一种用于检索增强生成的可证明鲁棒的聚合算法,旨在抵御对检索文本的投毒攻击。它利用嵌入空间中的几何结构来识别鲁棒子集,并提供攻击影响的理论界限,将攻击成功率降低至1%,同时保持准确率。
TopoGuard:基于图论的RAG Split-Knowledge攻击防御
介绍了TopoGuard,这是一种基于图论的防御方法,用于抵御RAG系统中的Split-Knowledge攻击。该攻击中,多个单独无害的文档组合后会产生有害输出。该方法通过构建语义相似度图来检测恶意上下文,性能显著优于现有的逐文档过滤器(如LlamaGuard)。
ScalableRAG:零摄入成本的高质量RAG
本文介绍了ScalableRAG,一种检索增强生成方法,通过基于正则表达式的集合创建和聚合推理,在无需任何摄入成本(无需向量数据库或知识图谱)的情况下实现高准确率。它在多个数据集上优于基线方法,并提出了一个有限摄入变体以进一步提升准确率。
LightRAG:简单高效的检索增强生成框架
本文介绍了 LightRAG,这是一个开源框架,通过整合图结构来提升检索增强生成(RAG)的上下文感知能力与信息检索效率。
Disco-RAG: 话语感知检索增强生成
Disco-RAG 提出了一个话语感知的检索增强生成框架,通过块内话语树和块间修辞图整合话语信号,以改进大语言模型的知识综合能力。该方法在问答和摘要生成基准测试中达到最先进的效果,无需微调。