VerTox:用可验证奖励引导的强化学习对神经排序模型实施语料投毒
VerTox: Verifiable Reward-Guided Corpus Poisoning Against Neural Ranking Models
VerTox用RLVR微调小LLM做语料投毒,白盒域内Gemma2-2b-it的Top@1为0.84。
攻击者类似普通用户:不能改已有语料或检索基础设施,可发查询、查看结果并注入新文档。
- 神经排序会给语义相近却误导的文档高分,而LLM降低了批量生成这类文本的门槛。攻击者即使只能像普通用户那样注入少量文档,也可能扭曲排序并影响RAG。
- VerTox把语料投毒写成RLVR,用GRPO和LoRA微调小LLM。奖励含代理检索器上的排序边际、双向NLI事实不一致、查询复读惩罚和长度惩罚;代理为SimLM-base。
- 白盒SimLM-base上,Gemma2-2b-it域内平均ASR为1.00、Top@1为0.84。黑盒Cohere上该生成器八数据集平均Top@1为0.89。原始上下文RAG准确率达0.70,投毒后论文写near 0.30。
- 作者指出主要适用于开放检索,未评防御,并认为多代理训练和人工事实性评估会加强分析。RAG实验为100条FlashRAG查询、两个回答模型和一个LLM评审。
- 威胁模型
- 攻击者类似普通用户:不能改已有语料或检索基础设施,可发查询、查看结果并注入新文档。黑盒下无目标排序器内部分数,训练用可访问的本地代理。目标是让对抗文档超过当前顶部良性文档,并写入误导而非复述。受害系统为神经排序模型及下游RAG。评测把可访问的SimLM-base视为white-box。
- 被测模型
- SimLM-baseBGE-baseCohere-embed-english-v3.0SPLADERepLLaMARankLLaMAQwen3-8BGPTOSS-20B
- 基准
- MS MARCOTREC DL 2019TREC DL 2020BEIRNQFiQATouché-2020TREC-COVIDSciFactNFCorpusFlashRAGWikipedia dump
- 指标
- ASRTop@1Top@10PPLDale-ChallnDCG@10RAG answer accuracy
研究者提出 VerTox,首个把语料投毒形式化为可验证奖励引导强化学习(RLVR)问题的框架,通过专门的奖励塑形把排序扭曲与事实污染耦合起来,将小型 LLM 微调为对抗文档生成器。实验显示该方法取得接近完美的攻击成功率,生成的对抗文档在主流神经排序架构以及一个商用嵌入模型上常排在目标文档之前。这些文档语言流畅、困惑度低,难以被检测;由于显式鼓励事实污染,它们还显著拉低了下游 RAG 应用的性能。该工作已被 EMNLP 2026 主会接收。
深度解读
这篇论文试图解决什么问题?
作者用可验证奖励微调小模型,向语料注入文档以扭曲神经排序并腐蚀事实。
神经排序器会把语义对齐但事实误导的注入文档排到前面,并进一步带偏下游 RAG。
- 场景:神经排序已是网页搜索和 RAG 的核心。作者认为模型追逐与相关性相关的模式,高分不表示文档忠实或符合用户信息需求;LLM 能批量生成事实错误、但仍语义丰富并模仿高相关模式的文本。
- 现有不足:词替换要为每个查询–文档对累积梯度,且迭代替换损害流畅性,易被困惑度过滤。嵌入扰动解码后可能不流畅,扰动也难迁到其他排序器。直接提示 LLM 没有排序目标的显式反馈,作者认为难以稳定压过当前顶部良性文档。
- 作者的目标:内容生成器要同时做到两点——对抗文档的排序分超过该查询当前顶部良性文档,并且改动相关事实,而不是复述证据。
- 本文提出:作者提出 VerTox,把语料投毒写成可验证奖励强化学习(RLVR),用 GRPO 微调小 LLM。奖励耦合排序扭曲与事实腐蚀,并惩罚查询复读。作者称这是首个将该问题写成 RLVR 的框架。
- 威胁模型:
- 目标:注入少量文档,扭曲检索,并让用户看到误导内容,而不只是改写证据。
- 知识:不能操作检索基础设施。黑盒下没有目标排序器的内部分数;优化使用攻击者可访问的本地代理。作者把对 SimLM-base 的评测视为 white-box,因为优化阶段可访问该模型。
- 能力:可发查询、查看结果、加入新文档,类似搜索引擎索引新页面;不能修改已有语料。
- 受害系统:神经排序模型,包括稠密、学习稀疏、交叉编码器,以及闭源商业嵌入模型。论文另把对抗文档插入 RAG 上下文,观察回答准确率。
有哪些相关研究?
作者称据其所知首次将基于LLM的语料投毒形式化为RLVR。
论文按神经排序、词替换、嵌入扰动和 LLM 生成投毒组织相关工作,并用这四条线定位 VerTox。
- 神经排序与 RAG:Karpukhin et al.(2020)做稠密检索,Formal et al.(2021)做学习稀疏检索,Nogueira and Cho(2019)与 Nogueira et al.(2020)做交叉编码器重排。论文写到,这些模型也是 RAG 的检索骨干,检索错误会传到下游生成(Shi et al., 2023;Cuconasu et al., 2024)。
- 词替换攻击:PRADA(Wu et al., 2023)、MCARA(Liu et al., 2023a)、TARA(Liu et al., 2023b)替换有影响的 token;Order-Disorder(Liu et al., 2022)与 HotFlip(Ebrahimi et al., 2018)把该思路延伸到注入文档。论文指出其优化效率与语义保持有局限:HotFlip 一类方法要对每个查询–文档对做代价高的梯度累积(Wang et al., 2022;Lupart and Clinchant, 2023;Su et al., 2025b);迭代替换还会损害语法流畅性,从而容易被困惑度过滤。
- 嵌入扰动:沿 Vec2Text(Morris et al., 2023),这类工作扰动文档嵌入再解码(Zhuang et al., 2024)。EMPRA(Bigdeli et al., 2026)把句子在嵌入空间移向查询,并在保持原语义与事实的约束下解码。论文指出,嵌入空间优化比 token 替换更平滑(Li et al., 2020),但小扰动映射回文本时 token 变化可能不稳定、输出不流畅;嵌入拓扑依模型而异(Barannikov et al., 2022),一种编码器上的扰动模式迁到其他排序器可能较差。
- LLM 生成的对抗内容:Chen et al.(2023)、Mei et al.(2025)、Hu et al.(2026)用 LLM 生成投毒文档。AttChain(Liu et al., 2025)用思维链按反馈迭代修改目标文档局部;论文指出每步依赖上一步反馈,在大量查询和文档上扩展可能代价高。论文写到,PoisonedRAG(Zou et al., 2025)把恶意文本注入 RAG 知识库以引导下游 LLM 回答,但聚焦答案操纵,并重复查询来保证检索曝光。
- 基线与数据:实验基线是 RandomToken、HotFlip、EmbedPerturb 和 Prompting(Qwen3-8B)。训练用 MS MARCO;攻击评测用 TREC DL 2019/2020 和 BEIR 的 NQ、FiQA、Touché-2020、TREC-COVID、SciFact、NFCorpus;下游用 FlashRAG。
作者把区别写成:VerTox 针对神经排序器,而不是只做答案操纵。作者称据其所知,这是第一次把基于 LLM 的语料投毒形式化为 RLVR,并用可验证奖励同时要求排序扭曲、事实腐蚀和抑制查询复读。
论文如何解决这个问题?
VerTox用GRPO微调生成器,奖励同时推动排序扭曲、事实腐蚀并惩罚查询复读。
VerTox 把内容生成器的微调写成 RLVR:用可自动核验的奖励,让小 LLM 生成既能抬高排序、又偏离良性证据的文档。
问题设定与优化
- 输入:策略在目标查询 q 和当前顶部良性文档 d+ 条件下采样对抗文档。监督来自可自动计算的标量奖励,而不是人类偏好标签。
- GRPO:对每个输入抽一组候选,组内把奖励减均值、再除以标准差加 epsilon,得到相对优势;用截断后的策略比率做替代目标。作者遵循 Yu et al.(2025)与 Olmo et al.(2026),去掉原 GRPO 的 KL 项。论文未报告组大小 G。
排序扭曲奖励
- 代理分数:黑盒下攻击者拿不到目标排序器内部分数,故用本地代理,分数落在 [-1, 1]。训练与 white-box 评测的代理是 SimLM-base。
- 归一化:原始边际是对抗文档分数减去 d+ 的分数,再除以 d+ 之上剩余的分数空间。作者给出的理由是让不同查询可比:良性文档已靠近代理上限时,同样的绝对增分得到更大信用。
- 连续奖励:Rrank=2·σ(αΔ̄rank)−1。作者称未超过良性文档之前也有逐步升高的奖励,极端分差不会主导优化。附录 A 将 α 设为 5。
事实腐蚀与查询复读
- 双向不一致:事实项用冻结的 NLI 幻觉检测器 HHEMv2。分数越大表示后者越被前者支持。作者认为单方向不一致可能只来自追加或删除,因此奖励取两个方向不一致的平均,用来抑制只追加或只删除。
- 复读惩罚:用查询与等长子串的部分 Levenshtein 相似度,只惩罚超出良性文档已有重叠的部分,再按剩余相似度空间归一化,并经 sigmoid 映到 [0, 1]。作者称这是为了抑制复制查询换词面重叠的 reward hacking,同时保留良性文档里已有的查询相关表述。附录 A 将 β 设为 5。
- 长度项:词数比落在 [ηmin, ηmax] 之外才施加二值惩罚。论文未给出这两个阈值。
总奖励与训练
- 加权和:R=λrankRrank+λfactRfact−λrepRrep−λlenRlen。附录 A:前三项权重均为 1.0,长度权重为 0.3;验证器全部冻结。
- 数据与适配:MS MARCO 抽样 3,000 个查询–段落对,提示含查询和作为良性文档的正段落。三个生成器都做 LoRA:秩 16、缩放 32、dropout 0.05、学习率 1×10^-5、每设备 mini-batch 4、梯度累积 4 步、5 个 epoch。Qwen3-0.6B 用 non-thinking 模式。
攻击暴露与判定
- Top-1:把当前排名第一的良性文档交给生成器,每查询生成一篇并插入语料。
- ASR:对抗文档排名高于最低的相关文档即计成功。Top@k 看是否进入前 k,论文报告 Top@1 与 Top@10。
- 作者对指标的说明:附录 D 写到,流畅且与查询相关的生成很容易在 ASR 上成功,却未必压过最强证据,因此 Top@1 和 Top@10 更能表示攻击强度。流畅性代理是 Llama3.2-1B 的困惑度和 Dale-Chall。
论文做了哪些实验?
白盒域内Gemma2-2b-it的ASR为1.00、Top@1为0.84,黑盒Cohere平均Top@1为0.89。
实验设置
- 生成器:Qwen3-0.6B(non-thinking)、Llama3.2-1B-Instruct、Gemma2-2b-it;MS MARCO 3,000 对,LoRA+GRPO,5 个 epoch。排序奖励的代理是 SimLM-base。
- 被测排序器:white-box 为 SimLM-base。black-box 为 BGE-base、Cohere(Table 3 写作 Cohere-embed-english-v3.0)、SPLADE、RepLLaMA、RankLLaMA。
- 数据:域内 TREC DL 2019 与 2020;域外 BEIR 的 NQ、FiQA、Touché-2020、TREC-COVID、SciFact、NFCorpus。论文未报告各测试集用于攻击评测的查询数。
- 基线:RandomToken(替换比 p=0.3)、HotFlip、EmbedPerturb、Prompting(Qwen3-8B,thinking,与训练同一指令提示)。论文未写明 HotFlip 的梯度来自哪一个排序模型。
- 指标:ASR 为超过最低相关文档;另报 Top@1、Top@10、Llama3.2-1B 的 PPL、Dale-Chall。RAG 准确率由 GPT5 判定。论文未报告重复次数,也未报告评审与人工一致性。
- Top-1 协议:当前顶部良性文档交给生成器,每查询一篇,插入语料。
主结果
下表为 Top-1 攻击的八数据集平均 Top@1。SimLM-base 行据 Table 6 的 Avg.,且该行目标就是训练代理;其余行据 Table 2 的 Avg.。
表格较宽,可左右滑动
目标排序模型 Prompting VerTox Qwen3-0.6B VerTox Llama3.2-1B-Instruct VerTox Gemma2-2b-it SimLM-base(白盒,即代理) 0.48 0.78 0.77 0.81 BGE-base 0.54 0.76 0.74 0.82 Cohere 0.66 0.84 0.85 0.89 SPLADE 0.62 0.78 0.80 0.85 RepLLaMA 0.55 0.80 0.80 0.84 RankLLaMA 0.49 0.59 0.58 0.68 - 相对提示与耗时:作者称更小的 RLVR 生成器在 Top@1 上高于提示 8B,且单查询更省时。Table 1 域内平均 Sec./Query:VerTox(Qwen3-0.6B)0.44,Prompting 3.15,HotFlip 480.95。非 LLM 基线的八数据集平均 Top@1,Table 2 的 Avg. 列为 0.00–0.04,Table 6 为 0.01–0.06。
- 作者对迁移的解读:作者称黑盒目标都强于训练代理,但生成器仍能攻击它们。Table 4 平均 nDCG@10:SimLM-base 0.41,五个黑盒模型 0.55–0.62。作者认为不同架构仍依赖可被利用的共享相关性信号。
- 例外:Table 1 域内平均 ASR,Llama 与 Gemma 的 VerTox 为 1.00,Qwen 为 0.98,低于 Prompting 的 0.99。Table 2 中 RepLLaMA 的 Touché:Gemma2-2b-it 为 0.57,Prompting 为 0.59。附录 D 作者称 ASR 对 LLM 投毒不够有信息量。
扩到多个顶部文档
- 测了什么:对原排序前 k 篇(0≤k≤10)各生成对抗文档,用原相关性标签计算 nDCG@10。Figure 2 含 BGE-base、SPLADE、RepLLaMA、RankLLaMA,箱线汇总八个评测集,纵轴为 nDCG@10。
- 正文没有逐点读数:作者称平均 nDCG@10 随 k 增加而下降,从无攻击到 Top-1、Top-2 的下降 especially sharp;只毒化少量高排名文档就足以扰乱检索质量。
- 作者解读:作者称 BGE-base、SPLADE、RepLLaMA 在 Top-10 攻击下出现 severe degradation,RankLLaMA 的 nDCG@10 略高,但轨迹同样向下。
下游 RAG
- 设置:100 条 FlashRAG 查询,BGE-base 从 Wikipedia dump 检索,按排序分插入对抗文档。k∈{1, 3, 5, 7, 10} 的上下文给 Qwen3-8B 与 GPTOSS-20B,GPT5 判准确率。论文未写明此处用的生成器骨干。
- 结果:原始上下文下准确率随证据增多而上升,两模型都达到 0.70。投毒上下文下,作者称两模型在所有 k 上维持 near 0.30。
- 作者解读:作者称对抗文档中的事实腐蚀会误导回答生成器,并 substantially degrade RAG 可靠性。
案例与失败
- 低可读性基线:Figure 5 用 Cohere-embed-english-v3.0。良性文档 0.571,HotFlip 0.351,EmbedPerturb 0.474;作者称二者可读性低且未压过原文。不复述图中文本。
- 提示与 VerTox:提示 Qwen3-8B 为 0.592,作者称大体保留原证据并在后面附加编造内容。VerTox 为 0.695,作者称直接替换了查询相关事实。Figure 1 的 NQ 示例也是 0.695 对 0.571。
- 失败与领域例:Figure 7 两例为 0.796 对 0.812、0.773 对 0.779。作者称原文紧凑且直接回答查询时,余量不足以在写入错误事实的同时超过顶部文档。Figure 6(FiQA)中 VerTox 0.915、良性 0.801,作者称没有领域知识时虚假描述仍显得像真的。
其他消融与分析
- 排序奖励 dense margin 对 binary(只奖励成功超过):Figure 4,论文未给具体 Top@1;作者称 dense 在八个数据集、六个排序模型上的平均 Top@1 更高,因为未成功样本也有缩小分差的增量信号。
- Dale-Chall 平均(Table 5):良性 11.7;VerTox(Gemma2-2b-it)12.0(+0.3);Prompting 12.1(+0.4);EmbedPerturb 12.5(+0.8);RandomToken 14.7(+3.0);HotFlip 18.7(+7.0)。
- 白盒域内平均 PPL(Table 1):VerTox Llama 12.16,Prompting 16.15,VerTox Qwen 19.89,VerTox Gemma 31.67,EmbedPerturb 158.64,HotFlip 6079.69。
- 白盒域内平均 Sec./Query(Table 1):RandomToken 0.10,VerTox Qwen 0.44,Llama 0.49,Gemma 0.76,Prompting 3.15,EmbedPerturb 172.49,HotFlip 480.95。
- 黑盒 Top@10 的 Avg.(Table 7):Cohere 上 Prompting 0.99,三个 VerTox 均为 0.98;SPLADE 上 Prompting 0.97,Qwen 与 Llama 为 0.94。作者称提示与 VerTox 在 Top@10 上相当,分化主要在 Top@1。
- 白盒八数据集平均 Top@10(Table 6 Avg.):Prompting 0.83;VerTox Qwen/Llama/Gemma 为 0.92/0.93/0.94。
有什么可以进一步探索的点?
作者指出未评防御与防火墙后语料,RAG仅100条查询和两个回答模型。
作者指出的局限与后续方向
- 开放语料:本文的投毒设定主要对应网页和垂直搜索等开放检索;防火墙后维护的语料不在范围内(Limitations)。
- 未做防御实验:未评估 duplicate filtering、spam detection、content moderation 或 adversarial retraining(Limitations)。
- 分析还可加强:作者写到,多代理训练,以及对事实性与可检测性的人工评估,会加强分析(Limitations)。
- RAG 规模:下游实验限于 100 条 FlashRAG 查询、两个回答模型和一个 LLM 评审;作者称还需要更大规模,以及更多领域、评审和检索流水线(Limitations)。
- 可控腐蚀:未来可将本文的随机事实腐蚀扩展为针对特定主张或实体的可控攻击(Conclusions and Future Work)。
- 智能体与防御:未来可做多轮智能体设定,按中间查询、检索证据和动作改写文档,奖励看最终答案或决策;也可用语料过滤或对抗训练,联合评估检索相关性与事实一致性(Conclusions and Future Work)。
实验覆盖范围
- 模型:排序模型为 SimLM-base、BGE-base、Cohere、SPLADE、RepLLaMA、RankLLaMA,共 6 个;生成器为三个小 LLM,Prompting 使用 Qwen3-8B(Section 4.1)。
- 协议:包含 white-box 与 black-box 的 Top-1,以及 0≤k≤10 的 nDCG@10;Figure 2 画了四个排序器。指标含 ASR、Top@1、Top@10、PPL、Dale-Chall、nDCG@10(Section 4.1–4.3)。
- 数据与下游:训练为 MS MARCO 3,000 对;攻击评测为 TREC DL 2019/2020 与 BEIR 六集。RAG 为 100 条 FlashRAG、Wikipedia dump、BGE-base、Qwen3-8B 与 GPTOSS-20B、GPT5 评审(Section 4.1、4.4)。
- 消融:只比较了排序扭曲奖励的 dense 与 binary(Section 4.5,Figure 4)。论文未报告去掉事实腐蚀项或查询复读项后的数字。
- 未报告的实验信息:论文未报告各测试集攻击查询条数、评测重复次数、GRPO 组大小 G、长度比阈值、HotFlip 梯度所属模型、RAG 所用生成器骨干,以及 GPT5 与人工的一致性。
总结一下论文的主要内容
VerTox以可验证奖励微调小LLM,生成能抬高排序并腐蚀事实的投毒文档。
VerTox 用可验证奖励把小 LLM 微调成语料投毒生成器,用来探测神经排序器在注入文档下的暴露面。
- 要解决的事:攻击者不能改检索系统,只能发查询、看结果并加入新文档。生成器既要压过当前顶部良性文档,又要改写查询相关事实,而不是复述证据。
- 做法:GRPO 优化策略,奖励由 SimLM-base 上的连续排序边际、双向 NLI 不一致、查询复读惩罚和长度惩罚组成。生成器是 Qwen3-0.6B、Llama3.2-1B-Instruct 和 Gemma2-2b-it。作者称据其所知,这是第一次把基于 LLM 的语料投毒写成 RLVR。
- 白盒:目标即代理 SimLM-base 时,Gemma2-2b-it 的域内平均 ASR 为 1.00、Top@1 为 0.84(Table 1)。三个 VerTox 变体的域外平均 Top@1 为 0.79–0.80,Prompting 为 0.49。域内 Qwen 的 ASR 为 0.98,低于 Prompting 的 0.99。
- 黑盒:八数据集平均 Top@1,Gemma2-2b-it 在 Cohere 上为 0.89,在 RankLLaMA 上为 0.68(Table 2)。作者认为迁移来自不同架构共享的相关性信号;Table 4 中这些黑盒模型的平均 nDCG@10 为 0.55–0.62,代理为 0.41。
- 下游:原始上下文下 Qwen3-8B 与 GPTOSS-20B 的 RAG 准确率达到 0.70;投毒后作者称两模型在各 k 上维持 near 0.30(Figure 3)。作者称,LLM 生成的语料投毒是神经排序系统上实际且可迁移的威胁。