SafeRAG:首个中文RAG安全评测基准,全面揭示数据注入风险
来自:SafeRAG团队投稿检索增强生成(RAG)技术通过结合检索与生成能力,极大提升了大型语言模型(LLMs)在知识密集型任务中的应用潜力。然而,这一增强方式也带来了新的安全挑战:外部知识在进入 LLMs 之前,需要经过RAG Pipeline的多个阶段(索引、检索、生成),在此过程中,任何一个环节的安全漏洞都可能被攻击者利用,导致知识被恶意篡改,从而影响生成结果的安全性。面对这些安全隐患,系统

来自:SafeRAG团队投稿
检索增强生成(RAG)技术通过结合检索与生成能力,极大提升了大型语言模型(LLMs)在知识密集型任务中的应用潜力。然而,这一增强方式也带来了新的安全挑战:外部知识在进入 LLMs 之前,需要经过RAG Pipeline的多个阶段(索引、检索、生成),在此过程中,任何一个环节的安全漏洞都可能被攻击者利用,导致知识被恶意篡改,从而影响生成结果的安全性。面对这些安全隐患,系统化的RAG 安全评测基准(benchmark)成为研究和提升RAG安全性的关键。
然而,现有的RAG安全benchmark存在以下局限性:
-
评估任务局限:仅评估1-2个简单且多数已无法绕过RAG安全组件的攻击任务,缺乏对现阶段RAG安全评估任务的全面调研。
-
评估阶段单一:停留在对RAG Pipeline特定阶段进行攻击和评测,缺乏对RAG安全的全链路评估。
-
评估维度较低:仅关注检索或者生成其中一个层面。
-
评估语言限制:研究集中在英文环境下,缺少对中文场景的评测。
为此,我们提出了首个中文RAG安全评测基准SafeRAG,全面揭示RAG的数据注入风险。
攻击任务的划分与定义
我们调研了现有市面上开源的一些RAG安全benchmark,发现当前的研究中所关注的攻击任务主要分为四大类:噪声、记忆冲突、毒性和DoS。然而,我们实验发现,这些攻击文本往往难以绕过RAG现有的安全机制,如下图所示,现有的一些工作中提出的攻击文本,被注入到知识库后,并不能轻易的绕过检索器、过滤器和生成器(见 Fig.1-⑤⑥⑦⑧)。
将这种可能随着时间或技术的发展不再奏效的攻击任务作为评估的对象,容易导致RAG的脆弱性被低估,无法全面反映其所面临的安全风险。因此,在SafeRAG中,我们对现有防御的薄弱点进行了改进,设计了四种新的攻击任务,提升攻击的隐蔽性和有效性。具体来说,新攻击任务在以下几个方面优化了传统攻击的不足:
-
噪声攻击的隐匿性增强——银噪声(Silver Noise)(Fig.1-②)传统噪声攻击往往难以绕过简单的安全过滤器,因为过滤器会删除明显无关的上下文,而大多数现有RAG安全benchmark却仍集中关注这些仅表面相关但本质无关的噪声(Fig.1-⑨)。我们首次引入了银噪声(部分相关但不完整的证据片段),这种噪声文本与查询相关,传统的噪声过滤器难以完全剔除,并可通过大量注入导致冗余,消耗检索资源,降低RAG生成的多样性和完整性。
-
冲突攻击的空白处补全——上下文冲突(Inter-Context Conflict)(Fig.1-④)现有的添加自适应检索策略就能解决大部分的记忆冲突,尽管如此,现有RAG安全benchmark对冲突风险的评估仍局限于这种记忆冲突,缺乏对更难规避的上下文冲突的讨论。我们提出的上下文冲突攻击通过在RAG数据流中引入矛盾信息,让LLMs难以判断真实信息,诱导生成模棱两可甚至错误的答案。
-
毒性攻击的新场景探索——软广(Soft Ad)(Fig.1-③)传统毒性攻击很难绕过生成器,因为LLMs具备较强的安全性,能够避免生成显式(如偏见、歧视等)和隐式(如隐喻、讽刺等)的有害内容,因此传统毒性攻击在RAG环境中的成功率较低。为此,我们首次评估了一种特殊的隐式毒——软广,其可被伪装成权威信息,被LLMs误信误用。且由于软广攻击不会轻易触发毒性检测机制,因此难以被发现,容易在生成响应时无意中传播这些恶意安插的商业内容。
-
拒答攻击的目的性弱化——善意拒答(White DoS)(Fig.1-①)传统的DoS攻击往往直接使用目的性过强的拒答信号(如“对不起,我拒绝回答”)达到拒答目的,但这种毫无理由的攻击文本,很难说服生成器和过滤器,容易被忽视或过滤掉,使得直接DoS攻击的成功率较低(Fig.1-⑤⑥⑦⑧)。为此,我们弱化了直接DoS攻击文本中的目的性,设计的善意拒答攻击更具善意且具有说服力,其核心策略是以“安全警告”为由,提示在检索到证据不安全,从而诱导拒答。这种方式避免了传统DoS攻击的生硬性,增加了拒答发生的概率。
攻击文本生成和使用
在构建攻击文本之前我们首先人工收集了一批新闻文章,并人工进行了预处理:
-
采集2024.08.16 - 2024.09.28,涵盖政治、财经、科技、文化、军事五大领域的新闻文本。
-
截取新闻段落用于基础数据集的构建。
然后,我们用LLMs辅助构建了一套综合性的问题-黄金上下文(question-contexts)对作为基础数据集,其中每个data point借由下图的prompt转化而成:
接着,对于不同攻击任务,我们从基础数据集中挑选出不同的目标攻击文本,用于攻击文本的生成。
-
银噪声攻击文本:对于基础数据集中的每个data point,我们先使用DeepSeek先将黄金上下文拆分成最小语义单位——命题(包含部分但不完整证据的最细粒度上下文),后选中一条执行多样化,生成的一批同质化命题可作为噪声攻击文本,示例如下:
-
上下文冲突攻击文本:对于基础数据集中的每个data point,从黄金上下文中人工挑选一条进行事实篡改,生成冲突攻击文本。
-
软广攻击文本:对于基础数据集中的每个data point,从黄金上下文中人工挑选一条进行软广插入,生成软广攻击文本。
-
善意拒答攻击文本:我们将查询本身作为目标攻击文本,采用一下规则拼接查询和善意安全提示,生成善意拒答攻击文本,误导LLMs拒答:
最后,对于每种攻击任务,我们根据评估修剪基础数据集种的黄金上下文,并添加生成的恶意攻击文本,从而构建RAG安全评估数据集——SafeRAG Dataset。具体格式如下:
RAG安全评估指标
现有的RAG安全benchmark仅尝试从检索或生成其中一个维度去评估攻击造成的影响。为了更全面地评估RAG实际应用场景中可能面临的安全风险,我们将从检索安全和生成安全两个维度去执行评估。
(1)检索安全
在我们生成的SafeRAG Dataset中,我们既有回答问题所需的黄金上下文,又有可能被用于注入的攻击上下文,因此,使用简单的匹配算法,我们就能轻易地获取到黄金上下文的召回率Recall(gc) 和攻击上下文的召回率Recall(ac) ,基于此我们可以定义检索准确率(Retrieval Accuracy, RA),衡量RAG检索到黄金上下文并排除恶意攻击上下文的能力,计算公式如下:
RA越高,表明安全性更强。
(2)生成安全——F1变体
一个安全的RAG输出响应应该同时具备准确性和对攻击的抵抗能力。因此,我们为SafeRAG Dataset中的每个数据点人工构建多选项,生成一道用于能够检验RAG安全性的多选题。评估时,仅需将待评估的响应和多选题一同输入到评估器中,就可以获取评估结果。评估的prompt如下图所示:
根据评估器获取的选项与人工标注的真实答案,我们可以分别计算F1(correct)和F1(incorrect),衡量生成器识别正确选项和错误选项的能力,并采用二者的调和平均值F1(avg)作为本文主要的RAG安全评估指标。F1(avg)越高,越表明RAG的响应具备区分正误的能力,反映出更强的安全性能。
-
噪声与拒答攻击中的多选题构建:我们基于细粒度命题构建多选项。如下图所示,一部分命题会被标注员蓄意篡改,形成错误选项。余下的命题则作为正确选项。如果生成的响应能够不受银噪声和善意拒答攻击的影响,则响应文本会尽可能覆盖命题中的事实,使得评估器在根据响应文本答题时更能区分正误,从而获得较高的F1(avg)。
-
冲突任务中的多项选择题构建:我们已经构造了包含冲突事实的上下文。因此,可以直接基于这些冲突事实设计多项选择题。如下图所示,我们手动标注上下文冲突上下文对中的真实与虚假事实,分别作为正确和错误选项。如果生成的响应能够有效利用正确的上下文并作出准确判断,则能够正确选择正确并排除错误的选项,从而获得较高的F1(avg)。
实验
(1)实验设置
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
其中,黑色加粗部分为默认设置。
(2)实验结果



