跳转至

CoT注入攻击

风险概览

风险编号:GAARM.0042
子风险:GAARM.0042.001、GAARM.0042.002
安全阶段:应用安全
生命周期:应用阶段
创建时间:2024.05.01
修改时间:2024.05.01

攻击概述

CoT(Chain of Thought)通过促使LLMs思考一系列的关键步骤来解决问题,有效提高了问题的推理解决能力。基于ReAct(Reason + Act)实现CoT推理的技术框架,并且利用Agent调度实现LLMs访问外部世界的交互能力,可以与各种外部系统无缝连接并执行复杂的任务。

在CoT应用中,用户通过提供自然语言的问题,AI模型会生成一系列推理步骤来回答该问题,其中涉及到思考(Thought)、行动(Act)、观察(Obs)三个核心步骤,AI模型会循环上述三个步骤完成各种复杂问题的推理与解决,由于整个过程比传统代码逻辑更加开放与灵活,缺乏严格的流程控制结构,攻击者可以通过CoT注入攻击绕过特定的推理步骤,诱导AI模型执行非预期的动作,比如:业务功能风险(任意用户转账等)、技术功能风险(SSRF、RCE等),目前CoT注入攻击主要有两种攻击思路:

  1. 思维链干扰注入:通过观察CoT的调度过程,构造恶意输入以欺骗模型认为其已经获取到一个Agent的结果,通过伪造Agent的结果,实现对CoT运行过程的干扰;
  2. 思维链操纵注入:通过观察CoT的调度过程,直接或利用对抗攻击手段构造恶意输入,实现对CoT过程的操纵,使模型跳过预置的CoT过程,直接调度敏感的Agent;

攻击案例

案例 描述
案例一 该案例主要提出基于ReAct框架的LLMs应用,如何利用其CoT思维链过程实现对Agent的恶意利用
案例二 该研究发现,通过将越狱提示与 CoT 提示相结合,利用 CoT 绕过 LLM 的道德限制,可以导致模型生成私人信息
案例三 ReAct框架下的查询注入攻击CTF开源题目

攻击风险

  • 在使用信息检索系统的LLMs应用中,攻击者可以污染信息检索数据库,使得恶意文本片段被注入到发送给LLM的查询中,从而影响最终的输出结果,导致用户隐私、恶意代码执行等一系列风险。
  • 在退款业务系统的LLMs应用中,攻击者可以干扰退款CoT流程,使得原先不具备退款条件的订单可以正常退款;或者直接恶意操纵退款操作的Agent,使得实际退款金额与预期退款金额不符,从而造成企业的经济损失。

缓解措施

缓解方式 描述
严格权限管控 强制执行严格的特权控制,确保LLMs只能访问必需的内容以及Agent,从而最大程度地减少潜在的漏洞点
LLMs Agent调度控制 针对敏感操作的Agent实施外部严格的自动或者人工权限校验机制判断,避免LLMs直接具备相应的使用权限
Prompt内容强化 采用 OpenAI 聊天标记语言 (ChatML) 等解决方案,试图将真正的用户提示与其他内容隔离开来

参考