跳转至

On the Vulnerability of Applying Retrieval-Augmented Generation within Knowledge-Intensive Application Domains

会议: ICML2025
arXiv: 2409.17275
代码: 待确认
领域: RAG安全 / 对抗鲁棒性
关键词: RAG, 检索系统攻击, 数据投毒, 通用投毒攻击, 正交增强性质, 医疗问答安全

一句话总结

本文系统揭示了 RAG 检索系统在知识密集型领域(医疗、法律)中面临的通用投毒攻击漏洞,提出"正交增强"性质解释攻击成因,并设计基于分布感知距离的检测防御方法,在几乎所有场景中达到近乎完美的检测率。

研究背景与动机

RAG(Retrieval-Augmented Generation)通过从外部语料库检索相关文档来增强 LLM 在知识密集型领域的表现。然而,当外部语料库可公开访问(如 Wikipedia、PubMed)或受潜在恶意代理控制时,检索系统的安全性成为重大隐患。

已有工作表明可以对检索系统发动数据投毒攻击,但存在以下不足: - 现有攻击主要针对通用 Q&A,缺乏对医疗等安全关键领域的系统研究 - 缺乏对攻击为何有效的理论解释 - 现有防御方法(如检查嵌入的 \(\ell_2\) 范数)已被证明无效

本文的核心动机:在医疗 Q&A 这类高风险场景中,系统性评估检索系统的脆弱性,理解其根因,并提出有效防御。

方法详解

1. 通用投毒攻击(Universal Poisoning Attack)

攻击者将目标信息(如个人身份信息 PII、恶意诊断建议等)直接拼接到查询上,构造投毒文档:

\[p_i = [q_i \oplus \text{Target Information}]\]

其中 \(q_i\) 为正常查询,\(\oplus\) 表示文本级拼接。将投毒文档注入语料库后,当用户使用攻击者指定的查询时,投毒文档会以高排名(如 Top-1)被检索到。

攻击可导致三类安全风险: 1. PII 泄露:检索到包含个人身份信息的文档 2. 对抗性推荐:LLM 基于恶意文档给出错误治疗建议 3. 越狱攻击:检索到的文档作为 context 触发 LLM 越狱

2. 正交增强性质(Orthogonal Augmentation Property)

本文提出的核心理论发现。对于检索器的嵌入函数 \(f: \mathcal{V}^L \mapsto \mathbb{R}^d\),当两个文档 \(q\)\(p\) 的嵌入近似正交时:

\[f([q \oplus p]) \approx f(q) + v, \quad v^T f(q) \approx 0\]

即拼接后嵌入的偏移方向垂直于原始查询嵌入。因此基于内积的相似度几乎不受影响:

\[f(q)^T f([q \oplus p]) \approx f(q)^T f(q) + f(q)^T v \approx f(q)^T f(q)\]

这意味着投毒文档 \([q \oplus p]\) 与原始查询 \(q\) 的相似度接近查询与自身的相似度,从而保证高排名检索。

关键补充:嵌入正交 ≠ 语义无关。实验表明,MedQA 中不同批次的问题嵌入夹角约 70°,但它们语义上都与生物医学相关,说明攻击对语义相关和不相关的目标信息均有效。

3. 检测防御方法

观察到: - 干净检索文档与查询的嵌入夹角大(约 70°,内积仅为查询自身的 25%) - 投毒文档因正交增强性质不会显著偏离查询 - 投毒文档倾向于与干净文档正交

基于此,作者提出使用分布感知距离度量(如 Mahalanobis 距离)代替各向同性的 \(\ell_2\) 距离来检测投毒文档。该度量能捕捉数据的概率分布特征,使干净与投毒文档在新度量空间中清晰分离。

实验关键数据

攻击实验

225 种组合(3 语料库 × 3 检索器 × 5 查询集 × 5 目标信息类型)上评估:

