RAG开发框架漏洞
风险概览
风险编号:GAARM.0034.002
风险归属:GAARM.0034
安全阶段:应用安全
生命周期:训练阶段
创建时间:2024.08.07
修改时间:2024.08.07
攻击概述¶
RAG(Retrieval-Augmented Generation)是结合信息检索和生成的框架,在大型语言模型(LLM)的开发中用于增强模型的生成能力。由于RAG框架依赖于检索模块从外部数据源获取信息,如果检索模块的源数据不准确或不可靠,可能导致生成的回答包含错误或误导性信息;并且框架本身引入的各种Agent,也可能存在相关的安全风险。RAG框架相关的安全风险主要集中于RAG的生成模块、信息检索模块、集成插件和外部接口等方面,由于对RAG设计的不安全,导致可能引入其中的安全漏洞到LLM应用。例如,如果RAG检索模块的设计允许服务器发起不受限制的请求,可能会导致SSRF漏洞的利用。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | 由于LangChain框架中存在的SSRF以及PALChain的RCE漏洞,给使用框架的LLM应用带来了安全风险 |
攻击风险¶
- 信息泄露:攻击者可能通过路径遍历漏洞访问敏感文件或系统配置文件,泄露系统内部信息。
- 系统控制:如果系统文件包含敏感的配置信息或脚本,攻击者可能进一步利用这些信息来控制系统。
- 命令执行:框架中的数据表达式运算、Python解释器等Agent,可能被利用造成RCE攻击。
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 输入验证 | 严格验证和清理所有用户输入,防止路径遍历攻击。 |
| 权限管理 | 在设置适当的文件权限,防止未授权的文件访问。 |
| 更新和修复 | 确保应用程序和相关依赖的最新版本,及时应用安全补丁以修复已知漏洞。 |