【论文阅读】--TrustRAG:RAG中的稳健性和可信度

论文链接:2501.00879 TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation

摘要

检索增强生成(RAG)容易受到知识库投毒攻击:攻击者向知识库植入恶意文档,使检索模块召回错误内容,误导大模型输出虚假信息。现有防御方案如 RobustRAG 采用隔离 - 聚合思路,但依赖良性文档占多数,当召回大量恶意文档时防御性能显著下降。

本文提出TrustRAG,一款开箱即用、无需训练的双阶段 RAG 鲁棒防御框架:

  1. 干净检索过滤阶段:利用恶意文档在嵌入空间聚集为簇的特点,结合 K-Means 聚类与 ROUGE-L 文本重叠校验,滤除大部分恶意文档;对单条恶意注入场景不做过度删除,残留风险交由第二阶段处理。
  2. 冲突消解阶段:让大模型调用自身预训练知识作为事实基准,对检索到的外部文档进行冲突检测、知识融合与自我评估,自主判断采信外部检索材料还是模型内置知识来生成答案。

在 NQ、HotpotQA、MS-MARCO 数据集上,针对 PoisonedRAG、间接提示注入、对抗解码、阻塞攻击完成实验。结果显示:即便召回文档全部为恶意(投毒率 100%),TrustRAG 仍可保持较高回答准确率,显著降低攻击成功率;推理开销约为原生 RAG 的 2 倍,兼容各类检索器与开源 / 闭源大模型。

局限性:TrustRAG 是经验型防御,不存在形式化可证明的鲁棒性,性能上限取决于大模型自身内置知识的准确性。消融实验证明冲突消解模块是整个框架的核心。该方案为高污染知识库环境下 RAG 系统的可信落地提供工程可行方案。

目录

摘要

1.引言

