提示注入是人工智能系统中的一种安全漏洞,即隐藏在模型处理的内容(如网页、文档、电子邮件或搜索结果)中的指令会被模型当作合法命令来解释和执行,从而可能覆盖开发者或用户的原始意图。该术语由研究员西蒙·威利森于2022年提出,用以描述与传统软件中SQL注入类似的攻击方式:在这两种情况下,不受信任的输入未能与受信任的指令适当分离,使得攻击者能够通过仅用于数据的通道偷偷传递命令。
随着AI代理和工具使用的兴起,提示注入成为一个显著更严重的实际关切,因为能够代表用户浏览网页、阅读电子邮件或执行代码的代理可能会遇到攻击者控制的内容,并按照注入的指令采取具有实际后果的行动,而不仅仅是像简单聊天机器人那样生成文本。
直接注入与间接注入
安全研究人员区分了直接提示注入(用户直接在提示中键入对抗性指令,与越狱有很大重叠)和间接提示注入(恶意指令嵌入在模型检索或处理所给的第三方内容中,例如助手总结的网页、提交给招聘工具的简历,或由自动化代理处理的支持工单)。间接注入通常被认为风险更严重,因为攻击者根本不需要直接访问AI系统,只需将内容放置在系统稍后会读取的地方即可。
攻击示例
已记录和演示的攻击包括:网页中隐藏的文本(人类查看者不可见,但模型可读)指示AI浏览助手泄露私人数据或采取非预期行动;检索增强生成流程中的有毒文档,当该文档被检索时导致模型输出虚假信息;以及嵌入在代码注释中的恶意指令,被编码助手遇到。研究人员已对商业AI浏览和代理产品进行了概念验证攻击,促使相关实验室将该问题视为优先事项。
缓解措施
由于提示注入利用了语言模型通过自然语言文本的同一通道处理指令和数据这一事实,因此没有类似于SQL中参数化查询的完整技术修复方案。已提出和部分实施的缓解措施包括:更严格的护栏和输出过滤、权限分离(限制代理在未经用户明确确认的情况下可采取的操作)、训练模型更好地区分受信任的系统指令与不受信任的检索内容,以及对工具访问进行沙箱化。截至2025年,提示注入仍是一个未解决且积极研究的问题,也是AI红队测试演练中的标准主题,尤其是针对基于模型上下文协议及类似标准构建的、将模型连接到外部工具和数据的产品。