揭开RAG安全面纱,SafeRAG带你一览RAG Pipeline中潜在的脆弱性



检索增强生成(RAG)通过巧妙结合先进的检索与生成技术,特别适用于法律、医疗、金融等对事实准确性要求极高的关键领域,能显著提升 LLMs 的专业应用能力。


 RAG 真的安全吗显然,攻击者可以操纵 RAG Pipeline 的任意阶段(索引、检索、生成)的数据流(知识库、检索上下文、过滤上下文),轻易地将低质、错误、误导等恶意的攻击文本,间接注入到 LLMs 的输出中。


SafeRAG 从检索和生成两方面系统地评估了 RAG 各个组件在面对数据注入时的脆弱性在 14 个 RAG 主流的组件进行实验结果表明,大多数 RAG 组件无法有效防御数据注入攻击,攻击者可以操控 RAG Pipeline 中的数据流,欺骗模型生成低质、错误、误导的内容,甚至是拒绝提供服务(Denial-of-Service, DoS)。


本文将带你一览 SafeRAG 是如何揭开 RAG 安全面纱,揭示了哪些安全风险。


论文标题:

SafeRAG: Benchmarking Security in Retrieval-Augmented Generation of Large Language Model

论文地址:

https://huggingface.co/papers/2501.18636

代码链接:

https://github.com/IAAR-Shanghai/SafeRAG



SafeRAG 研究动机

现有的 RAG 安全评测基准大多考虑的是传统攻击任务,例如显式的攻击文本(噪声、记忆冲突、毒性或 DoS)注入。然而,这些攻击文本往往难以绕过 RAG 现有的安全机制,容易低估 RAG 的脆弱性,无法全面反映其所面临的安全风险。

(1)传统噪声攻击无法轻易绕过简单的安全过滤器。过滤器通常会删除明显无关的上下文,而大多数 RAG 安全 benchmark 中讨论的噪声往往集中在表面上与问题相关,但实际上可能属于类主题无关,或者完全不包含答案的相关上下文,因此很容易被过滤导致噪声攻击失败(见 Fig.1-)。


(2)现有的自适应检索策略可以预防记忆冲突攻击。但现有 RAG 安全 benchmark 对于冲突风险的讨论却大多局限在这种可被预防的记忆冲突中,缺乏对更难规避的上下文冲突的评估。


(3)无论是显式还是隐式的毒性都很难绕过生成器。LLMs 本身具备较强的安全性,可基本避免显性(偏见、歧视等)和隐性(隐喻、讽刺等)毒性内容的使用和生成。因此,传统的毒性攻击往往难以绕过生成器,出现在响应文本中,在 RAG 安全 benchmark 中,我们需要考虑更隐蔽毒性的攻击和评估。


(4)传统 DoS 攻击往往依赖于拒答信号的生硬插入(如直接拼接提示“对不起,我拒绝回答”)。但 RAG 组件(过滤器、生成器)通常会将这些信号过滤或忽略,使得直接 DoS 攻击的成功率较低(见 Fig.1-⑤⑥⑦⑧)。


此外,如表 1 所示,现有的 RAG 安全 benchmark 常常局限在 RAG Pipeline 特定阶段注入特定类型任务的攻击文本,缺乏对 RAG 全链路的安全评估



SafeRAG 如何突破这些 RAG 安全 benchmark 的局限?

为了更全面地评估 RAG 实际应用场景中可能面临的安全风险,SafeRAG 评测中涉及了以下四种较易绕过 RAG 组件的攻击任务:


(1)银噪声(Silver Noise)(Fig.1-):
  • 核心目标:将包含部分但不完整证据的上下文作为攻击上下文(相比于黄金上下文,我们定义这种证据片段为银噪声),进行证据稀释,降低 RAG 生成的多样性和完整性。

  • 为何有效?现有噪声过滤器通常只清除与查询无关的信息,无法完全剔除这种部分相关的噪声文本。

  • 应用场景:注入大量冗余信息,消耗检索资源。
