KidnapRAG:黑盒投毒攻击劫持 Agentic RAG 的推理链
KidnapRAG: A Black-Box Attack for Hijacking Reasoning in Agentic Retrieval-Augmented Generation Systems
KidnapRAG用三类投毒文档黑盒劫持推理链,ReAct+Llama-3.3-70B在MuSiQue上ASR 0.78。
给定目标查询,使Agentic RAG输出攻击者指定应答。
- Agentic RAG会反复检索和推理,弱相关投毒文档往往改不了用户查询诱导的推理链。针对智能体的攻击又常要内部访问。论文研究只能发布外部文档时,如何黑盒劫持这条链。
- KidnapRAG先从公开界面记录推理与搜索查询,再发布三类文档:Bait吸引初次检索并改写后续查询,Chain-Link维持转向,Mal-Ins在链尾给出指定证据。后两类手工写一次并复用。
- 在ReAct与WebThinker、四个骨干和三个多跳问答集上,作者称KidnapRAG的ASR高于同组黑盒基线。去掉Mal-Ins后ASR为0.00。No-Trace下ASR仍高于所比的两个基线。
- 作者称效果会随暴露的中间推理信号变化,网页索引与来源竞争可能影响可检索性;实验聚焦ReAct与WebThinker,防御空间未穷尽。评测为四个骨干、每集100条,No-Trace只报告了WebThinker。
- 威胁模型
- 给定目标查询,使Agentic RAG输出攻击者指定应答。black-box:不能访问模型、系统提示词、检索器、工具策略或私有推理轨迹;可观察公开界面的中间推理、搜索查询、检索内容与来源,并可发布可能被索引的投毒文档,但不控制是否及何时被检索。
- 被测模型
- Qwen2.5-32B-InstructLlama-3.3-70B-InstructQwQ-32BDeepSeek-R1-32BOpenAI Moderation
- 基准
- HotpotQAMuSiQue2WikiMultihopQA
- 指标
- EMASRReasoning Path Divergence ScoreTarget Redirection ScoreAnswer Preference ScoreGuard Rate
研究者提出 KidnapRAG,一种针对 Agentic RAG 系统的黑盒投毒攻击,攻击者只需发布可被外部检索到的恶意文档。该方法用 Bait、Chain-Link 和 Mal-Ins 三类角色文档分别吸引初始检索、诱导查询改写并提供攻击者控制的证据,从而劫持智能体的多步推理链。在多个 Agentic RAG 框架、LLM 基座和基准上,KidnapRAG 在黑盒条件下持续优于现有投毒基线。分析显示,该攻击会逐步削弱原始检索意图、改变检索行为并提高模型对攻击者控制证据的依赖。论文已被 EMNLP 2026 主会接收,代码已公开。
深度解读
这篇论文试图解决什么问题?
黑盒下仅发布可检索文档,能否劫持Agentic RAG的多步推理链。
仅靠外部可检索的投毒文档,能否在 black-box 下把 Agentic RAG 的多步推理链拖向攻击者指定的应答。
- 场景:作者称 Agentic RAG 交替检索、观察、推理和行动,能忽略弱相关投毒文档并保住用户查询诱导的推理链。该设计支持复杂信息需求,也被 Deep Research 一类服务采用,同时使面向单步 RAG 的黑盒投毒更难生效(Figure 1)。
- 现有不足:操纵中间推理的智能体攻击常假设可访问系统提示词、推理轨迹、检索器、参数或内部工具策略。既有 black-box RAG 投毒只需发布文档,但未针对多步 Observation–Thought–Action。
- 观察:作者认为不必强迫一份文档决定最终答案,而是逐步改写检索意图。离开用户诱导路径、进入攻击者控制的检索路径后,最终回答也可被改写。
- 做法:提出 KidnapRAG,用 Bait、Chain-Link、Mal-Ins 顺序投毒,分别吸引初次检索、维持被劫持的链,并提供攻击者控制的证据。
- 威胁模型:
- 目标:给定目标查询,使系统生成攻击者指定应答,用于引出有害内容或传播错误信息。
- 知识:black-box。无模型、系统提示词、检索器、工具使用策略或私有推理轨迹。
- 能力:可看公开界面的中间推理、生成的搜索查询、检索内容与来源(Figure 2)。可把文档发到可能被索引的公开来源,但不控制是否以及何时被检索。假设已发布文档在查询匹配时可被检到。
- 受害系统:迭代执行检索与推理的 Agentic RAG。攻击面是多步推理链,而不是单次检索结果。
有哪些相关研究?
黑盒单步投毒未改多步链,白盒智能体攻击又依赖内部访问。
论文在引言和 §2 里把相关工作分成智能体式 RAG、外部内容投毒,以及针对智能体推理或工具使用的攻击。
Agentic RAG
- Lewis 等(2020)、Izacard and Grave(2021):生成前检索外部段落,以增强事实依据。
- ReAct(Yao 等,2023):把推理步与工具调用交错,形成 think-search-observe 循环,被作者称为现代 Agentic RAG 的结构基础。
- Search-o1(Li 等,2025a)、WebThinker(Li 等,2025b):在该循环上支持自主网页导航,并在模型自己识别的知识缺口上按需检索。
外部内容与语料投毒
- Perez and Ribeiro(2022)、Willison(2023)、Liu 等(2024):外部内容中的恶意指令可改写模型行为,由此引出向检索语料注入对抗文档。
- PoisonedRAG(Zou 等,2025)、RAG Paradox(Choi 等,2025):不访问检索器或模型即可构造投毒文档。论文指出它们主要针对单步检索。
针对智能体的攻击
- AgentPoison(Chen 等,2024)、Yang 等(2024)、Qiu 等(2025):操纵中间推理或工具使用过程。论文称这类工作常假设可访问提示词、推理轨迹、检索器或模型参数等内部组件。
基线与基准
- 基线:Naive、Ignore(Perez and Ribeiro, 2022)、Fake Completion(Willison, 2023)、Combined(Liu et al., 2024)、TopicAttack(Chen et al., 2025)、PoisonedRAG、PARADOX(Choi et al., 2025)。实验把它们都当作 black-box 攻击,并与本文共用同一搜索优化和每条子查询五份文档的预算。
- 基准:HotpotQA(Yang et al., 2018)、MuSiQue(Trivedi et al., 2022)、2WikiMultihopQA(Ho et al., 2020)。
作者把本文放在上述工作之间:攻击者只能发布外部可检索文档,并须靠顺序检索引导多步推理链;既有黑盒方法主要打单步检索,既有智能体攻击又常要内部访问。
论文如何解决这个问题?
KidnapRAG用Bait、Chain-Link、Mal-Ins把检索意图逐步拖入攻击者链。
KidnapRAG 不把单份投毒文档直接写成最终答案,而是用三种角色文档,把智能体的检索意图从用户查询逐步拖到攻击者准备的固定链上(Figure 3)。
四步场景
- Reasoning Chain Profiling:向系统提交目标查询,记录公开界面上每步的中间推理、搜索查询、检索内容与来源。这些查询成为后续 Bait 的检索目标。
- Reasoning Redirection:按观察到的查询生成 Bait 并上传到可公开搜索的来源。每份 Bait 要能被该查询检索到、与当前推理上下文一致,并诱导指向第一份 Chain-Link 的后续查询。检索到 Bait 后,推理链离开原路径。
- Chain Dragging:作者称单份误导文档可能被后续搜索纠正,因此用 Chain-Link 给出继续沿攻击者上下文探索的理由,并推荐能检索到下一份文档的查询。
- Target Answer Induction:链尾引导模型检索 Mal-Ins(Malicious Instruction Document)。前文已把上下文移到攻击者设计的路径后,Mal-Ins 把目标应答写成该流程的连贯结论,而不是孤立指令。
文档角色与复用
- Bait:按每个观察到的推理步生成,匹配该系统当时的检索意图,是查询相关的入口。
- Chain-Link 与 Mal-Ins:手工编写一次,跨攻击复用。Bait 把智能体拉入链后,后续与输入查询无关,走同一套文档。
- 稀有域查询:Bait 推荐的后续查询指向竞争证据少的域,使攻击者文档更易被检索。作者据此让后续 Chain-Link 与 Mal-Ins 不再做额外搜索优化。
生成方式
- Bait:对每个观察到的搜索查询,用 Zou 等(2025)的搜索优化提高被检索到的可能。三种策略是 Keyword Poisoning & Semantic Redefinition(保留与答案相关的关键词,但放到攻击者提供的上下文里重新解释)、Intent Hijacking(把转向锚定到模型陈述的目标)、Next Query Recommendation(推荐能检索到第一份 Chain-Link 的稀有域查询)。生成模型为 Qwen3-30B-A3B-Instruct-2507,vLLM,temperature 0.6,top-p 0.9,最长 2500 tokens,presence penalty 0.1,frequency penalty 0.2。附录 A 与 Figure 11 给出完整提示词。
- Chain-Link / Mal-Ins:按固定模板手工构造。每份 Chain-Link 给出继续转向的理由和下一查询;Mal-Ins 在前述流程的上下文中给出目标应答。附录 A 给出模板。
- 链长:实验链以 Bait 开头、Mal-Ins 结尾,中间插入 0–4 份 Chain-Link,记为 BM、BC2M、BC1C2M、BC1C2C3M、BC1C2C3C4M。连接方式是改写文档中用于诱导下一查询的短语,使检索按预定顺序进行(附录 B.2)。
成功判定
- EM:正确答是否出现在回答中,越低表示原任务越被破坏。
- ASR:攻击者指定应答是否出现在最终输出中。主实验的有害目标原文被隐去。诊断用的推理链指标放在实验部分。
论文做了哪些实验?
Table 1四个骨干上Ours的ASR高于同表基线;去掉Mal-Ins后ASR为0.00。
实验设置
- 框架与骨干:ReAct 用 Qwen2.5-32B-Instruct 与 Llama-3.3-70B-Instruct;WebThinker 用 QwQ-32B 与 DeepSeek-R1-32B(表中写作 DeepSeek-32B;附录写实际跑的是 WebThinker-R1-32B)。WebThinker 的辅助模型固定为 Qwen2.5-32B-Instruct。
- 数据:三个多跳问答集各随机 100 条。语料为 HotpotQA 的 BEIR 语料 5,233,329 篇,MuSiQue 48,315 篇,2WikiMultihopQA 125,760 篇(附录 B.2)。
- 检索与解码:全部系统用 e5-large-v2。WebThinker:seed 1,max tokens 4096,top-k 5,最大搜索次数 10,并改为使用完整检索文档。ReAct:去掉 Lookup,只留 Search 与 Finish;seed 1,temperature 0,top-p 1,最长生成 100 tokens。两边最大模型长度均为 30000。
- 基线与预算:Naive、Ignore、Fake Completion、Combined、TopicAttack、PoisonedRAG、PARADOX。每个观察到的子查询生成 5 份文档,并把该子查询前置到文档前,本文与基线相同。Table 1 是代表子集,完整基线在 Table 9。
- 指标:EM 看正确答是否出现;ASR 看攻击者指定应答是否出现在最终输出。论文未写 LLM 裁判或人工一致性。诊断指标为 Reasoning Path Divergence、Target Redirection、Answer Preference Score(附录 B.1)。编码所用句向量模型论文未说明。
- 重复:Table 1 未写重复次数。附录 B.3 另对 12 个设置各做三次独立推理。
主结果
下表为 Table 1 中有害目标应答下 Ours 的 EM / ASR。EM 越低、ASR 越高,按该表箭头表示攻击越有效。四个骨干全部列出。
表格较宽,可左右滑动
骨干(框架) HotpotQA MuSiQue 2WikiMultihopQA Qwen2.5-32B-Inst(ReAct) 0.20 / 0.39 0.08 / 0.66 0.09 / 0.54 Llama-3.3-70B-Inst(ReAct) 0.20 / 0.64 0.01 / 0.78 0.09 / 0.62 QwQ-32B(WebThinker) 0.35 / 0.51 0.07 / 0.57 0.29 / 0.46 DeepSeek-32B(WebThinker) 0.46 / 0.23 0.08 / 0.53 0.20 / 0.39 - 作者称既有黑盒基线在多数设置中很少诱导出目标应答,而 KidnapRAG 在各组合上 ASR 最高、EM 下降最大。Table 9 补入 Fake Completion 与 TopicAttack 后,ASR 仍以 Ours 为各格最高;最接近的一格是 ReAct+Qwen、MuSiQue,Fake Completion 的 ASR 为 0.61。附录 bootstrap 中,ReAct+Qwen 的三个数据集不能把与最强基线的差距和抽样变异分开(Table 12)。
- Figure 4 横轴为 Reasoning Path Divergence,纵轴为 Target Redirection Score。作者称有效攻击应在右上;既有攻击靠近干净链或未朝目标答案移动,KidnapRAG 在右上。文本转换没有各点坐标。作者称 MuSiQue 与 2WikiMultihopQA 趋势相似(Figure 7、Figure 8),同样无点坐标。
- 若干基线的 EM 高于无攻击。例如 WebThinker+QwQ、HotpotQA 上 Ignore 的 EM 为 0.76,Clean 为 0.71(Table 1)。
文档角色消融
- Table 2 在代表设置上去掉 Bait、Chain-Link、Mal-Ins,或把三份合成一份(w/o Chaining)。作者称三者互补,去掉任一成分会限制整体效果。去掉 Mal-Ins 后,Table 2 与完整消融 Table 10 的 ASR 均为 0.00;EM 仍低于 Clean,作者认为只操纵推理链、不给出目标证据,也可以打乱推理。
- 无 Bait 时,作者称 EM 下降最小、ASR 更低。Table 2 中 ReAct+Qwen 的 w/o B ASR 为 HotpotQA 0.21、MuSiQue 0.30、2Wiki 0.23。无 Chain-Link 时 ASR 多低于完整方法,但 ReAct+Qwen、2Wiki 的 w/o C ASR 为 0.54,与完整方法相同。
- w/o Chaining 仍保留三部分内容,ASR 仍下降。ReAct+Qwen 为 0.12、0.41、0.22;WebThinker+QwQ 为 0.06、0.25、0.08(Table 2)。作者称没有按推理过程顺序操纵,内容本身不足以诱导目标应答。
拖链步数与答案偏好
- Table 3 在 HotpotQA 上改变 Chain-Link 步数。作者称 ASR 大体随拖链步数上升,但加步并不总是更好,合适长度取决于框架。QwQ 的 ASR 从 BM 的 0.19 到 BCCCM 的 0.51,再到 BCCCCM 的 0.31;Llama 在 BCCCM 为 0.64,BCCCCM 为 0.54;DeepSeek 从 BM 的 0.03 增至 BCCCCM 的 0.23。作者称 Table 6、Table 7 上这一效应在另两个多跳集上一致。
- Figure 5 横轴为 Pre、B、C1–C4,纵轴为 Answer Preference Score,图例为 Target 与 Correct。作者称在 B 被劫持后,正确答偏好下降或未能恢复,目标答偏好在后续 Chain-Link 步保持高位。文本未给出各点数值。作者称 Figure 9、Figure 10 在另两个数据集上趋势相似。
防御、No-Trace与审核
- 防御为提示级 Sandwich、Spotlighting,以及检索后过滤 RAGDefender,每一轮对应迭代都施加。作者称在 HotpotQA 上,防御下既有攻击更难生效,KidnapRAG 在多数设置仍有更低 EM 和更高 ASR(Table 4)。例外:WebThinker+DeepSeek、RAGDefender 下 Ours 的 ASR 为 0.04,PARADOX 为 0.05;同表 QwQ+RAGDefender 的 Ours EM 为 0.67,Combined 为 0.66。Table 16 中 WebThinker+QwQ、MuSiQue、RAGDefender 下 Ours 的 ASR 为 0.00,Naive 为 0.11。
- No-Trace 不观察中间推理与生成的搜索查询,只在 WebThinker 上与主实验中最强的两个基线比较(Table 5)。作者称 Ours 的 ASR 仍更高。QwQ、HotpotQA 上 Ours 为 EM 0.42、ASR 0.38,PoisonedRAG 为 0.73 / 0.02,PARADOX 为 0.65 / 0.04。DeepSeek、MuSiQue 上 Ours 的 EM 为 0.14,高于 PoisonedRAG 的 0.13 和 PARADOX 的 0.12,ASR 为 0.33。
- Figure 6 用 ReAct+Qwen、HotpotQA 比较 Ignore、PARADOX 与 KidnapRAG。作者称前两者观察到恶意内容后,后续 thought 仍回到原问题并继续干净搜索;KidnapRAG 的 Bait 改写任务并给出另一检索目标,后续文档维持该路径,Mal-Ins 诱导目标应答。附录 D 用 OpenAI Moderation 看累积推理链。Table 8 中 ReAct+Qwen、HotpotQA 的 Ours Guard Rate 为 0.0%,PARADOX 为 93.0%;WebThinker+QwQ 的 Ours 为 4.2%,PARADOX 为 72.8%。Table 18 中两个 ReAct 骨干、三个数据集的 Ours 均为 0.0%。
其他消融与分析
- 另一目标应答(Table 14,类命令字符串):作者称多数组合趋势与主实验相似。例外是 ReAct+Qwen、HotpotQA,Combined 的 ASR 为 0.42,Ours 为 0.39;Topic 的 EM 为 0.15,低于 Ours 的 0.20。
- 三次推理(Table 11):12 个设置的均值 ASR 都高于该设置最强基线,且差距大于双方的运行标准差。ReAct+Qwen、2Wiki 的均值差为 +0.013。
- 配对 bootstrap 10000 次(Table 12):9/12 的 ΔASR 95% 置信区间不含 0;含 0 的是 ReAct+Qwen2.5-32B 的三个数据集。作者称优势不完全来自推理随机性,但这三个设置证据不足以支持统计上的改进。
- 查询级相关(Table 13,N=1200,总 ASR 比例 0.518):Target Redirection 成功均值 0.309、失败 -0.006,点双列相关 0.636,Spearman 0.672;Reasoning Path Divergence 为 0.279 与 0.409。作者称成功更对应朝目标答案转向,而不只是偏离原路径。
有什么可以进一步探索的点?
作者称效果随推理信号与网页可检索性变化,并建议扩展架构与防御。
作者指出的局限与后续方向
- 信号粒度(Limitations):中间推理信号的可得性与粒度可能影响 KidnapRAG 的效果。No-Trace 实验显示,看不到中间推理步和生成的搜索查询时攻击仍然有效,但更丰富的可观察信号有助于更精确地构造查询相关文档。效果会随系统暴露多少中间信息而变化。
- 网页可检索性(Limitations):实验假设攻击者发布的文档可被目标系统索引和检索。更广的网页环境中,这些文档还要与既有来源竞争;索引延迟、来源过滤、域名权威、平台审核和商业检索策略变化可能影响可检索性。
- 架构范围(Limitations):实验聚焦 ReAct 与 WebThinker。作者称后续应在更广系统上评估推理过程劫持,包括带显式 planner、verifier 或多智能体协作的智能体。
- 防御空间(Limitations、Conclusion):已评估多种提示级和检索级防御,但未穷尽 Agentic RAG 的防御空间。作者称来源可信度估计、跨步推理一致性检查,以及检索与推理阶段联合运作的防御,可能进一步影响效果;在这类系统上评估仍是后续方向。结论另称需要能检测并阻止对抗性转向的防御。
实验覆盖范围
- 被测骨干为 Qwen2.5-32B-Instruct、Llama-3.3-70B-Instruct(ReAct)与 QwQ-32B、DeepSeek-R1-32B(WebThinker;附录写后者实际使用 WebThinker-R1-32B),框架为这两个。
- 数据集为 HotpotQA、MuSiQue、2WikiMultihopQA,各随机 100 条;语料规模分别为 5,233,329、48,315、125,760(附录 B.2)。检索器统一为 e5-large-v2。
- 防御评测包括 Sandwich、Spotlighting、RAGDefender,并在每一轮对应迭代施加;附录 D 另报告 OpenAI Moderation 对推理链的 Guard Rate。
- No-Trace 只在 WebThinker 的两个骨干上报告(Table 5)。EM/ASR 按字符串是否出现判定;论文未报告人工一致性,也未说明诊断指标的句向量模型。
- 投毒文档生成使用 Qwen3-30B-A3B-Instruct-2507。每个观察到的子查询生成 5 份文档。附录 B.3 对 12 个设置各做三次推理;Table 1 未写明是否为这三次的均值。相关工作写明白盒智能体攻击假设内部访问,实验比较的是七种黑盒基线。
总结一下论文的主要内容
顺序投毒可把多步推理拖向指定应答,作者称关键在持续引导而非单次注入。
KidnapRAG 是针对 Agentic RAG 的 black-box 语料投毒:攻击者不能访问模型、提示词、检索器或私有轨迹,只能发布可能被检索的文档,并利用公开界面上的推理与搜索查询。
- 问题:单步 RAG 投毒往往改不了会反复检索、丢弃弱相关证据的智能体;已有智能体攻击又常要内部访问。
- 方法:Bait 对上当前子查询并诱导稀有域后续查询,Chain-Link 维持转向,Mal-Ins 在链尾给出指定应答。后两类手工写一次后复用。成功看最终输出是否出现指定应答(ASR),同时用 EM 看正确答是否还在。
- 主结果:ReAct 与 WebThinker、四个骨干、三个多跳集各 100 条。Table 1 中 Ours 的 ASR 在各格高于同表基线,例如 ReAct+Llama-3.3-70B-Inst、MuSiQue 为 0.78,WebThinker+DeepSeek-32B、HotpotQA 为 0.23。Table 9 补全基线后 ASR 仍以 Ours 最高。
- 机制与例外:去掉 Mal-Ins 后 ASR 为 0.00(Table 2、Table 10)。拖链加步并不总提高 ASR,例如 HotpotQA 上 QwQ 的 BCCCCM 为 0.31,BCCCM 为 0.51(Table 3)。HotpotQA 多数防御设置中 Ours 的 ASR 仍较高,但 DeepSeek 加 RAGDefender 时为 0.04,低于 PARADOX 的 0.05(Table 4)。No-Trace 下 WebThinker 的 ASR 仍高于所比基线(Table 5)。
- 作者结论:迭代推理能挡住朴素投毒,也形成可在 black-box 下利用的顺序攻击面。作者称效果来自多步维持被改写的推理链,而不只是检索到投毒文档,并认为需要能发现和阻止这种转向的防御。