查询注入攻击
风险概览
风险编号:GAARM.0056.001
风险归属:GAARM.0056
安全阶段:应用安全
生命周期:应用阶段
创建时间:2024.05.01
修改时间:2024.08.06
攻击概述¶
该风险是CoT注入攻击中的一种子技术,查询注入攻击主要用于利用CoT应用下的数据查询Agent实现任意数据的泄露。在CoT应用中,用户通过提供自然语言的问题,AI模型会生成一系列推理步骤来回答该问题。攻击者可以在问题中注入恶意的SQL代码,试图绕过模型的安全检查,直接访问后端数据库。当CoT思维链应用外部接入传统数据库、向量数据库、知识图谱等外挂数据库的时候,需要通过Agent实现外部数据查询与获取,攻击者可以通过干扰或者操纵CoT过程,例如在查询外部数据时,错误的把用户提供的语句当作了外部的数据,导致任意数据被查询和获取。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | ReAct框架下的查询注入攻击CTF开源题目 |
攻击风险¶
- 在使用信息检索系统的LLMs应用中,攻击者可以污染信息检索数据库,使得恶意文本片段被注入到发送给LLM的查询中,从而影响最终的输出结果,导致用户隐私、恶意代码执行等一系列风险。
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 严格权限管控 | 强制执行严格的特权控制,确保LLMs只能访问必需的内容以及Agent,从而最大程度地减少潜在的漏洞点 |
| LLMs Agent调度控制 | 针对敏感操作的Agent实施外部严格的自动或者人工权限校验机制判断,避免LLMs直接具备相应的使用权限 |
| Prompt内容强化 | 采用 OpenAI 聊天标记语言 (ChatML) 等解决方案,试图将真正的用户提示与其他内容隔离开来 |