设置维度 具体内容
语料库 Textbook(~126K)、StatPearls(~301K)、PubMed(~2M)
检索器 MedCPT、SPECTER、Contriever
查询集 MMLU-Med、MedQA-US、MedMCQA、PubMedQA、BioASQ
目标信息 PII、诊断信息、MS-MARCO/NQ/HotpotQA 对抗段落

Top-2 检索成功率(部分代表性结果):

语料库 检索器 查询集 成功率范围
Textbook MedCPT MedQA 0.98–0.99
Textbook Contriever MedQA 1.0
StatPearls Contriever MedQA 1.0
PubMed Contriever MedQA 1.0
Textbook Contriever MedMCQA 0.63–0.68
Textbook MedCPT PubMedQA 0.97–0.99

法律 Q&A 攻击成功率: Contriever 0.81–0.88,SPECTER 0.78–0.92。

对抗释义(Paraphrasing)的鲁棒性

用 GPT-4 对查询做释义后,攻击成功率仍达 ~0.8,说明攻击者无需知道精确查询。

正交增强性质验证

检索器 \(f(q)^T(f([q \oplus p]) - f(q))\) 偏移角度
Contriever 0.05–0.13 92.5°–99.1°
MedCPT 0.42–1.64 95.9°–98.9°

偏移方向接近 90°,验证了正交增强性质。

防御实验

基于分布感知距离的检测方法在所有攻击场景下达到近乎完美的检测率,而 \(\ell_2\) 范数方法无法区分干净与投毒文档。

亮点与洞察

  1. 揭示了 dense retrieval 的根本脆弱性:只需简单拼接即可实现高成功率攻击,无需访问模型参数
  2. 正交增强性质是优雅的理论贡献:解释了为何通过拼接进行的投毒如此有效——嵌入偏移在垂直方向上,不影响与查询的相似度
  3. 实验覆盖极为全面:225 种组合,跨语料库、检索器、查询集和目标信息类型,结论具有强说服力
  4. 干净文档与查询也不太相似(角度约 70°)这一发现揭示了检索系统本身的质量瓶颈,也为攻击提供了"空间"
  5. 攻击对释义具有鲁棒性,大幅提高了现实威胁等级

局限与展望

  1. 缓存文件截断,防御方法的完整技术细节(如具体距离度量公式)未能完全获取
  2. 攻击方法本身较为简单(直接拼接),在实际部署中可能被内容审计发现
  3. 防御假设防御者拥有干净文档锚集和检索器完全访问权,对第三方使用 RAG 服务的场景适用性有限
  4. 仅考虑 dense retrieval,对稀疏检索(如 BM25)的脆弱性未做分析
  5. 未深入探讨攻击对 LLM 最终生成质量的影响链条(偏重检索阶段)
  6. 实验中 PubMed 仅使用 ~2M 子集(全集 23M),大规模语料下攻击效果可能变化

相关工作与启发

  • PoisonedRAG [Zou et al.]:通过投毒使 LLM 生成攻击者指定答案,本文在目标和洞察维度上有本质区别
  • Contriever [Izacard et al.]、MedCPT [Jin et al.]:代表性 dense retriever,本文证明它们共享相同脆弱性
  • 防御思路可推广至其他嵌入空间的异常检测任务
  • 对 RAG 在医疗领域的广泛应用敲响警钟,建议部署时加入检索结果审计机制

评分

  • 新颖性: ⭐⭐⭐⭐ — 正交增强性质是新颖理论贡献,通用投毒概念在医疗领域首次系统验证
  • 实验充分度: ⭐⭐⭐⭐⭐ — 225 种组合 + 释义鲁棒性 + 法律 Q&A 扩展,设计极为充分
  • 写作质量: ⭐⭐⭐⭐ — 结构清晰,从攻击→理解→防御的逻辑链完整
  • 价值: ⭐⭐⭐⭐⭐ — 对 RAG 安全部署具有重要实践意义,尤其在医疗等高风险领域

相关论文