系统:运行中
← 返回所有攻击
ADVERSARIAL MEDIUM NEW

SilentRetrieval:能绕过困惑度过滤的流畅 RAG 语料投毒

2026 年 5 月 27 日 arXiv 预印本提出一种两阶段攻击,将劫持触发器隐藏在流畅文档中,在 Natural Questions 和 MS MARCO 上以每查询一份投毒文档实现 57% 的 LLM 攻击成功率。

2026-05-29 // 6 min affects: rag-pipelines, dense-retrievers, natural-questions-rag, ms-marco-rag, vector-databases

这是什么?

2026 年 5 月 27 日,一篇题为 SilentRetrieval: Hijacking Retrieval-Augmented Generation via Semantically-Preserving Adversarial Data Poisoning 的预印本 (arXiv 2605.28074) 提出了一种语料投毒攻击,它能够同时绕过生产环境 RAG 团队最常依赖的两道过滤:检索打分和基于困惑度的异常检测。投毒文档读起来像普通文本,自然地融入语料库,只有在被检索到时才会引导模型生成攻击者选择的答案。

该论文延续了 2024 年 PoisonedRAG 开启、2025 年由若干实战和黑盒变体延展的工作脉络。新的要素是流畅性:此前的攻击往往会留下可被防御者通过统计过滤发现的困惑度指纹。SilentRetrieval 明确地对可检索性和语言模型似然度进行联合优化,这使其超越了又一篇语料投毒论文。

工作原理

攻击分为两个阶段。

第一阶段 —— Coordinated Beam Search (CBS)。 与逐 token 改写宿主文档以匹配检索相似度目标不同,CBS 在多 token 联合搜索的空间中,同时优化两个目标:与目标查询的语义相似度,以及在参考语言模型下的低困惑度。最终得到的宿主文档既保留对目标查询的可检索性,又读起来自然。

第二阶段 —— Context-Adaptive Trigger Generation (CATG)。 然后使用一个冻结的 LLM 将一个小的”触发器”——攻击者希望被遵循的操控指令——融入这段流畅文本中。CATG 会根据周围上下文调整触发器的措辞,使融合后的文档不会出现简单注入常见的指令式断裂。

可以这样理解整套设计:

# 防御方通常信任的两道过滤 —— SilentRetrieval 对各自做了什么

  检索过滤
    "丢弃与近期查询相似度可疑的文档。"
    → CBS 让投毒文档保留在目标查询的 top-k 中,
      但不至于被优化成显眼的离群点。

  困惑度过滤
    "丢弃表层文本统计上异常的文档。"
    → CBS 受约束以保持困惑度接近语料库基线;
      CATG 将触发器融入文档,使拼接缝隙不可见。

论文报告的数据,在 Natural Questions 和 MS MARCO 上以每查询一份投毒文档的设置下:top-10 命中率 84.6% / 81.3%,LLM 攻击成功率 57.5% / 54.8%,同时困惑度接近良性基线。攻击者每个目标查询只需植入一份流畅文档即可。

为什么重要

三个性质把这项结果与一般的语料投毒标题区别开。

第一是威胁模型。SilentRetrieval 既不假设可以访问检索器权重,也不假设可以访问回答模型。攻击者只需要能够向语料库中写入内容——而在真实部署里,这包括 RAG 自动摄入的任何来源:维基、工单系统、公开爬虫、第三方文档、用户上传文件、供应商知识库。每一条写入路径如今都带有不容忽视的完整性风险。

第二是防御盲区。许多生产 RAG 堆栈依赖于 (a) 来源白名单、(b) 基于相似度的检索打分以及 (c) 对检索片段使用困惑度或”看起来像注入”的分类器的组合。SilentRetrieval 的设计就是为了同时绕过 (b) 和 (c)。白名单 ((a)) 只有在每一条摄入路径都被精挑细选时才有效,而一旦系统接触用户上传或网络数据,这个前提通常都不成立。

第三是经济视角。每个目标查询只需要一份投毒文档,就能在标准基准上把攻击成功率提升到 50% 以上。这是一笔小、可重复、低噪声的写入——正是那种在普通内容贡献中难以被注意到的修改。

该攻击直接落在 OWASP LLM04:2025 — Data and Model Poisoning 范围内,并与 LLM08:2025(向量与嵌入弱点)有重叠。它是一项研究结果,而非针对某个具名产品的 0-day,但它使得”RAG 语料库的拥有者究竟能信任自己索引中的什么”这个问题变得更尖锐。

防御措施

没有单一控制能彻底消除这一类攻击。截至 2026 年 5 月,可靠的清单是:

  1. 将 RAG 语料库视为写入边界,而不仅是读取边界。 对每一条摄入路径进行认证和日志记录,为条目打上 sourceingested_byingested_at 标签。生产环境最常见的失败,是”语料库”实际上是十几条无人负责的写入路径的并集。
  2. 基于来源而非仅相似度对检索打分。 来自低信任来源的高相似度命中,应当被降权或在进入生成器上下文之前送审。
  3. 在回答阶段防御,而不仅在检索阶段。Traceback of Poisoning Attacks to RAG(2025 年 4 月,2026 年仍在更新)这样的工作可以把生成的回答追溯到具体被检索到的文档:可疑回答能定位将其引导出来的源——对事件响应和持续清洗语料库都有用。
  4. 降低单一文档的杠杆。 在生成器把某个事实当作既定结论之前,要求至少两份来自独立来源桶的检索文档相互印证。SilentRetrieval 的数据基于每查询一份投毒文档:把门槛提高到两份独立来源,攻击者成本大致按平方上升。
  5. 关注与查询相关的异常。 一份文档在某个异常具体或敏感的查询下出现在 top-k 中,特别是当它一周前并不会是该查询的自然答案时,值得被标记——即使其表层文本干净。
  6. 限制下游影响范围。 触发工具调用或用户可见动作的生成回答,不应继承语料库的全部信任。限制 agent 滥用的那些按工具 ACL 和人工确认,同样能限制 RAG 滥用。

状态

项目参考日期说明
SilentRetrieval 论文arXiv 2605.280742026-05-27在 NQ / MS MARCO 上 HR@10 84.6%/81.3%,ASR-LLM 57.5%/54.8%
PoisonedRAG(前作)arXiv 2402.078672024-02首篇被广泛引用的 RAG 语料投毒工作
Traceback 防御arXiv 2504.216682025-04将生成回答归因到被检索文档
类别OWASP LLM Top 10 (2025)2025LLM04 数据与模型投毒 + LLM08 向量与嵌入弱点

该论文是研究成果,而不是针对某个具名供应商的已披露漏洞利用。其操作含义并不依赖于某一具体技术栈:任何接受来自其不掌控渠道内容的 RAG 流水线,都已经新增了一块仅靠困惑度过滤无法覆盖的完整性面。

Sources