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

BM25 + 向量混合检索将 RAG 投毒成功率从 38% 降到 0%

2026 年 3 月 10 日的一篇 arXiv 预印本表明,在稠密检索之外加入稀疏 BM25,即可在不改动 LLM 的情况下阻断一整类基于梯度优化的 RAG 语料投毒。

2026-06-04 // 6 min affects: rag-pipelines, dense-retrievers, vector-databases, gpt-5-3, claude-sonnet-4-6, llama-4

这是什么?

2026 年 3 月 10 日,一位独立研究者发布了 Semantic Chameleon: Corpus-Dependent Poisoning Attacks and Defenses in RAG Systems(arXiv:2603.18034)。其核心结论是防御性的:一个简单的混合检索器——将经典的 BM25 关键词检索与稠密向量检索相结合——在 n = 50 的评测中把基于梯度优化的 RAG 投毒的共检率从 38% 降到 0%,且无需改动 LLM、系统提示或排序逻辑

RAG 投毒在 OWASP LLM Top 10 中被列为向量与嵌入相关的弱点。攻击者只要能向知识库注入文档——通过用户生成内容、API 提交或被攻陷的数据管道——就能植入在特定目标查询下被检索出来、进而操纵模型回答的文本,而完全无需触及模型权重。该论文的贡献在于表明:检索架构本身就是一种强大、廉价且可立即部署的控制手段,可对抗这种攻击的梯度优化变体。

工作原理

被防御的攻击是一种用 贪婪坐标梯度(GCG) 优化的双文档(潜伏—触发)投毒——与生成通用越狱后缀的坐标搜索同属一族。该优化在嵌入空间中最大化余弦相似度,使被投毒的文档对在选定查询下被共同检索,而对其他查询保持潜伏。在对 Security Stack Exchange(67,941 篇文档)使用纯向量检索时,其共检率达到 38.0%

防御之道是不再仅依赖嵌入相似度:

Retrieval mode                        Gradient-guided attack success
------------------------------------  ------------------------------------------
Pure dense (vector only)              38.0%  co-retrieval
Hybrid BM25 + vector (alpha 0.3-0.7)  0%     — attack class eliminated
Hybrid, attacker also optimizes BM25  20-44% — partially circumvented

之所以有效:经 GCG 优化的嵌入向量是针对稠密通道调校的。BM25 衡量的是词项重叠,而优化后的载荷无法控制这一点,因此一旦融入稀疏信号,被投毒文档便不再浮现。论文推荐以 alpha ≤ 0.5(偏向或均衡稀疏通道)的混合权重作为默认值。论文也坦诚其局限:当攻击者同时针对两个通道联合优化时,混合检索会被部分绕过(成功率 20–44%)。混合检索大幅抬高了攻击门槛,但并非坚不可摧。

对防御者还有两点值得注意。其一,易感性因模型而异:在五个 LLM 上,端到端攻击成功率从 46.7%(GPT-5.3)93.3%(Llama 4) 不等,安全违规率从 6.7%(Claude Sonnet 4.6)到 93.3%(Llama 4)——安全训练有帮助,但无法消除差距。其二,攻击依赖语料:技术语料会吸收攻击词汇并带来隐蔽性,而通用语料(FEVER Wikipedia)则会把相同载荷暴露为词汇异常,不同语料间的检测难度相差 13 至 62 倍。同一载荷无法跨知识库迁移。

为何重要

迄今提出的多数 RAG 防御都是在检索之后加装的检测与过滤层,而既有研究表明它们都留有残余风险。本结果反其道而行:一个你大概已具备组件的改动——稀疏 + 稠密融合本就是检索质量的标准做法——同时也充当对抗梯度优化攻击类的安全控制。这是少见的低成本、当下即可部署的缓解措施。

它也重新界定了 RAG 风险的分析方式。易感性不是你整套系统的单一数字,而是检索器架构、模型安全训练与语料构成三者的乘积。在某一语料上验证有效的防御,未必能在另一语料上成立——因此“我们在基准 X 上测过”并不能证明它在你的生产知识库上成立。这与 SilentRetrieval 的演示是同一道理:流畅的毒文档能绕过困惑度过滤器;检索层的威胁需要从检索层与语料层的角度来思考。

防御措施

研究结果可转化为一套分层、可落地的防御姿态。

  1. 默认部署混合检索。 将 BM25 与稠密检索器融合(例如通过倒数排名融合),并向稀疏通道倾斜——论文推荐混合权重 alpha ≤ 0.5。在测试中,这彻底消除了单通道的梯度攻击。

  2. 不要把混合检索当作边界。 联合稀疏 + 稠密优化仍可达到 20–44%。在其之上叠加语料监控与查询模式检测;应假设了解你检索器的坚定攻击者仍可能突破。

  3. 逐模型评估易感性。 各模型族之间高达 47 个百分点的差距意味着:对 RAG 而言,模型选择是一项安全决策,而不仅是质量决策。上线前应测量你的模型在“被检索但已投毒”上下文下的行为。

  4. 把数据摄入设为信任边界。 在用户生成内容、API 提交和第三方数据流进入语料之前进行过滤。只在目标查询下激活的持久性毒文档,恰恰是人工审查会漏掉的情形。

  5. 采用面向语料的检测。 由于可检测性因语料相差 13 至 62 倍,应根据你的领域调校异常检测。词汇异常评分在通用语料上有效,但在技术语料上较弱——后者的隐蔽性更高。

  6. 加入溯源与回溯。 记录哪些文档促成了某次回答,以便定位并清除被投毒记录——可与 Argus 等基于图的防御互补。

现状

项目参考日期说明
Semantic Chameleon 预印本arXiv:2603.180342026-03-10依赖语料的 RAG 投毒攻击与防御
主要结果§6.22026-03-10BM25+向量混合:n=50 上从 38% 降到 0%(Security Stack Exchange,67,941 篇文档)
防御被绕过§6.2.22026-03-10联合稀疏+稠密优化:成功率 20–44%
多模型端到端评测§6.32026-03-10攻击成功率 46.7%(GPT-5.3)至 93.3%(Llama 4)
工件(防御代码 + 脚本)GitHub2026scthornton/semantic-chameleon
OWASP 背景LLM Top 10 (2025)2025向量与嵌入弱点属于前十大风险

该结论并非说 RAG 投毒已被解决——联合通道攻击依然可行,模型层面的易感性仍然偏高。它说明的是:一项标准的检索质量技术,同时也是对抗梯度优化投毒类的、当下即可部署的低成本防御;任何诚实的 RAG 威胁模型,都必须把检索器架构、模型选择与语料构成三者一并纳入考量。

Sources