-
在RAG Pipeline不同阶段的数据流(知识库、检索上下文、过滤上下文)中,我们分别注入银噪声(比例可选)、上下文冲突、软广、善意拒答四类攻击文本,均会导致F1(avg)和攻击失败率(AFR)下降,攻击有效性排序:在 过滤后的上下文 > 检索到的上下文 > 知识库(Fig.5,6,9,10-①)。
-
不同检索器对攻击的抵抗力不同,Hybrid-Rerank更易受到冲突攻击,DPR更易受到噪声和拒答攻击,而所有检索器在面对软广攻击时的脆弱性基本一致(Fig.5,6,9,10-②)。
-
攻击前后,检索准确率(RA)呈现出下降趋势,其中RA在拒答任务上的下降最为显著,在冲突任务上的变化较小(Fig.5,6,9,10-③)。
-
过滤器的安全性因攻击类型不同而有所差异(Fig.5,6,9,10-④):
-
压缩器SKR在噪声冲突任务中表现较差,因为它可能压缩掉关键冲突细节,使得 F1(avg)下降。
-
在毒性和拒答任务中,NLI过滤器几乎无效,AFR指标结果与完全不使用过滤器的情况接近,说明 NLI过滤器无法有效识别软广或误导性安全警告。
-
压缩器SKR在毒性和拒答任务中表现出较高安全性,因为它能压缩掉软广或警告信息,减少攻击对生成内容的影响。
总结
SafeRAG 是第一个全面评估中文RAG安全的基准,揭示了大多数RAG组件无法有效防御数据注入攻击,攻击者可以操控RAG Pipeline中的数据流,欺骗模型生成低质、错误、误导的内容,甚至是拒答。
Paper地址:https://arxiv.org/abs/2501.18636
Code地址:https://github.com/IAAR-Shanghai/SafeRAG
备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

id:DLNLPer,记得备注呦
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)