[1.1 RAG 现状与真实风险](#1.1 RAG 现状与真实风险)

[1.2 现有防御缺陷](#1.2 现有防御缺陷)

[1.3 本文核心洞察](#1.3 本文核心洞察)

[1.4 主要贡献](#1.4 主要贡献)

2.问题定义

[2.1 RAG](#2.1 RAG)

[2.2 威胁模型](#2.2 威胁模型)

[2.3 防御目标](#2.3 防御目标)

3.防御框架

[3.1 框架总览](#3.1 框架总览)

[3.2 干净检索](#3.2 干净检索)

[3.3 冲突消解](#3.3 冲突消解)

4.实验

[4.1 实验设置](#4.1 实验设置)

4.2.主实验

4.2.1.单注入攻击实验总表

4.2.2.多注入不同投毒率实验

4.3.消融实验


1.引言

1.1 RAG 现状与真实风险

RAG 被 ChatGPT、必应、Perplexity AI 等产品广泛使用,但存在严重安全隐患:

  • 投毒攻击:注入恶意文档可以覆盖用户指令,诱导模型输出错误答案,代表工作 PoisonedRAG;现实案例包括 Google 搜索 AI 错误、ChatGPT 读取污染 GitHub 代码造成经济损失。

1.2 现有防御缺陷

已有 ASTUTE‑RAG、InstructRAG、RobustRAG 等 RAG 防御,依靠多数投票、人工提示词降噪;当攻击者注入的恶意文档数量超过干净文档,这些方案就会失效;同时也难以处理无关噪声文档。

1.3 本文核心洞察

攻击者生成的恶意文档在 Embedding 嵌入空间会形成紧密聚类。

  • 阶段一 Clean Retrieval:K‑means 聚类识别恶意簇,搭配 ROUGE 分数避免误过滤干净文档。
  • 阶段二 Conflict Resolution:利用 LLM 自身内部知识,识别冲突、过滤残留恶意 / 无关文档,让模型自主选择依靠内部知识还是外部检索知识生成答案。

1.4 主要贡献

  1. 首个可以同时防御单文档、多文档注入投毒攻击的 RAG 防御框架。
  2. 攻击成功率最高降低 80%,回答准确率最高提升 30%,优于现有防御。
  3. 在多种攻击方式下完成完备评估(提示劫持等)。

2.问题定义

2.1 RAG

标准 RAG 分为检索、生成两步;现有优化手段:查询重写、重排序、文档摘要等。

2.2 威胁模型

  1. 攻击者目标 :给定一批问题集合Q,为每个问题构造错误目标答案,向知识库注入恶意文档;最大化模型输出错误答案的概率。
    • 优化恶意文档:最大化与查询的向量相似度,同时保证能够诱导 LLM 输出错误答案;限制嵌入偏移量,保证恶意文档可以被检索器召回。
  2. 攻击者能力:可以修改外部知识库注入文档;了解 RAG 全链路,可访问检索器、开源模型权重;现实对应篡改维基、伪造新闻等场景。

2.3 防御目标

3.防御框架

整体分为Stage1 Clean Retrieval 干净检索Stage2 Conflict Resolution 冲突消解两大阶段。

3.1 框架总览

  1. 检索器召回文档;K‑means 聚类过滤大部分恶意文档。
  2. 剩余文档交给第二阶段:调用 LLM 内部知识,对比外部检索文档,消除冲突,选出最可信知识生成答案。

3.2 干净检索

利用恶意文档嵌入高度聚集的特性完成初步过滤。

  1. K‑means 聚类(k=2)
    • 多注入攻击:恶意文档数量多,在嵌入空间形成高密度簇,直接过滤该簇。
    • 单注入攻击:不直接过滤,保留全部文档留给第二阶段处理,防止误删干净文档。
  2. N‑gram 保护机制(ROUGE‑L) 只用 K‑means 容易把混有 1 份恶意样本的干净簇整体删掉。使用 ROUGE‑L 衡量文档之间词重叠度:干净‑恶意文档对 ROUGE 分数显著低于恶意‑恶意文档对,以此作为判断依据,避免误过滤干净样本。

图表解析:红 = 对抗恶意文档,蓝 = 干净文档。

  • 恶意文档数量 > 2 时,会在嵌入空间形成独立紧密聚类;K‑means 可以直接识别。
  • 只有 1 个恶意文档(单注入):恶意样本离散散布在干净样本点中间,不会形成独立簇。

解释 Stage1 设计取舍:多注入直接筛簇;单注入不强行过滤,避免误杀大量干净文档,交给 Stage2 冲突消解。

3.3 冲突消解

使用 LLM 预训练习得的内部知识作为 "事实参照",处理第一阶段遗留的恶意、冲突、无关文档。

  1. Internal Knowledge Extraction 内部知识提取 temperature 设置为 0,让模型只做一次推理,输出该问题自身的内部知识;避免多变 temperature 带来幻觉。
  2. Knowledge Consolidation 知识整合 合并外部检索文档 + LLM 内部知识;提示大模型识别文档之间一致性,过滤冲突、无关、恶意内容,输出整理后的可信知识。
  3. Self‑Assessment 自我评估 模型对比内部知识与外部检索信息,自主选择采信来源(内部知识 / 整合后的外部知识),输出最终答案。

图表解析:解释为什么 K‑means + ROUGE‑L 可以区分恶意文档。

  1. 子图 (1):余弦相似度密度分布图
    • Clean(干净文档):余弦相似度集中在 0.4‑0.8;
    • Malicious(恶意文档):相似度峰值接近 1;攻击者刻意优化,让恶意文档和查询相似度很高,更容易被检索召回。
    • Cross‑Clean‑Malicious:干净‑恶意文档之间相似度处于中间区间。

启示:恶意文档会被检索器高相似度优先召回,是 RAG 投毒成功的前提。

  1. 子图 (2):ROUGE‑L 分数箱线图
    • Clean‑Clean:干净文档之间 ROUGE 分数低;
    • Malicious‑Malicious:恶意文档之间 ROUGE 分数显著更高(攻击者生成的一批恶意文档文本重叠度高);
    • Cross‑Clean‑Malicious:干净与恶意文档之间 ROUGE 分数很低。

4.实验

4.1 实验设置

  1. 数据集:Natural Questions (NQ)、HotpotQA、MS‑MARCO 三个问答基准。
  2. 攻击类型
    • Corpus Poisoning(PoisonedRAG 语料投毒)
    • PIA 提示注入攻击
    • AD 对抗解码攻击
    • Jamming 阻塞拒绝服务攻击
  3. 对比防御基线:RobustRAG、InstructRAG、ASTUTE‑RAG;另外设置 Vanilla RAG、No‑RAG 作为基础对照。
  4. 评估指标
    • ACC:干净场景下回答准确率
    • ASR 攻击成功率:被攻击时模型输出攻击者期望错误答案的占比,越低越好。

4.2.主实验

4.2.1.单注入攻击实验总表

解析:对比 Mistral‑Nemo‑12B、Llama3.1‑8B、GPT‑4o,多种防御在 PIA / PoisonedRAG / AD 攻击下的 ACC/ASR。

  • TrustRAG‑stage1 只有聚类,单注入攻击下效果差;
  • TrustRAG‑stage1&2 完整版本 ASR 显著压低,同时维持高 ACC。
  • 旧防御如 InstructRAG 在部分攻击下 ASR 高达 64%,防御失效。

4.2.2.多注入不同投毒率实验

解析:投毒率从 20%~100%,模拟攻击者注入不同比例恶意文档。

  • Vanilla RAG:投毒率 100% 时 ASR 接近 98%,几乎全部输出错误答案;
  • RobustRAG 等投票类防御:当恶意文档占比高,投票被恶意样本绑架,性能暴跌;
  • TrustRAG 完整版本:无论投毒率高低,ACC 维持 80% 左右,ASR 控制在个位数。

4.3.消融实验

消融 4 个组件:①K‑means 聚类;②冲突消解;③内部知识;④自我评估。

子图 (1):PPL 困惑度分布密度图 解析:干净文本与恶意文本的 PPL 分布大面积重叠;部分恶意样本 PPL 很高,但大量恶意样本 PPL 落在干净样本区间。 结论:仅用困惑度 PPL 无法可靠检测恶意文档,驳斥过去单独依靠 PPL 做防御的思路。
子图 (2) NQ 数据集 ACC 消融柱状图;子图 (3) NQ 数据集 ASR 消融柱状图 解析:逐个去掉组件后的性能变化:

  1. w/o K‑means:去掉第一阶段聚类,高投毒场景 ACC 大幅下降,ASR 飙升;
  2. w/o Conflict Resolution(去掉冲突消解) :性能下跌幅度最大,证明冲突消解是整个框架最核心组件;即使有 K‑means、内部知识,没有冲突消解依然容易被投毒误导;
  3. w/o Internal Knowledge:没有模型内部知识作为事实参照,抗攻击能力下降;
  1. w/o Self‑Assessment:缺少来源可信度判断,性能下降。 只有全部组件打开,同时实现高 ACC + 低 ASR。
相关推荐
VL——MOESR9 小时前
【具身智能】Cosmos Policy论文阅读随笔
论文阅读·人工智能·机器学习·具身智能·cosmospolicy
Rocky Ding*1 天前
【三年面试五年模拟】2026-09-06 拼多多 AI Agent研发岗秋招笔试4道算法题完整题解
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·拼多多
西柚小萌新1 天前
【论文阅读】-- Robust RAG :针对检索损坏的鲁棒性可验证RAG
论文阅读
VL——MOESR2 天前
【具身智能】π0论文阅读随笔
论文阅读·机器学习·vla·pi0
张继雁2 天前
张继雁 个人技术简介|磨削加工过滤方向
大数据·数据库·论文阅读·人工智能·机器学习·创业创新·业界资讯
Capricorn19882 天前
知芽 Notebook Skill 引用存在性校验与单元记忆破解幽灵引用危机
大数据·论文阅读·人工智能·论文笔记
西柚小萌新3 天前
【论文阅读】-- Spa‑VLM:隐形中毒攻击基于RAG的VLM
论文阅读
西柚小萌新3 天前
【论文阅读】-- Vis‑Poison:多模态 RAG 视觉知识投毒
论文阅读
m4Rk_3 天前
【论文阅读】Agent 记忆机制(63):SAMem——把经验记忆细化为带长期价值的状态—Thought
论文阅读·人工智能·学习·开源·github