跳转至

间接Prompt注入

风险概览

风险编号:GAARM.0040
子风险:GAARM.0040.001、GAARM.0040.002、GAARM.0040.003
安全阶段:应用安全
生命周期:应用阶段
创建时间:2024.05.01
修改时间:2024.08.05

攻击概述

LLMs处理自然语言的过程中,存在被恶意注入提示(Prompt)的漏洞。攻击者会把Prompt藏在LLM系统将会处理的各种数据中,如文本、多媒体内容、数据库或网站提取的信息等,进而通过Prompt操纵LLM产生有害的回应,如恶意代码执行、敏感信息泄露等。例如将恶意代码写入上传给LLM的文件中,当LLM处理文件中的数据时会运行恶意代码,从而产生危害。

攻击案例

案例 描述
案例一 攻击者通过在用户访问的网站上植入注入代码,使得Bing Chat在用户不知情的情况下,寻找并外泄个人信息
案例二 攻击者控制LLMs插件检索的数据,利用Markdown图像渲染机制,将聊天历史作为查询参数发送到攻击者的服务器
案例三 这个案例展示了一个对M365 Copilot的攻击手段,通过发送一封包含恶意的邮件,甚至无需用户打开邮件,即可远程操控Copilot,造成来自第三方的攻击

攻击风险

  • 恶意代码执行: 通过注入恶意代码或数据,攻击者可能试图在系统中获得一个立足点,从而进一步控制或破坏系统
  • 数据泄露: 攻击者可能使用间接注入来误导用户,使其执行非预期的操作或泄露敏感信息。

缓解措施

缓解方式 描述
输入验证 对所有输入数据进行严格的验证和清洗,以移除或修正任何可疑的注入内容
最小权限原则 确保正确的沙盒化并限制LLMs的能力,限制插件、Agent等机制从不可信来源获取数据信息
人工干预审批 提供给用户更多的控制权,让他们能够管理插件的使用和数据的流向

参考