7.2 RAG 架构攻击面分析

检索增强生成(RAG)通过引入外部知识来增强智能体能力,但也引入了新的安全风险。

7.2.1 RAG 架构概述

RAG 通过检索相关文档来为智能体提供上下文,提升回答的准确性和时效性。

典型 RAG 流程

spinner

图 7-7:RAG 架构概述架构图

7.2.2 RAG 攻击面映射

RAG 系统的每个组件都可能成为攻击点:

spinner

图 7-8:RAG 攻击面映射流程图

组件
攻击类型
风险描述

知识库

数据投毒

注入恶意文档

嵌入模型

对抗样本

操纵检索结果

向量数据库

未授权访问

窃取或篡改数据

检索逻辑

检索操纵

强制返回恶意内容

提示模板

模板注入

破坏提示结构

7.2.3 知识库投毒攻击

攻击者将恶意文档注入知识库,影响检索结果。

投毒策略

传统 SEO 与向量检索投毒的区别:传统搜索引擎优化(SEO)依赖关键词频率、链接权重等信号,而 RAG 系统采用的向量相似度检索完全不同。在向量检索中,攻击者需要构造文本内容,使其通过嵌入模型映射到的向量与目标查询的嵌入向量在语义空间中保持高度接近。这不是简单的关键词堆叠,而是对嵌入模型空间拓扑的理解和利用,属于“语义检索投毒”或“嵌入对齐攻击”。

投毒文档示例

7.2.4 检索结果操纵

攻击者尝试操纵检索过程,使恶意内容优先被返回。

操纵技术 嵌入相似度攻击

spinner

图 7-9:检索结果操纵流程图

关键词堆叠 在恶意文档中包含大量相关关键词,提高相似度得分。

元数据利用 利用文档元数据(如标题、标签)影响检索排序。

7.2.5 向量数据库安全

向量数据库是 RAG 系统的核心组件,需要专门的安全防护。

安全威胁

威胁
描述
影响

未授权访问

绕过访问控制

数据泄露

数据篡改

修改向量或元数据

检索结果被操纵

批量提取

导出全部向量

知识库泄露

注入攻击

通过查询注入恶意向量

系统破坏

安全措施

spinner

图 7-10:向量数据库安全流程图

7.2.6 上下文窗口攻击

利用 RAG 往 LLM 上下文注入内容的机制进行攻击。

上下文污染

上下文竞争 多个文档同时被检索时,恶意文档尝试“压制”正常文档的影响。

7.2.7 RAG 安全最佳实践

输入层防护

检索层防护

措施
描述

来源标记

标识文档来源可信度

相似度阈值

过滤低相关文档

多样性控制

避免单一来源主导

异常检测

识别异常检索模式

生成层防护

  • 系统提示中明确数据来源限制

  • 对检索内容进行安全审核

  • 输出验证和过滤

架构层防护

spinner

图 7-11:RAG 安全最佳实践流程图

RAG 安全需要在知识管理、检索优化和生成控制之间取得平衡。理解 RAG 特有的攻击面是构建安全系统的基础。

最后更新于