跳到正文
原文

GuardRAG:针对检索增强生成(RAG)投毒攻击的检索后防御

GuardRAG: A Post-Retrieval Defense against Poisoning Attacks in Retrieval-Augmented Generation

arXiv· arXiv:2610.35071· Linghui Jiao, Kang Wei, Fushuo Huo, Ruijie Zhao, Yiyang Ni, Jingcai Guo, Yipeng Zhou, Jun LiSoutheast University; Jiangsu Second Normal University; The Hong Kong Polytechnic University; Macquarie University本站收录· 17 天前· 原文发表防御

论文速读

防御

据论文 PDF 整理(AI 生成),以原文为准

作者提出免训练后检索防御 GuardRAG,在 adv5 下对三种投毒攻击将平均 ASR 降至 0.8%–16.2%(Table 1)。

威胁模型知识误导场景:攻击者向语料库注入 b 条投毒段落(b = |M| ≪ |C|),使其针对目标查询被检索并互相支持同一错误答案;攻击者不能获取生成器 G 的内部参数或权重,但可以访问特定用户查询和检索器 R 的详细参数(参照 PoisonedRAG 设置)。

问题
RAG 引入外部语料后暴露于语料库投毒攻击,协同投毒会让多篇互相强化的投毒文档进入检索上下文,使逐篇评估证据的现有防御难以过滤。
方法
GuardRAG 是免训练、即插即用的后检索防御:先把检索范围从 top-k 扩到 top-K 并去近重复,再用带查询自适应阈值的 HAC 聚类,最后按查询相关度、簇大小和语义紧凑度给簇打分并剪除最可疑的簇。
实验与结果
在三个问答数据集、三种攻击、六个生成器上,adv5 下平均 ASR 降至 0.8%–16.2%,PRAGB 下 HotpotQA 与 NQ 的 PDFR 达 100%;但 GuardRAG-aware 白盒自适应攻击下 ASR 仍有 23.0%,语义重叠的良性证据可能被误剪。
局限与可以继续做的
作者指出两点局限:检索到的投毒文档很少时结构模式可能太弱,难以做簇级防御;高度相关的良性文档可能与协同投毒证据结构相似,增加误剪风险。主实验每个数据集随机采样 100 个查询。
实验设置GPT-3.5、GPT-4o 等 · Natural Questions (NQ)、HotpotQA 等 · ASR、PDFR 等
被测模型
GPT-3.5GPT-4oGPT-5DeepSeek-V3.2Llama-2-7BLlama-2-13B
基准
Natural Questions (NQ)HotpotQAMS MARCO
指标
ASRPDFRACCCFRRSR@10
AI 导读GuardRAG 是一种免训练、即插即用的检索后防御,用于识别 RAG 语料投毒攻击注入检索结果、相互印证的可疑文档组。它先扩大检索范围、去除近似重复,再用查询自适应阈值的层次聚合聚类(HAC)分簇,按相关性、簇大小和语义紧凑度剪除可疑簇。在三个问答数据集、多种投毒攻击和六个 LLM 上的实验显示,其大幅降低攻击成功率并保持干净检索下的答案效用。

GuardRAG 是一种免训练、即插即用的检索后防御,用于识别 RAG 语料投毒攻击注入检索结果、相互印证的可疑文档组。它先扩大检索范围、去除近似重复,再用查询自适应阈值的层次聚合聚类(HAC)分簇,按相关性、簇大小和语义紧凑度剪除可疑簇。在三个问答数据集、多种投毒攻击和六个 LLM 上的实验显示,其大幅降低攻击成功率并保持干净检索下的答案效用。

相关热点

2 个事件 · 1 条新闻提到

  • 这件事的论文

    GuardRAG:检索后防御RAG投毒攻击

    arXiv论文提出免训练的检索后防御GuardRAG,实验显示其大幅降低RAG投毒攻击成功率并保持干净检索下答案效用。

提到这篇论文的新闻