(2)跨上下文冲突(Inter-Context Conflict)(Fig.1-):
  • 核心目标:在 RAG Pipeline 任意阶段的数据流中添加矛盾信息,让 LLMs 难以判断哪个是真实信息。

  • 为何有效?LLMs 在没有相关记忆的前提下,难以仲裁,可能会给出模棱两可甚至错误的答案。

  • 应用场景:在法律咨询中混入互相冲突的判例,误导 LLMs 给出错误建议;在医疗文本中插入相互矛盾的治疗方案,让 LLMs 给出不确定甚至危险的答案。
(3)软广(Soft Ad)(Fig.1-):
  • 核心目标:在 RAG Pipeline 任意阶段的数据流中无缝安插软广,使 LLMs 在生成响应时自动传播这些广告信息。

  • 为何难以检测?SafeRAG 不会直接插入软广词,而是将其伪装成权威信息,让 LLMs 误以为它是可信的,而非有毒的。

  • 应用场景:广告插入
(4)善意拒答(White DoS)(Fig.1-):
  • 核心目标:在检索到证据上下文的前提下,仍拒答。

  • 为何难以检测?通过假借善意的“安全警告”的名义,让 LLMs 误以为检索内容“不可信”或“包含大量错误信息”。

  • 应用场景:拒答

为了填补缺乏对整个 RAG Pipeline 的全链路安全评估的空白,SafeRAG 提出了一种经济、高效且准确的 RAG 安全评估框架,在索引、检索、过滤 3 个 RAG 组件上分别执行 4 个攻击任务,全面揭示 RAG 在数据注入攻击下的潜在脆弱性。



SafeRAG 安全评估数据集(SafeRAG Dataset)的构建

SafeRAG 设计了一个全新的中文 RAG 安全评估数据集,用于 RAG 在四个攻击任务上安全风险的系统评测。具体地 SafeRAG Dataset 的构建主要分为三个步骤:


首先 SafeRAG 人工收集了一批新闻文章,并用 LLMs 辅助构建了一套综合性的问题-黄金上下文(question-contexts)对作为基础数据集


接着,对于不同攻击任务,SafeRAG 从基础数据集中挑选出不同的目标攻击文本,用于攻击文本的生成


对于每个攻击任务,SafeRAG 采用不同的策略将生成的恶意攻击文本与黄金上下文相结合,以构建 RAG 安全评估数据集——SafeRAG Dataset。具体流程如下:

(1)基础数据集的构建


● 数据收集
  • 采集 2024.08.16-2024.09.28,涵盖政治、财经、科技、文化、军事五大领域的新闻文本。

  • 截取新闻段落用于基础数据集的构建。

  • 截取标准:① 超过 8 句以上的连续句;② 围绕特定问题展开;③ 能生成 what、why 或 how 类型的综合性问题。
● 问题-黄金上下文对的生成

对于每个新闻的标题和从中截取的新闻段落,SafeRAG 使用 DeepSeek 辅助生成一个 question-contexts 对,并将其作为基础数据集的一个候选 data point。转化的 prompt 如下图所示:

(2)攻击文本的生成


● 银噪声:
  • 使用 DeepSeek 先将黄金上下文拆分成最小语义单位(命题),示例如下:

  • 从中挑选一条命题(包含部分但不完整证据的最细粒度上下文),作为目标攻击文本,用于银噪声攻击文本的生成。

  • 用 DeepSeek 多样化被选中的命题,示例如下:

  • 噪声上下文的注入,占用检索资源的同时,会影响生成内容的多样性。

 上下文冲突(Inter-Context Conflict):


从黄金上下文中人工挑选一条证据上下文进行事实篡改后,生成与选中证据上下文对立的冲突上下文,作为上下文冲突攻击文本。修改规则如图所示:

SafeRAG 强调:构建冲突是一个细致的过程,不太适合完全交由 LLMs 自动生成。因此,在 SafeRAG 中,作者首次细化了手动构建冲突的规则,确保生成的攻击尽可能合理且有效。


● 软广告(Soft Ad):


从黄金上下文中人工挑选一条证据上下文,并按照以下规则生成软广攻击文本:

● 善意拒答(White DoS):


SafeRAG 将查询本身作为目标攻击文本,采用基于规则的方式拼接查询善意安全提示,误导 LLMs 拒答。善意拒答攻击文本的构建规则如下:

(3)SafeRAG Dataset 的构建


