跳到正文
原文
论文追踪· arXiv:2606.11265· Xi Nie, Hongwei Li, Shenghao Wu, Mingxuan Li, Jiachen Li, Wenbo Jiang·本站收录 · 原文发表

论文提出 CRCP 投毒框架,揭示 RAG 分块与重排序下的投毒失效问题

When Poison Fails After Retrieval: Revisiting Corpus Poisoning under Chunking and Reranking Pipelines

论文速读

攻击

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

CRCP针对带分块与重排的RAG投毒;Table II中其ASR最低88.79%,基线最高36.85%。

威胁模型攻击者可向外部语料插入或修改有限文档,使投毒内容被检索、通过重排并影响生成;不能改模型参数、不能控制用户查询、不知精确分块配置。

问题
生产RAG含分块、稠密检索与重排,既有语料投毒多按文档级相似度优化。作者称对抗信号在分块后被拆碎,重排又偏好局部连贯、带答案的段落,检索阶段高相关不等于能进入最终上下文。
方法
CRCP把分块当随机变换,联合优化检索、重排与局部连贯,并惩罚边界平移后的分数差。GPT-4o生成初稿后做token替换;无白盒时用有限差分或MS-MARCO上训练的cross-encoder近似Lrr。
实验与结果
仅检索器时CRCP与三种基线同量级。Table II全流程基线ASR为12.05%–36.85%,CRCP为88.79%–95.88%。防御后Table VI最低65.34%(DeepSeek-R1,HotpotQA,SeconRAG)。
局限与可以继续做的
论文未专节讨论CRCP自身局限,Conclusion呼吁更贴近实际的RAG安全评测。实验含6个生成模型、3个数据集、3个检索器与2个重排器;主表未报告查询条数和T,也未单独给出score-only black-box的ASR。
实验设置GPT-4o、DeepSeek-R1 等 · Natural Questions (NQ)、HotpotQA 等 · ASR、Accuracy (Acc) 等
威胁模型
攻击者可向外部语料插入或修改有限文档,使投毒内容被检索、通过重排并影响生成;不能改模型参数、不能控制用户查询、不知精确分块配置。主设定 white-box surrogate:同架构族替代模型对 cross-encoder 反传。回退 score-only black-box:只查重排分数,有限差分近似梯度。
被测模型
GPT-4oDeepSeek-R1Qwen3-MaxQwen2.5-7BVicuna-7BLLaMA-2-7BContrieverANCEDPRMonoT5BGE-Reranker-Base
基准
Natural Questions (NQ)HotpotQAMS-MARCO
指标
ASRAccuracy (Acc)Signal Retention Rate (SRR)
AI 导读论文重新审视真实多阶段 RAG 流水线下的语料库投毒攻击,发现许多现有攻击在重排序后效果大幅下降,尽管其在检索阶段仍保持高相关性。作者将原因归结为检索粒度不匹配:文档级对抗信号在分块时被切碎,而重排序器偏好局部连贯、含答案的段落,而非全局优化的语义相似度。为此他们提出 CRCP 框架,在优化中显式建模分块变换,联合优化检索相关性、重排序器一致性与分块边界鲁棒性,生成局部自洽的对抗段落。在标准 RAG 基准上使用多种检索器和重排序器的实验显示,现有投毒方法对分块大小和重排序策略高度敏感,而 CRCP 取得更高的攻击成功率和更强的鲁棒性。作者认为 RAG 投毒应作为多阶段检索一致性问题来研究,而非仅关注检索阶段。

论文重新审视真实多阶段 RAG 流水线下的语料库投毒攻击,发现许多现有攻击在重排序后效果大幅下降,尽管其在检索阶段仍保持高相关性。作者将原因归结为检索粒度不匹配:文档级对抗信号在分块时被切碎,而重排序器偏好局部连贯、含答案的段落,而非全局优化的语义相似度。为此他们提出 CRCP 框架,在优化中显式建模分块变换,联合优化检索相关性、重排序器一致性与分块边界鲁棒性,生成局部自洽的对抗段落。在标准 RAG 基准上使用多种检索器和重排序器的实验显示,现有投毒方法对分块大小和重排序策略高度敏感,而 CRCP 取得更高的攻击成功率和更强的鲁棒性。作者认为 RAG 投毒应作为多阶段检索一致性问题来研究,而非仅关注检索阶段。

