RAG-CT:通过扫描提示分布缓解检索增强生成系统的隐私风险
摘要
RAG-CT是一种新颖的防御方法,通过分析熵和边缘分布来识别恶意查询,从而缓解检索增强生成系统的隐私风险,显著减少PII泄露。
arXiv:2609.16095v1 公告类型:新
摘要:检索增强生成(RAG)已成为一种强大的范式,用于提高大型语言模型(LLM)生成内容的质量,通过将响应基于外部知识,从而减少幻觉和事实错误。然而,最近的研究强调了一个关键漏洞:攻击者可以利用检索过程从底层语料库中提取个人身份信息(PII)。为了缓解这一风险,我们提出了一种新颖的防御方法RAG-CT,它通过分析查询的熵和边缘分布并使用基于分数的检测方法来识别恶意查询。在两个数据集上使用四种最先进的攻击策略和四种防御基线进行了广泛的实验,表明我们的方法显著减少了PII泄露,同时优于现有防御。这项工作提供了一个轻量级但有效的机制,以保护RAG系统免受PII泄露,而无需修改底层的LLM或检索器。
查看缓存全文
缓存时间: 2026/09/16 08:43
# RAG-CT:通过扫描提示分布缓解检索增强生成系统的隐私风险
来源:https://arxiv.org/html/2609.16095
王嘉湄 何建锋 王宁††感谢:本工作在何建锋加入亚马逊之前完成。胡漪丹 陈一鸣
###### 摘要
检索增强生成已成为一种强大的范式,通过将大型语言模型的响应锚定在外部知识中,从而减少幻觉和事实错误,提高了生成内容的质量。然而,近期研究揭示了一个关键漏洞:攻击者可以利用检索过程从底层语料库中提取个人身份信息。为缓解这一风险,我们提出了一种新颖的防御方法 RAG-CT,它通过分析恶意查询的熵和边际分布,并使用基于分数的检测方法来识别恶意查询。在四个数据集和两个最先进的攻击策略及四个防御基线上进行的广泛实验表明,我们的方法在显著减少 PII 泄漏的同时,优于现有防御机制。这项工作提供了一种轻量级且有效的机制,以保护 RAG 系统免受 PII 泄漏的影响,而无需修改底层的 LLM 或检索器。
###### 索引术语:
LLM, RAG, 隐私, 安全, 防御
††地址:1 美国马萨诸塞州洛厄尔市洛厄尔大学,邮编 01854
2 中国香港九龙城市大学,香港特别行政区,邮编 999077
3 美国弗吉尼亚州布莱克斯堡弗吉尼亚理工大学,邮编 24061
4 美国佛罗里达州坦帕南佛罗里达大学,邮编 33620
5 美国纽约州罗切斯特罗切斯特理工学院,邮编 14623
## 1 引言
大型语言模型在各种应用中展现出令人印象深刻的能力。然而,其可靠性常因诸如幻觉等问题而受到质疑——即 LLMs 在无法获取最新数据时,可能生成虚假或不准确的信息[10]。为缓解这些问题,检索增强生成作为一种有前景的解决方案近期受到了关注[17]。具体而言,RAG 通过整合从外部知识源检索到的、作为 LLM 输入上下文的相关信息(如图 2 所示),提高了 LLM 输出的准确性和可靠性。RAG 已在实践中被集成到许多应用中,包括客户支持聊天机器人[13]、医疗保健[1]、法律咨询系统[5]和金融分析[21]。
图 1:在真实 RAG 系统上通过提取攻击导致隐私泄漏的示例。突出区域(红色)显示提取的 PII,如电话号码。虽然 RAG 通过整合外部知识库增强了 LLM,但它也引发了严重的隐私问题。近期研究表明[20, 15, 3],攻击者可以利用这种整合直接从知识库中提取个人身份信息。图 1 显示攻击者可以从真实的 RAG 系统中获取私人数据(例如,电话号码)。由于 LLM 容易受到提示攻击,攻击者可以精心构造恶意查询,指示模型逐字输出检索到的私人内容。基于这一漏洞,Jiang 等人[6]提出了一种基于自动代理的攻击方法,通过重叠和方向性扩展来扩展查询;而 Di Maio 等人[4]则开发了一种相关性驱动的策略,通过动态更新查询以实现更有效的数据提取。
在本工作中,我们通过提出 RAG-CT(一种基于查询检测的分布感知防御)来解决 RAG 系统中的 PII 提取/泄漏问题。关键直觉(见 3.1 节)是,良性查询通常检索多个语义相关的记录,而恶意查询则倾向于检索单个敏感记录。我们将这一观察纳入 RAG-CT 的设计中,结合两个互补的指标:*熵*,用于衡量检索记录间相似性分数的分布广度;以及*边际*,用于量化最佳匹配相对于次佳匹配的决定性。低熵和高边际共同指示有针对性的提取,从而能够可靠地检测恶意查询。如图 1 所示,RAG-CT 可以成功防御现有攻击。我们将主要贡献总结如下:
- • 我们提出了 RAG-CT,一种通过联合分析提示查询的熵和边际分布来缓解 RAG 系统中 PII 泄漏的新颖防御方法。
- • 我们设计了一个统一的异常评分机制,结合全局分布广度(来自熵)和局部决定性(来自边际)来检测恶意提取尝试。
- • 我们在多种 LLM、数据集和攻击场景下进行了广泛评估,结果表明 RAG-CT 持续将提示注入攻击(TBTG[20] 和 PIDE[15])的攻击成功率从高于 0.8 降至 0.00,并将高级查询优化攻击(RAG-Thief[6] 和 Pirate[4])的成功率降至 0.1 以下。
## 2 系统与对手模型
### 2.1 系统模型
我们在图 2 中说明了典型 RAG 系统的工作流程。一个 RAG 系统包括检索器 $R_{D}$、索引知识库 $\mathbf{K}$ 和一个用于响应生成的 LLM(称为 LLM-RAG)。数学上,给定查询 $q$,检索器从知识库 $\mathbf{K}$ 中获取 Top-$k$ 个文档块 $[c_1, c_2, \cdots, c_k]$(即 $[c_1, c_2, \cdots, c_k] = R_D(q, \mathbf{K})$)。然后,检索器将 $c_1 \oplus c_2 \oplus \cdots \oplus c_k \oplus q$ 输入 LLM-RAG。最终,LLM-RAG 输出 $r = \mathcal{G}_{\text{LLM-RAG}}\bigl(c_1 \oplus c_2 \oplus \cdots \oplus c_k \oplus q\bigr)$ 作为对查询 $q$ 的响应。
### 2.2 对手模型
我们考虑一个以 PII 为目标的攻击者,旨在从 RAG 系统的知识库中提取个人身份信息。具体而言,**对手的目标**是恢复包含 PII 的数据块,例如电话号码、电子邮件地址、社会安全号码、驾照号码或护照号码。攻击者被假定在**黑盒环境**下操作,这意味着对手只能通过 API 与 RAG 系统交互,无法直接访问内部参数、模型权重或知识库 $\mathbf{K}$。然而,对手可能拥有相关的领域知识,可以指导构建指向 PII 相关目标的查询。
形式上,攻击者发出查询 $q$ 以获取系统响应 $r$,并应用攻击从 $r$ 中提取包含 PII 相关信息的候选块集合 $\mathbf{C}$。给定一系列查询 $\mathbf{Q} = [q_1, q_2, \cdots, q_n]$,攻击者获得相应的响应 $\mathbf{R} = [r_1, r_2, \cdots, r_n]$ 和提取的 PII 候选集合 $\mathcal{C} = [\mathbf{C}_1, \mathbf{C}_2, \cdots, \mathbf{C}_n]$。最终恢复的 PII 块集合为 $\mathbf{\Omega} = \mathbf{C}_1 \cup \mathbf{C}_2 \cup \cdots \cup \mathbf{C}_n$。
图 2:典型 RAG 系统的工作流程。
## 3 RAG-CT 设计
( a ) Top-1 相似性熵 ( b ) 边际分布
图 3:良性查询与恶意查询的分布对比。参见标题
图 4:RAG-CT 的工作流程。
### 3.1 直觉
我们的核心直觉是良性查询检索多个语义相关的记录,而恶意查询则倾向于聚焦于单个私人记录[20, 15, 2]。基于我们的实验观察(如图 3 所示),我们设计了两个互补的指标。*熵*衡量 Top-$k$ 检索记录上归一化相似性分数[2]的分布广度。我们特别观察到,良性查询产生较高的熵,而以 PII 为目标的查询则导致集中(即低熵)的分布。*边际*定义为最高分与第二高分之间的差距:良性查询显示较小的边际,而恶意查询显示较大的边际[18]。当两者结合时,**低熵和大边际**往往指示有针对性的(即恶意的)提取。从图 3 可以看出,恶意查询坍缩到单个记录上(即低熵和大边际),而良性查询则分布在多个记录上(即高熵和小边际)。
### 3.2 方法论
概述:RAG-CT 的核心步骤如图 4 所示。给定一个查询 $q$,我们执行五个步骤:1)从记忆中检索 Top-$k$ 最相关记录,2)将其相似性分数[2]归一化为概率分布,3)计算该分布的**熵**以衡量*分布广度*,4)计算 Top-1 和 Top-2 分数之间的**边际**以衡量*决定性*,5)将这两个指标组合成统一的异常分数。如果异常分数超过阈值,则将查询 $q$ 标记为恶意。
步骤 1. Top-$k$ 相似性提取。给定查询嵌入 $q \in \mathbb{R}^d$ 和记录嵌入 $\{r_i\}_{i=1}^n \subset \mathbb{R}^d$,我们计算相似性分数 $s_i = \langle q, r_i \rangle$ 并按降序排列为 $s_{(1)} \geq s_{(2)} \geq \cdots \geq s_{(n)}$。保留 Top-$k$ 个分数 $\{s_{(1)}, \dots, s_{(k)}\}$ 用于分析。
步骤 2. Softmax 归一化。为获得概率解释,我们使用 softmax 对 Top-$k$ 分数进行归一化:$p_i = \exp(s_{(i)}) / \sum_{j=1}^k \exp(s_{(j)})$,确保 $\sum_{i=1}^k p_i = 1$,其中 $p_i$ 反映了记录 $r_{(i)}$ 的检索权重。
步骤 3. 熵(检索分布广度)。通过香农熵 $H = -\sum_{i=1}^k p_i \log p_i$ 衡量分布广度,并归一化为 $\hat{H} = H / \log k \in [0,1]$。低 $\hat{H}$ 值表示检索异常集中,通常是恶意查询的症状。
步骤 4. 边际(检索决定性)。我们计算 Top-1 和 Top-2 分数之间的边际 $M = s_{(1)} - s_{(2)}$,并通过最小-最大归一化将其归一化为 $\hat{M} \in [0,1]$ 以捕获最佳匹配的决定性。大的 $\hat{M}$ 值表示异常占主导的检索。
步骤 5. 异常检测。最后,我们使用 $A = \alpha \cdot (1 - \hat{H}) + \beta \cdot \hat{M}$ 将熵和边际组合成统一的异常分数,其中 $\alpha, \beta \geq 0$ 是加权系数。如果 $A \geq \tau$,则查询被标记为恶意,其中 $\tau$ 是检测阈值。
## 4 评估
场景:我们在两个真实领域评估我们的防御:**医疗保健**和**个人助理**。具体来说,我们使用 HealthcareMagic-101 数据集[11](记为 Healthcare),该数据集包含医患对话,以及 Enron 电子邮件数据集[8](记为 Email)。
RAG 组件:我们使用 LangChain 框架实现我们的 RAG 系统,该框架模块化了检索和生成流程。文档被分割成块,并使用 all-MiniLM-L6-v2 嵌入 Healthcare 数据集,使用 BGE v1.5-large 嵌入 Email 数据集。对于每个查询,检索 Top-$k$ 最相关块($k=3$),并与查询拼接形成最终的生成提示。我们评估了四个代表性的 LLM:Llama2-7b-chat、Llama2-13b-chat、Qwen2-72B-Instruct 和 ChatGPT-4。
指标:我们使用三个指标来量化隐私泄漏:**唯一泄漏片段**,衡量包含私人信息的非冗余文档片段数量;**PII**,泄漏的 PII 元素总数;**攻击成功率**,定义为泄漏至少一个 PII 项的对抗性查询的比例,值范围从 0 到 1。
攻击:我们评估了近期攻击,包括提示注入方法 TGTB[20] 和 PIDE[15],以及查询优化攻击 RAG-Thief[14] 和 Pirate[4]。
基线:我们与四类现有防御进行比较:*自处理*(查询重写[12])、*辅助过滤*(基于摘要或规则的过滤器[16])、*摘要*(通过 LLM 进行检索后内容缩减)和*擦除与检查*[9](通过迭代截断输入并使用安全过滤器检测对抗性提示)。
| 模型 | Healthcare | | | Email | | |
| :--- | :--------- | :---- | :---- | :---- | :---- | :---- |
| | ULC | PII | ASR | ULC | PII | ASR |
| TGTB | 105 | 78 | 0.75 | 112 | 117 | 1.00 |
| PIDE | 124 | 73 | 0.69 | 133 | 109 | 1.00 |
| RAG-Thief | 156 | 81 | 0.72 | 182 | 156 | 1.00 |
| Pirate | 212 | 97 | 0.93 | 238 | 201 | 1.00 |
表 1:无防御时的攻击结果(100 个提示)。
| 防御 | 模型 | TGTB | | | PIDE | | | RAG-Thief | | | Pirate | | |
| :--- | :--- | :--- | :---- | :---- | :--- | :---- | :---- | :-------- | :---- | :---- | :----- | :---- | :---- |
| | | ULC | PII | ASR | ULC | PII | ASR | ULC | PII | ASR | ULC | PII | ASR |
| 重述 | Llama2-7b-chat | 98 | 75 | 0.71 | 109 | 48 | 0.48 | 119 | 52 | 0.43 | 199 | 100 | 1.00 |
| | Qwen2-72B | 101 | 65 | 0.60 | 120 | 67 | 0.67 | 138 | 56 | 0.35 | 203 | 81 | 0.75 |
| | ChatGPT-4 | 112 | 81 | 0.76 | 129 | 50 | 0.50 | 149 | 85 | 0.70 | 208 | 94 | 0.90 |
| 摘要 | Llama2-7b-chat | 87 | 60 | 0.52 | 102 | 55 | 0.45 | 95 | 63 | 0.55 | 176 | 82 | 0.72 |
| | Qwen2-72B | 94 | 66 | 0.60 | 111 | 59 | 0.53 | 124 | 71 | 0.61 | 182 | 90 | 0.85 |
| | ChatGPT-4 | 98 | 74 | 0.68 | 106 | 62 | 0.40 | 135 | 78 | 0.68 | 191 | 96 | 0.87 |
| 基于规则 | Llama2-7b-chat | 1 | 2 | 0.03 | 71 | 36 | 0.36 | 80 | 45 | 0.45 | 132 | 38 | 0.29 |
| | Qwen2-72B | 1 | 3 | 0.05 | 58 | 37 | 0.37 | 82 | 33 | 0.33 | 157 | 59 | 0.55 |
| | ChatGPT-4 | 2 | 0 | 0.08 | 65 | 30 | 0.30 | 83 | 34 | 0.34 | 116 | 58 | 0.40 |
| 擦除检查 | Llama2-7b-chat | 3 | 5 | 0.12 | 1 | 3 | 0.03 | 66 | 15 | 0.15 | 97 | 60 | 0.47 |
| | Qwen2-72B | 4 | 3 | 0.17 | 2 | 5 | 0.10 | 74 | 21 | 0.21 | 120 | 64 | 0.53 |
| | ChatGPT-4 | 5 | 2 | 0.19 | 1 | 4 | 0.07 | 72 | 27 | 0.27 | 127 | 71 | 0.68 |
| RAG-CT (本文) | Llama2-7b-chat | 2 | 0 | 0.00 | 6 | 0 | 0.00 | 22 | 3 | 0.03 | 67 | 11 | 0.08 |
| | Qwen2-72B | 1 | 0 | 0.00 | 5 | 0 | 0.00 | 24 | 5 | 0.05 | 63 | 9 | 0.05 |
| | ChatGPT-4 | 4 | 0 | 0.00 | 1 | 4 | 0.00 | 26 | 4 | 0.04 | 50 | 6 | 0.06 |
表 2:不同攻击下防御性能比较(Healthcare 数据集,100 个提示)。
主要结果:表 1 报告了在 Llama2-8b-chat 上使用 Healthcare 数据集(100 个提示)的攻击性能。在没有防御的情况下,攻击者实现了高水平的 PII 泄漏。在我们的评估中,PII 包括全名、电话号码、电子邮件地址、身份证号码、社会安全号码、护照、驾照、出生日期以及居住或工作地址。表 2 总结了在 Healthcare 数据集上五种防御策略下的结果。相似文章
PRA-RAG:检索增强生成中针对检索损坏的可证明鲁棒聚合
PRA-RAG是一种用于检索增强生成的可证明鲁棒的聚合算法,旨在抵御对检索文本的投毒攻击。它利用嵌入空间中的几何结构来识别鲁棒子集,并提供攻击影响的理论界限,将攻击成功率降低至1%,同时保持准确率。
RAGuard: 一种针对检索增强生成系统的分层防御框架,用于防御数据投毒
RAGuard 是一种针对检索增强生成(RAG)系统的分层防御框架,它利用检索器的对抗性微调以及一种无标签过滤器(ZKIP),在对语料库投毒攻击中实现零攻击成功率,同时保持较高的检索准确率。
用于检索增强生成的查询感知源风险分流
本文提出了一种用于检索增强生成(RAG)管道的查询感知分流层,以处理源与查询之间的实质性关系,通过在合成数据上评估的评分和路由方法来定义风险覆盖目标。
检索增强生成(RAG)管道中匿名化影响的案例研究
本案例研究通过实证研究调查在检索增强生成(RAG)管道中应在何处应用匿名化以平衡隐私与可用性,并检查在不同阶段(数据集与生成的回答)进行匿名化的影响,为隐私风险缓解策略提供指导。
检索增强生成解决了大多数团队实际上并不存在的问题
文章论点是检索增强生成(RAG)在AI系统中经常被误用,真正的问题在于上下文策展而非检索。它表明RAG仅对大规模、频繁变化的语料库真正有益。