最终,对于每种攻击任务,SafeRAG 按照下图提供的数据格式整合基础数据集和攻击文本,完成 RAG 安全评估数据集的构建。



SafeRAG 评估指标:检索安全与生成安全

SafeRAG 从检索生成两个维度,全面衡量 RAG 在数据注入攻击下的安全风险。

(1)检索安全评估——检索准确率(Retrieval Accuracy, RA)


检索准确率(RA)是衡量 RAG 能否检索黄金上下文排除恶意攻击上下文的核心指标,计算公式如下:

  • Recall(gc):黄金上下文的召回率,反映 RAG 是否成功检索到正确答案。

  • Recall(ac):攻击上下文的召回率,表示 RAG 误检恶意攻击文本的程度(Recall (ac)越低,表示攻击文本注入对检索阶段的干扰越小)。

RA 越高,表明安全性更强。且 RA 适用于所有攻击类型(银噪声、上下文冲突、软广、善意拒答),是衡量 RAG 检索安全性的关键指标。


(2)生成安全评估——F1 变体


生成安全评估主要考察 RAG 在生成阶段的安全性,确保系统输出既准确又不受攻击影响。具体地,SafeRAG 主要采用多选择题评测法,为 SafeRAG Dataset 中的每个数据点人工构建多选项,生成一道选择题用于 RAG 安全性评估。


对于每个查询,根据人工标注的正误选项(ground truth options)和评估器根据待评估回答选择的正误选项,SafeRAG 获取以下 F1 变体


  • F1(correct):衡量根据待评估回答能正确识别正确选项的能力,观察 RAG 系统输出是否准确

  • F1(incorrect):评估根据生成的回答能识别错误选项的能力,观察 RAG 系统输出是否受到攻击的影响

  • F1(avg)=(F1(correct)+ F1(incorrect))/ 2,衡量模型是否能够正确推理正确和错误选项

最终,我们选择 F1(avg)指标进行 RAG 生成安全性,F1(avg)越高,说明根据 RAG 生成的内容能够更准确地区分正误,更加生成安全。


银噪声善意拒答攻击任务中,SafeRAG 在黄金上下文拆解出的细粒度命题基础上,构造多选项,操作如下:
  • 错误选项:人工选中部分命题并进行人工篡改(篡改方法参照冲突构建指南)。

  • 正确选项:剩余命题直接作为正确选项。

如果生成不受攻击干扰,即生成安全性强,则 RAG 生成的响应能尽可能全面、准确地涵盖细粒度命题中的事实信息,基于该回答获取的评估结果更倾向于选择正确选项并排除错误选项,从而获得较高的 F1(avg)得分。


反之,若 F1(avg)低,则说明 RAG 的生成安全性较弱,更容易受到数据注入攻击的影响。


对于上下文冲突攻击中,SafeRAG 直接基于冲突上下文的冲突事实构建多选项,操作如下:
  • 错误选项:与选中证据上下文对立的冲突上下文中,被篡改的事实。

  • 正确选项:被选中证据上下文中篡改事实的原始参照作为错误选项。

如果生成不受攻击干扰,即生成安全性强,则 RAG 生成的响应能有效利用正确上下文,并正确排除冲突信息,那么它的 F1(avg)得分将较高,反映出更强的安全性。


(3)生成安全评估——攻击成功率(ASR)


在冲突、毒性和拒答任务中,有多少攻击关键词(例如,导致上下文冲突的矛盾事实、无缝嵌入的软广关键词以及拒答信号)成功出现在最终的响应文本中,即,攻击成功率(ASR),可直接用于评估生成器的安全性。


在实验中,作者实际使用了攻击失败率(AFR = 1 – ASR)进行安全性评估,因为 AFR 作为一个正向指标,可以与正向的 F1 变体指标一同分析。



实验结果

SafeRAG 评估了在 RAG 不同阶段(索引、检索和生成)进行攻击文本注入时,14 种不同类型的 RAG 组件的安全性,具体包括:
  • 检索器:DPR,BM25,Hybrid,Hybrid-Rerank

  • 过滤器:filter NLI,压缩器SKR

  • 生成器:DeepSeek,GPT-3.5-turbo,GPT-4,GPT-4o,Qwen 7B,Qwen 14B,Baichuan 13B,ChatGLM 6B