深度解读

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

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

    现有投毒在分块与重排后失效,CRCP改为优化多阶段一致性。

    现有语料投毒按文档级相关度优化,经过分块和重排后往往留不到最终上下文。

    • 场景:作者称 RAG 已用于客服到领域 copilot 等应用,外部语料可被注入恶意文档以操纵下游输出。现有评测多假设文档级索引和单阶段稠密检索,生产系统则还有分块与 cross-encoder 重排。
    • 不足:作者称文档级对抗信号会在分块时被拆开或稀释,重排器更偏好局部连贯、带答案的段落,而不是全局语义相似度。检索阶段分数高,不等于投毒内容能走完流水线。
    • 观察:作者将这种不一致称为检索粒度不匹配(retrieval granularity mismatch),并用信号保留率衡量分块后还剩多少文档级对抗信号。作者认为投毒应作为多阶段检索一致性问题来研究。
    • 提出的方法:Chunk-aware and Rerank-Consistent Poisoning(CRCP)在优化时显式建模分块变换,联合优化检索相关度、重排一致性和分块边界稳健性。
    • 威胁模型:
      • 目标:对给定目标查询,使投毒内容被检索、通过重排,并把生成推向攻击者指定输出;最大化的是整条流水线的端到端效果,不只提高检索分数。
      • 能力:可在外部知识库插入或修改有限数量文档;不能修改检索器、重排器或语言模型参数,也不能控制推理时的用户查询。论文未给出该数量。
      • 知识:主设定为 white-box surrogate,持有与受害模型同架构族的开源替代模型,可对替代 cross-encoder 反传。回退为 score-only black-box,只能查询重排分数,并对 top-κ 候选 token 用有限差分近似 Lrr 梯度。两种设定都不能访问受害权重,也不知道推理时的精确分块配置。
      • 受害系统:含文档分块、稠密检索、重排和基于检索上下文生成的 RAG。
  2. 有哪些相关研究?

    相关工作覆盖RAG流水线、语料投毒与检索侧防御,实验基线为三种攻击。

    检索增强生成

    • 经典流程:论文引用的 RAG 工作用外部知识做有依据的生成;典型步骤是索引、稠密检索与生成,文档先切成 chunk 再索引。
    • 重排:论文称现代系统常在稠密检索后用 cross-encoder 重排,重排器偏好局部连贯、直接带答案的段落,检索相似度高仍可能被滤掉。
    • 分块:论文称检索发生在 chunk 而非全文上,不同分块会使文档级语义被拆开,并带来检索不一致。

    语料投毒攻击

    • 检索阶段:AgentPoison(2024)优化触发器–文档对,以提高投毒内容被检索的可能;PoisonedRAG(2025)把目标查询注入文档以最大化检索概率,从而诱导错误回答。
    • 语料与联合目标:LIAR(2024)在语料感知设定下利用非目标文档,论文称以此提高攻击稳健性;Joint-GCG(2026)联合优化检索器与生成器两侧目标。
    • 其他攻击:Paradox(2025)用对比三元组构造对抗样本;CtrlRAG(2026)是两阶段黑盒框架,论文称其在幻觉放大与情绪操纵任务上有效;CPA-RAG(2025)研究隐蔽投毒,论文称粗粒度策略仍难兼顾检索效果与文本隐蔽性。

    已有防御

    • RevPRAG(2025):用 LLM 内部异常激活检测投毒输入。
    • RobustRAG(2024):isolate-then-aggregate,拆开检索路径以降低投毒内容的影响。
    • 冲突与过滤:AstuteRAG(2025)用启发式结合检索信息与模型内部知识;InstructRAG(2025)用自合成 rationale 引导检索;TrustRAG 做嵌入聚类和一致性冲突消解;SeCon-RAG 用细粒度语义过滤加冲突感知推理。Related Work 只描述这些机制。

    实验基线

    • 基线方法:PoisonedRAG-BB、The RAG Paradox、Joint-GCG。
    • 基准:NQ、HotpotQA、MS-MARCO。

    作者称先前工作主要优化检索阶段相似度,本文把投毒放在分块、稠密检索、重排与有依据生成的整条流水线上,并把它写成多阶段检索一致性问题。

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

    CRCP在多种分块下联合优化检索、重排一致性和边界稳健性。

    CRCP 不按整篇文档的全局相似度投毒,而是在分块变换下同时照顾稠密检索、重排和边界变化。

    流水线与攻击目标

    • 四阶段:文档按策略 ϕ 切成 chunk;稠密检索器 fr 用嵌入相似度 sr 取 top-k;重排器 frr 给出 srr 并选 top-m;生成器 fg 以选中 chunk 为条件生成。
    • 目标:向语料加入投毒文档,使目标查询下的生成偏向攻击者指定行为。先前方法主要最大化文档级 sr;作者认为这过不了后续分块和重排。
    • 两种实现:主设定对同架构族替代 cross-encoder 反传。score-only black-box 只查重排分数,用有限差分在 top-κ token 上近似 Lrr。论文未给出迭代次数 T、κ 和边界偏移上界 δmax。

    检索粒度不匹配

    • 定义:优化粒度在文档级,实际处理在 chunk 级。分块后对抗语义散到多个 chunk;重排看局部质量与问答一致性,不完整或局部不连贯的 chunk 分数可以很低。
    • 两种失败:作者称为分块拆碎(chunk fragmentation)和重排不一致(reranking inconsistency)。
    • SRR:作者用信号保留率衡量最佳 chunk 还保住多少文档级检索分数。SRR 接近 1 表示保留完整,远小于 1 表示拆碎。作者把 0.70 当作经验上能被重排选进 top-m 的存活阈值。定义为 SRR(ϕ,Dadv,q)=maxc∈ϕ(Dadv) sr(q,c)/sr(q,Dadv)。

    分块感知优化

    • 多策略:设 Φ 为不同 chunk size 的分块策略,对每种策略切出的 chunk 计算攻击损失,再对策略取期望。论文未写优化时 Φ 的成员数,也未写它是否等于后文测试用的尺寸集合。
    • 局部自洽:每个 chunk 单独包含与查询相关的上下文、带答案的语义和对抗引导,而不是把攻击语义只铺在整篇文档上。局部项提高 sr(q, ci);连贯项 Lcoh 是 chunk 内上下文嵌入与查询嵌入的余弦平均。
    • 边界:优化时随机平移边界,用平移前后检索分数绝对差的期望作为 Lboundary,减小该差以降低对切分位置的敏感。

    重排一致性与总损失

    • 动机:作者称稠密检索看嵌入相似度,重排看 token 级交互;只为检索优化的段落可能缺少可直接作答的局部内容,从而被重排滤掉。
    • 总目标:对每个对抗 chunk 加入重排分数 srr(q, ci),与检索、连贯、边界项加权合并。实验默认 (λ1, λ2, λ3, λ4)=(1.0, 2.0, 0.5, 0.3)(Table V)。总损失为 LCRCP=λ1 Lret+λ2 Lrr+λ3 Lcoh−λ4 Lboundary,其中边界项被减去,因为要缩小平移前后的分数差。
    • 无白盒时:用在 MS-MARCO 上训练的 cross-encoder 代替 Lrr。作者称同架构类之间重排可迁移,并指向 Table IV;该表标题是损失项消融,不是跨族迁移表。

    构造与算法

    • 三阶段:Algorithm 1 先用 GPT-4o 按目标查询和目标答案生成初稿;再对查询集合、分块策略和各 chunk 累加加权损失,取梯度后做 top-κ token 替换,迭代 T 次;最后做文档组合。正文给出了初始化模板,此处不复述。
    • 篇章:投毒文档由多段相对独立的对抗段落组成,每段单独被检索时仍要有意义。结构上是与查询相关的上下文、局部自洽说明、对抗目标引导和语义连贯的支撑内容。
    • 多查询:对查询集合取 LCRCP 的期望,使段落对改写或语义相近的查询仍然有效。论文未报告查询变体条数。
  4. 论文做了哪些实验?

    据Table II,全流程基线ASR为12.05%–36.85%,CRCP最低88.79%。

    实验设置

    • 生成模型:GPT-4o、DeepSeek-R1、Qwen3-Max、Qwen2.5-7B、Vicuna-7B、LLaMA-2-7B。初始化投毒初稿用 GPT-4o。
    • 数据:NQ、HotpotQA、MS-MARCO。论文未报告主表查询条数。SRR 分析在 NQ 上取 N=100 documents。
    • 检索与分块:检索器为 Contriever、ANCE、DPR;重排器正文写 MonoT5 与 BGE-Reranker-Base,Table III 表头写 BGE-Base。索引嵌入为 BGE-m3。分块尺寸为 128、256、512 characters,风格为 Early Chunking 与 Late Chunking。Table I、Table II 未写明所用检索器、重排器与分块尺寸。
    • 对照:攻击基线为 PoisonedRAG-BB、The RAG Paradox、Joint-GCG。防御对照为 VanillaRAG、InstructRAG、ASTUTERAG(正文 AstuteRAG)、TrustRAG、SeconRAG(正文 SeCon-RAG)。
    • 指标:Acc 是正确回答片段出现在生成中的查询比例,表头标为越低对攻击越有利。ASR 是生成与攻击者指定答案匹配的目标查询比例。SRR 是分块后最佳 chunk 的检索分数除以文档级检索分数。论文未写 LLM 评审或字符串匹配阈值。
    • 重复:主结果写 averaged over multiple random seeds,未写次数。Table V 为 3 个种子,std. < 1.2%。

    主结果

    下表为 Table II(分块、检索与重排)中 CRCP 的 ASR(%)。论文未说明该表的检索器、重排器与分块尺寸。

    表格较宽,可左右滑动

    生成模型NQHotpotQAMS-MARCO
    GPT-4o92.19%91.76%89.15%
    DeepSeek-R195.88%95.01%90.70%
    Qwen3-Max94.07%92.75%91.57%
    Qwen2.5-7B91.53%91.36%90.23%
    Vicuna-7B94.76%90.87%88.79%
    LLaMA-2-7B93.09%90.12%90.30%
    • 同表全部基线格子:PoisonedRAG-BB 的 ASR 为 12.05%–16.77%,The RAG Paradox 为 13.89%–23.98%,Joint-GCG 为 26.57%–36.85%。作者称既有方法下降很大,CRCP 在三个数据集上仍高于 88%。
    • Table I 仅检索器时,CRCP 与基线同量级,且不是每格最高。例如 NQ、Qwen2.5-7B:Joint-GCG 96.01%,CRCP 92.89%;NQ、DeepSeek-R1:The RAG Paradox 93.65%,CRCP 91.27%。
    • Table II 中 CRCP 的 Acc 为 13.59%–19.78%。部分基线 Acc 接近 Clean,例如 NQ、Qwen3-Max:Clean 58.15%,PoisonedRAG-BB 58.07%,Joint-GCG 57.06%,CRCP 15.20%。MS-MARCO、DeepSeek-R1 上 PoisonedRAG-BB 的 Acc 为 57.90%,高于 Clean 的 55.61%。

    信号保留率

    • 正文结合 Figure 3,在 NQ、N=100 documents 上比较 chunk size 128 与 512。论文未说明所用检索器。作者把 0.70 称为重排存活阈值。
    • chunk size 128 时,PoisonedRAG、Joint-GCG、RAG Paradox 的中位 SRR 为 0.319、0.297、0.343,100% 文档低于 0.70;从 512 到 128 的中位下降为 0.387–0.394。CRCP 在 128 为 0.807、在 512 为 0.947;最小分块下 7% 文档低于阈值,更大分块为 0%。作者报告与基线的两两比较为 Mann-Whitney U,p < 0.001。
    • 作者称这支持检索粒度不匹配。Figure 2 图注称现有方法文档级靠近查询而 chunk 被拆散,CRCP 的 chunk 仍靠近查询。转换文本没有坐标,这里只转述图注。

    分块风格与尺寸

    • Table III 报告 CRCP 在 Early/Late、尺寸 128/256/512、三种检索器与两种重排器上的 ASR。转换后有列错位,单格数字不引用。
    • 作者称 chunk size 128 时 Early 与 Late 约差 10 个百分点,并归因于 Early 独立编码 chunk、Late 以全文上下文为条件从而稀释局部对抗语义。作者称 Late Chunking 下所有配置 ASR 仍高于 70%。
    • 作者称这仍高于既有基线 13%–35% 的 ASR。Table II 基线全部格子为 12.05%–36.85%,与该概括不完全相同。

    防御评测

    • Table VI 的 VanillaRAG 行与 Table II 中 CRCP 的 ASR 一致,下文按 ASR 理解。表题未写指标名。
    • 作者称 InstructRAG 只使 ASR 下降 10%,因为段落流畅、像事实,模型会信任它们。降幅并不都是 10 个百分点:GPT-4o、NQ 从 92.19% 到 84.11%;Qwen2.5-7B、MS-MARCO 从 90.23% 到 72.10%。
    • 作者称 ASTUTERAG 与 TrustRAG 依赖跨文档一致性投票,而 CRCP 只需一条段落在重排中排第一;SeconRAG 的语义聚类被绕过,因为局部自洽段落的嵌入与正常段落重叠。表中最低一格为 DeepSeek-R1、SeconRAG、HotpotQA 的 65.34%。

    其他消融与分析

    • Table IV,正文把去掉 Lrr 放在 NQ、GPT-4o:完整 92.19% / 93.09%(LLaMA-2-7B);去掉 Lrr 为 55.8% / 56.1%;去掉 Lcoh 为 43.4% / 44.2%;去掉 Lboundary 为 61.3% / 62.7%;只留 Lret 为 14.2% / 15.3%。作者称去掉 Lcoh、Lboundary 分别降 19 与 11 个百分点,与 92.19% 到 43.4%、92.19% 到 61.3% 不一致。
    • Table V,NQ,3 个种子,std. < 1.2%。默认权重的 Mean 为 92.7%。λ2 从 2.0 到 0.5 时 Mean 从 92.7% 到 45.7%。表注称 λ2 在 1.0 到 3.0 时 ASR 不低于 91.5%,但 λ2=1.00 的 Mean 为 71.6%。
    • Figure 4:作者称四个配置下 CRCP 的下降可忽略,并称这支持粒度不匹配假设。正文未给图中数值,也未说明四个配置是什么。
  5. 有什么可以进一步探索的点?

    论文未专节讨论CRCP的局限;Conclusion呼吁更贴近实际的评测。

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

    • 论文没有 Limitations、Discussion 或 Future Work 专节,也没有把 CRCP 的失败写成自身局限。
    • Conclusion 写到需要更贴近实际的 RAG 安全评测(Section VI)。这是作者对评测设定提出的方向。同节把检索粒度不匹配称为既有攻击的限制,不是对 CRCP 的限制说明。

    实验覆盖范围

    • 生成侧模型为 GPT-4o、DeepSeek-R1、Qwen3-Max、Qwen2.5-7B、Vicuna-7B、LLaMA-2-7B(Section V.A)。
    • 数据集为 NQ、HotpotQA、MS-MARCO;检索器为 Contriever、ANCE、DPR;重排器为 MonoT5 与 BGE-Reranker-Base;分块尺寸为 128、256、512 characters,风格为 Early 与 Late Chunking(Section V.A,Table III)。
    • 攻击基线为 PoisonedRAG-BB、The RAG Paradox、Joint-GCG(Table I、II)。防御对比为 VanillaRAG、InstructRAG、ASTUTERAG、TrustRAG、SeconRAG(Table VI)。Related Work 写了 RevPRAG 与 RobustRAG,论文未报告这两项的实验结果。
    • SRR 在 NQ 上取 N=100 documents(Figure 3 正文)。Table V 为 3 个随机种子。主结果只写 multiple random seeds;论文未报告主表查询条数、注入文档数、T、top-κ 与 δmax。
    • 威胁模型区分 white-box surrogate 与 score-only black-box。实验写在没有白盒重排器时用 MS-MARCO 上训练的 cross-encoder 代替 Lrr,并称迁移见 Table IV。论文未单独报告 score-only black-box 的 ASR。
  6. 总结一下论文的主要内容

    CRCP把投毒做成多阶段一致性问题;全流程ASR最低88.79%。

    CRCP 研究的是带分块和重排的 RAG 语料投毒,而不是只提高文档级检索分数。

    • 问题:生产流水线按 chunk 检索,再用 cross-encoder 重排。作者称文档级对抗信号会被分块拆开,重排也不偏好只为稠密相似度优化的段落。
    • 做法:把分块当作一组策略,联合提高检索分数、重排分数和 chunk 内连贯性,并缩小边界平移前后的分数差。GPT-4o 按目标查询和目标答案生成初稿,再在替代模型上做 token 替换;没有白盒重排器时,用有限差分或 MS-MARCO 上训练的 cross-encoder 近似 Lrr。
    • 仅检索器:Table I 中 CRCP 与 PoisonedRAG-BB、The RAG Paradox、Joint-GCG 同量级,并非每格 ASR 最高。例如 NQ、Qwen2.5-7B 上 Joint-GCG 为 96.01%,CRCP 为 92.89%。
    • 全流程:Table II 未写明检索器与分块尺寸。六个生成模型、三个数据集上,基线 ASR 为 12.05%–36.85%,CRCP 为 88.79%–95.88%。作者称 CRCP 在三个数据集上仍高于 88%。
    • 其他数字:chunk size 128、NQ、N=100 时,三种基线中位 SRR 为 0.297–0.343,CRCP 为 0.807;作者报告两两比较 p < 0.001。去掉 Lrr 后,正文称 NQ、GPT-4o 的 ASR 从 92.19% 降到 55.8%(Table IV)。Table VI 防御后最低为 65.34%(DeepSeek-R1,SeconRAG,HotpotQA)。
    • 作者结论:作者认为语料投毒应看成多阶段检索一致性问题,并称当前 RAG 安全评测与实际流水线之间有 realism gap。
阅读原文arxiv.org