周报:预训练投毒可植入智能体后门

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    防御协同语料库投毒:多篇互相强化的投毒文档进入检索上下文,逐篇评估式防御难以应对。

    核心问题:如何防御协同语料库投毒攻击(coordinated corpus poisoning)——攻击者向 RAG 语料库注入多篇互相支持同一错误答案的投毒文档,使其共同进入检索上下文并操纵生成结果。

    • 场景与重要性:RAG 依赖大规模或持续更新的外部语料库,作者认为在检索前逐篇验证文档可信度并不现实,因此需要在检索之后、生成之前识别并过滤投毒证据。
    • 现有方法的不足:作者称现有防御多依赖鲁棒聚合、可靠性评分、知识整合或自反思生成,面对高强度协同投毒时,多篇投毒文档强化同一错误信息并主导检索证据,使常规的证据聚合与可靠性评估效果下降。
    • 核心观察:协同投毒文档在嵌入空间中比良性证据呈现更强的局部语义聚集。作者在 900 个查询级实例上验证:896 例中投毒文档的组内距离小于投毒-良性距离,862 例中全部检索到的投毒文档被分进同一个 HAC 簇(附录 B.4)。
    • 论文提出的方案:GuardRAG,一个免训练、即插即用的后检索防御框架,通过检索扩展与去重、自适应语义聚类、可疑簇剪除三个阶段做组级结构分析,而非逐篇打分。
    • 威胁模型(第 3.2 节,术语照抄论文):
      • 目标:使系统对目标查询 q* 生成包含预定目标短语 y* 的回答,y* 通常是错误信息短语或实体;以 y* 作为子串出现在输出中判定攻击成功。
      • 能力:攻击者可向语料库 C 注入有限预算 b 条投毒段落 M,b = |M| ≪ |C|,并优化其检索概率、互相强化同一错误答案。
      • 知识:参照 PoisonedRAG 设置,攻击者不能获取生成器 G 的内部参数或权重,但可以访问特定用户查询和检索器 R 的详细参数。
      • 受害系统:由语料库 C、检索器 R、生成器 G 组成的标准 RAG 系统。
  2. 有哪些相关研究?

    相关工作分三组:RAG 与检索方法、语料库投毒攻击、三类防御方法;本文以组级结构分析区别于逐篇评估。

    RAG 与检索方法

    • Lewis et al. (2020) 提出 RAG 框架,由检索器和生成器两个核心组件构成。
    • 稀疏检索以 TF-IDF(Salton and Buckley, 1988)和 BM25(Robertson et al., 1994)为代表,基于词法匹配。
    • 稠密检索基于嵌入相似度,代表方法包括 DPR(Karpukhin et al., 2020)、ANCE(Xiong et al., 2020)和 Contriever(Izacard et al., 2021)。

    语料库投毒攻击

    • PoisonedRAG(Zou et al., 2025)展示注入外部语料库的恶意文档可以操纵下游生成结果,本文的威胁模型和 PRAGB 攻击产物均来自该工作。
    • 后续定向投毒攻击包括 POISONCRAFT(Shao et al., 2025,通过对抗优化投毒文档提升攻击效果)、AgentPoison(Chen et al., 2024)与 BadRAG(Xue et al., 2024,结合投毒知识与后门触发机制)、CPA-RAG(Li et al., 2025)和 PR-Attack(Jiao et al., 2025,通过多篇投毒文档的协同优化提升检索成功率)。

    防御方法(论文分三组)

    • 证据聚合与评估:RobustRAG(Xiang et al., 2024)、InstructRAG(Wei et al., 2024)、ReliabilityRAG(Shen et al., 2025),论文指出这类方法常引入额外的验证、推理或 token 处理开销。
    • 自反思与内部知识:ASTUTE RAG(Wang et al., 2025)、TrustRAG(Zhou et al., 2025)、Self-RAG(Asai et al., 2023),论文指出这类方法一般需要额外的推理时计算。
    • 学习型过滤与压缩:Why So Gullible?(Hong et al., 2024)、RECOMP(Xu et al., 2023)、Learning to Filter(Wang et al., 2023),论文指出这类方法需要辅助训练或任务特定数据。

    基线与基准:对比基线为 Vanilla RAG、RobustRAG、InstructRAG、ReliabilityRAG(第 5.1 节);评测基准为 Natural Questions、HotpotQA、MS MARCO。

    本文定位:作者称 GuardRAG 将防御视角从逐篇文档评估转向检索证据的组级结构分析,在检索后、生成前工作,不需要辅助模型训练,也不需要额外的 LLM 生成调用。

  3. 论文如何解决这个问题?

    GuardRAG 三阶段:检索扩展与去重 → 自适应阈值 HAC 聚类 → 按相关度、大小、紧凑度打分剪除最可疑簇。

    整体思路:GuardRAG 利用协同投毒文档在嵌入空间中局部语义聚集的结构特征,在检索之后、生成之前做组级过滤,全程免训练、不需要额外 LLM 调用。流程见 Algorithm 1。

    阶段 I:检索扩展与去重

    • 标准 RAG 检索 top-k,GuardRAG 先扩展到 top-K,K = mk 且 m > 1,为结构分析提供更多候选证据。
    • 按嵌入余弦相似度去除近重复文档:相似度 ≥ γ 视为近重复,只保留排名更高者;实验中 γ = 0.98。
    • 去重后的集合记为 Rq,Nq = |Rq| ≤ K。

    阶段 II:自适应语义聚类

    • 用 bge-large-en-v1.5 编码查询和全部候选文档,嵌入做 L2 归一化后用欧氏距离。
    • 采用 average linkage 的 HAC 聚类,不需要预设簇数,通过距离阈值控制粒度。
    • 阈值为查询自适应:对每个文档求第一近邻距离,排序后找最大相邻间隔,取该间隔中点为初步阈值 τ̂q = (δ(j∗) + δ(j∗+1))/2,即最大间隔两端点的中点。
    • 最终阈值 τq = τ̂q(若 τ̂q ≤ τmax),否则取 0;全局上限 τmax = 0.8 × 0.877 ≈ 0.702,由 300 个校准查询(与主评测不重叠)上良性文档的平均成对距离估计(附录 A.1)。作者称自适应阈值是因为各数据集的背景语义密度差异大,单一静态阈值难以跨检索分布适用(Figure 3)。

    阶段 III:可疑簇打分与剪除

    • 对每个簇从三方面计算可疑度:查询相关度 ri = cos(q, µi)、簇大小 si = log(|Ci|+1)、语义紧凑度 ci = 1/(σi+ϵ),其中 µi 为簇质心、σi 为平均簇内距离。
    • 最终可疑度为三者乘积,乘积偏向同时具有高查询相关度、大尺寸和语义紧凑的簇。
    • 只对 |Ci| ≥ 3 的簇做剪除(所有实验用同一最小簇大小),移除可疑度最高的簇;若无满足条件的簇则保留全部文档。

    成功判定与评测方式

    • 攻击成功判定沿用 PoisonedRAG 协议:生成回答中包含攻击者指定的目标短语 y*(子串匹配)即为成功。
    • 防御侧指标:PDFR(被移除的检索到投毒文档比例)、CFR(被误移除的良性文档比例)、ACC(回答包含正确答案子串的比例)。
    • 生成阶段使用附录 E 的提示词模板,将过滤后的文档与问题一起交给生成器。
  4. 论文做了哪些实验?

    三数据集、三攻击、六生成器:adv5 下平均 ASR 0.8%–16.2%;白盒自适应攻击下 ASR 升至 23.0%。

    实验设置

    • 被测生成器(6 个):GPT-3.5、GPT-4o、GPT-5、DeepSeek-V3.2、Llama-2-7B、Llama-2-13B;检索器为 Contriever、Contriever-ms、ANCE;嵌入编码器为 bge-large-en-v1.5。
    • 数据集:NQ(语料 2,681,468 篇)、HotpotQA(5,233,329 篇)、MS MARCO(8,841,823 篇);主实验从每个数据集随机采样 100 个查询(附录 B.1)。
    • 攻击:PRAGB(PoisonedRAG 发布的目标特定段落)、PRAGW(PoisonedRAG 白盒优化生成,每查询 5 条)、POISONCRAFT(按其公开协议生成,每查询 5 条);投毒强度 adv3/advk 表示检索上下文中有 k 条投毒文档。
    • 指标:ASR(回答含攻击者指定错误答案子串的比例,对所有评测查询计算)、PDFR、CFR、ACC(含正确答案子串的比例);自适应攻击用 RSR@10(尝试查询中至少 3 条投毒文档进入 top-10 候选的比例)。
    • 默认设置与重复次数:默认 HotpotQA + Contriever + Llama-2-13B;标准检索 k = 5,GuardRAG 扩展 m = 2、K = 10,Table 2 中所有方法用同一 top-10 候选池;每个设置独立运行 3 次取算术平均。
    • 基线:Vanilla RAG、RobustRAG、InstructRAG、ReliabilityRAG。

    主结果

    Table 1(adv5,GuardRAG,六个生成器平均)与 Table 2(PRAGB,与基线对比)的核心数字:

    表格较宽,可左右滑动

    攻击数据集平均 ASR↓平均 PDFR↑平均 ACC↑平均 CFR↓
    PRAGBHotpotQA4.0100.087.53.0
    PRAGBNQ0.8100.088.06.0
    PRAGBMS MARCO8.095.085.510.0
    PRAGWHotpotQA6.099.089.01.0
    POISONCRAFTHotpotQA2.299.094.70.0
    POISONCRAFTMS MARCO2.799.094.81.0

    据 Table 1(单位 %);PRAGW 在 NQ、MS MARCO 及 POISONCRAFT 在 NQ 的平均 ASR 分别为 5.7、16.2、4.5。

    Table 2(PRAGB、adv5、ASR/ACC,单位 %):

    表格较宽,可左右滑动

    模型防御HotpotQANQMS MARCO
    GPT-4oVanilla30.0 / 73.040.0 / 63.023.0 / 70.0
    GPT-4oInstructRAG87.0 / 14.078.0 / 24.087.0 / 15.0
    GPT-4oReliabilityRAG46.0 / 54.037.0 / 65.040.0 / 60.0
    GPT-4oGuardRAG8.0 / 84.00.0 / 86.02.0 / 88.0
    Llama-2-13BVanilla77.0 / 30.080.0 / 27.087.0 / 23.0
    Llama-2-13BRobustRAG62.0 / 38.076.0 / 34.072.0 / 30.0
    Llama-2-13BGuardRAG6.0 / 88.02.0 / 86.08.0 / 80.0

    据 Table 2;RobustRAG(GPT-4o)与 InstructRAG、ReliabilityRAG(Llama-2-13B)行省略,Table 2 中 GuardRAG 在几乎所有设置下 ASR 最低。

    • 作者称 GuardRAG 在不同攻击下持续保持低 ASR,PRAGB 下 HotpotQA 与 NQ 的 PDFR 达 100%,CFR 最高 10%。
    • 作者指出,投毒强度从 adv3 升到 adv5 时部分基线退化:HotpotQA + GPT-4o 上 InstructRAG 的 ASR 从 27.0% 升至 87.0%,ReliabilityRAG 从 16.0% 升至 46.0%,而 GuardRAG 两种强度下均低于 10.0%。
    • adv5 下 Vanilla RAG 在三个数据集上用 Llama-2-13B 的 ASR 均高于 GPT-4o。

    自适应攻击压力测试

    • 设置:3+2 diversification 把 5 条投毒段落分成两个语义组;GuardRAG-aware 白盒攻击生成 15 条候选,用防御反馈和 beam search 选出 5 条以降低语义聚集(附录 A.3)。
    • 结果(Table 3):diversification 下 ASR 从 76.0%(Vanilla)降至 6.0%、PDFR 99.0%;白盒攻击下 ASR 从 77.0% 降至 23.0%、PDFR 72.0%、RSR@10 93.0%。
    • 作者解读:防御感知优化会削弱剪除所依赖的结构信号,剩余的白盒 ASR 说明分散的投毒证据更难通过簇级过滤隔离,作者明确称这是一个局限。

    干净检索与语义重叠压力测试

    • 设置(Table 5):Clean-original(原始干净检索)、Clean-duplicate(加入正确段落的近相同副本)、Clean-paraphrase(语义相似的非重复变体)。
    • 结果:前两个设置 ACC 均为 90.0%;Clean-duplicate 的 CFR 为 27.2%(平均每查询移除 2.22 条近重复)但 ACC 不变;Clean-paraphrase 下 ACC 降至 72.0%、CFR 35.6%,平均每查询 3.56 条被簇剪除。
    • 作者解读:改写后的良性证据能逃过去重并形成紧凑簇,作者称高度相关的非重复良性证据是一个边界情况。

    其他消融与分析

    • 消融(Table 4,HotpotQA、Contriever、Llama-2-13B、adv3):仅扩深度到 10 时 ASR 74.0%、ACC 26.0%;Stages II–III@5 时 ASR 8.0%、PDFR 98.0%、ACC 60.0%;完整 GuardRAG@10 时 ASR 3.0%、PDFR 100.0%、CFR 3.0%、ACC 86.0%。
    • 聚类方法对比(Figures 5、6):HAC 在三个数据集上 PDFR 为 100%、100%、95%,CFR 为 3%、6%、10%;Mean Shift 的 PDFR 偏低,AP 在 MS MARCO 上 CFR 达 48%,DBSCAN 在 MS MARCO 上 CFR 为 10%。
    • 固定 vs 自适应阈值(Table 8,adv5):固定 τ = 0.4 时 PDFR 低至 54.0%/48.0%/18.0%(三个数据集);τ = 0.6 时 MS MARCO 上 CFR 达 24.0%;自适应 τq 为 PDFR 100.0%/100.0%/95.0%、CFR 3.0%/6.0%/10.0%。
    • 效率(Table 7,两块 RTX 4090):GuardRAG 每查询 7.715 秒、407.7 个 LLM token;基线中最多的约为其 4.9 倍 token;作者称防御本身不需要 LLM 调用。
    • 结构统计(Table 9):900 个查询级实例中 896 例 ρ < 1,862 例投毒文档全部分入单一 HAC 簇,最大投毒簇平均覆盖 98.4% 的检索到投毒文档;PRAGW 在 MS MARCO 上聚集相对较弱(Unified Rate 82.0%)。
  5. 有什么可以进一步探索的点?

    作者指出两点局限:投毒文档少时结构信号弱、高相关良性文档易被误剪;白盒自适应攻击下 ASR 仍有 23.0%。

    作者指出的局限与后续方向

    • 少量投毒文档时结构模式太弱(Limitations 节): efficacy 依赖检索文档中可识别的结构模式,当只有少量投毒文档被检索到时,这些模式可能弱到无法做可靠的簇级防御。
    • 高度相关的良性文档可能被误剪(Limitations 节):这类文档可能呈现与协同投毒证据相似的结构特征,增加误剪风险;作者称区分恶意协同与正当的语义一致是未来工作的重要方向。
    • 白盒自适应攻击下的剩余 ASR(第 5.3 节):作者称 GuardRAG-aware 白盒攻击下剩余的 23.0% ASR 凸显了一个局限——分散的投毒证据更难通过簇级过滤隔离。
    • 语义重叠良性证据是边界情况(第 5.3 节 Clean-paraphrase 结果处):作者称高度相关的非重复良性证据构成边界情况(该设置下 ACC 72.0%、CFR 35.6%)。

    实验覆盖范围

    • 被测生成器为 GPT-3.5、GPT-4o、GPT-5、DeepSeek-V3.2、Llama-2-7B、Llama-2-13B 共 6 个;检索器为 Contriever、Contriever-ms、ANCE 共 3 个(第 5.1 节)。
    • 数据集为 NQ、HotpotQA、MS MARCO,主实验每个数据集随机采样 100 个查询,每个设置独立运行 3 次取平均(第 5.1 节、附录 B.1)。
    • 攻击覆盖 PRAGB、PRAGW、POISONCRAFT 三种,投毒强度为 adv3 与 adv5,另有 3+2 diversification 和 GuardRAG-aware 白盒两种自适应攻击(第 5.1、5.3 节)。
    • 基线防御评测包括 Vanilla RAG、RobustRAG、InstructRAG、ReliabilityRAG,对比在 PRAGB 攻击、同一 top-10 候选池下进行(第 5.1 节、Table 2)。
    • 攻击成功与答案正确性均按子串匹配判定,论文未报告人工评估或 LLM 评审及其一致性(第 3.2、5.1 节)。
  6. 总结一下论文的主要内容

    GuardRAG:利用投毒文档语义聚集的免训练后检索防御,低 ASR 且保干净效用,但白盒自适应攻击可削弱其结构信号。

    GuardRAG 是一个针对 RAG 语料库投毒攻击的免训练、即插即用后检索防御,面向攻击者注入多篇互相强化的投毒文档、操纵目标查询生成结果的场景(威胁模型沿用 PoisonedRAG:攻击者不知生成器参数,但可访问用户查询和检索器参数)。

    • 核心观察:协同投毒文档在嵌入空间中比良性证据呈现更强的局部语义聚集——900 个查询级实例中 896 例投毒组内距离小于投毒-良性距离,862 例投毒文档全部落入同一 HAC 簇(附录 B.4)。
    • 方法:三阶段流程——检索从 top-5 扩展到 top-10 并按 γ = 0.98 去近重复;用查询自适应阈值的 average-linkage HAC 聚类(阈值取第一近邻距离最大相邻间隔的中点,上限 τmax ≈ 0.702);按查询相关度、簇大小、语义紧凑度的乘积给簇打分,剪除 |Ci| ≥ 3 中最可疑的簇。
    • 主结果:adv5 下三种攻击、六个生成器的平均 ASR 为 0.8%–16.2%,PRAGB 下 HotpotQA 与 NQ 的 PDFR 达 100%,CFR 最高 10%(Table 1);PRAGB、adv5 下 GuardRAG 在 GPT-4o 和 Llama-2-13B 上的 ASR 均不超过 8.0%,低于 Vanilla RAG 与三个基线(Table 2)。
    • 消融:同样深度 10 下,仅扩展检索 ASR 74.0%,加上聚类剪除后降至 3.0%、ACC 升至 86.0%(Table 4);自适应阈值在三个数据集上取得最高 PDFR 且 CFR 低于固定 τ = 0.6(Table 8)。
    • 边界:GuardRAG-aware 白盒自适应攻击下 ASR 仍有 23.0%、PDFR 降至 72.0%(Table 3);语义重叠的良性证据(Clean-paraphrase)下 ACC 降至 72.0%、CFR 35.6%(Table 5)。
    • 作者结论:作者称组级证据结构分析能在不增加防御时 LLM 调用的情况下降低投毒成功率并保持干净检索下的答案效用;同时指出少量投毒文档时结构信号弱、高相关良性文档易误剪两点局限,区分恶意协同与正当语义一致留作未来工作。

相关论文

共同使用 MS MARCO
再看 3 篇
共同使用 MS MARCO
阅读原文arxiv.org