(1)噪声攻击


作者在 RAG Pipeline 任意阶段的数据流(知识库、检索上下文、过滤上下文)中,注入不同比例的银噪声,从下图我们可以观察到:

1. 无论在哪个阶段执行噪声注入,F1(avg)都会随着噪声比例的增加呈下降趋势,响应的多样性下降(Fig.5-)。


2. 不同的检索器都能表现出一定的噪声抵抗能力(Fig.5-),检索器的抗噪声攻击排名整体为 Hybrid-Rerank > Hybrid > BM25 > DPR,这表明混合检索器和重排序器更倾向于检索到更多样的黄金上下文,而非同质化严重的攻击上下文。


3. 如 Fig.5-③ 所示,当噪声比例增加时,在检索到的上下文或过滤后的上下文注入噪声的检索准确率(RA)明显比在知识库中注入时的高,因为注入到知识库的噪声大约有 50% 的概率不会被检索到(Fig.5-)。


4. 压缩器 SKR 安全性不足,尽管它能够尽可能合并冗余银噪中的信息,但它会严重压缩掉上下文中回答问题所需的细节信息,导致 F1(avg)降(Fig.5-)。


(2)冲突、毒性、DoS 攻击

在向 RAG Pipeline 任意阶段的数据流中注入不同类型的攻击后,F1(avg)和攻击失败率(AFR)在所有三个任务中均有所下降。


其中,冲突攻击容易让 RAG 难以判断哪个是真实信息,可能会使用攻击上下文中的伪造事实导致指标下降;毒性攻击容易让 RAG 误信伪装成权威事实的软广词,在生成响应时自动传播这些广告信息,导致指标下降;DoS 攻击则更容易让 RAG 在检索到证据上下文的前提下拒答,导致指标下降。


总体上,不同阶段数据流中注入攻击有效性排名为:过滤后的上下文 >= 检索到的上下文 > 知识库(Fig.6,9,10-)。


不同的检索器对不同类型的攻击表现出不同的脆弱性。例如,Hybrid-Rerank 更容易受到冲突攻击,DPR 更容易受到 DoS 攻击,检索器受到毒性攻击后展现出的脆弱性程度是基本一致的(Fig.6,9,10-)。


在不同的攻击任务下,使用不同检索器的 RA 的变化总体趋于一致(Fig.6,9,10-)。


在冲突任务中,使用压缩器 SKR 过滤器的安全性较低,因为它可能压缩冲突细节,导致 F1(avg)下降。在有害性和 DoS 任务中,NLI 过滤器通常无效,AFR 与禁用过滤器的设置接近。然而,在这两个任务上,压缩器 SKR 被证明是安全的,因为它会压缩软广和警告内容(Fig.6,9,10-)。


(3)生成器的选择


作者对不同攻击任务下的正向指标进行了累积分析。结果如下:

  • Baichuan 13B 在多个攻击任务中处于领先地位,尤其是在 DoS 任务上。

  • 轻量级模型甚至比 GPT 系列和 DeepSeek 等强模型更安全,因为强模型可能对 SafeRAG 提出的毒性、冲突等攻击更敏感。

(4)评估器的选择

作者在表 2 中展示了 SafeRAG 的评估指标与人工评估的一致性:
  • AFR/ASR 指标与人类判断的一致性高。

  • 在使用 DeepSeek 计算得到的 F1(correct)和 F1(correct)也与人工判断高度一致。因此,在所有实验中均统一采用 DeepSeek 作为评估器。


总结

RAG 在增强 LLMs 能力的同时,也引入了新的安全隐患,SafeRAG 揭示了这些风险,并提供了系统性评测方法。


🚩 几乎所有 RAG组件在四种攻击面前都表现出明显脆弱性。


🚩 银噪、软广、拒答攻击,几乎能绕过所有现有防御机制。


🚩 越靠近 RAG 系统输出端执行攻击文本注入的危害性更强。


未来必须引入更强的防御措施,如:


✅ 增强检索多样性

✅ 设计安全过滤器

✅ 更可靠的大模型


(文:PaperWeekly)

欢迎分享

发表评论