提示词注入怎么防?AI Agent 的七层防护指南

提示词注入无法只靠一句系统提示词解决。讲清数据与指令隔离、最小权限、工具参数校验、人工确认、输出过滤与持续测试的防护方法。

提示词注入怎么防?AI Agent 的七层防护指南
编辑部 ·

提示词注入的本质是:模型读到不可信内容后,把其中的文字误当成更高优先级指令。它不能靠“忽略恶意指令”这一句话彻底解决,因为模型需要阅读网页、邮件和文档,攻击内容就藏在正常数据里。

更可靠的做法是多层防护,让一次误解也无法直接造成高影响操作。

七层防护

  1. 数据与指令分离:把外部文本标为不可信数据,明确它不能改变系统规则。
  2. 最小权限:每个 Agent 只获得当前任务必需的工具与数据范围。
  3. 工具 Schema 校验:对参数类型、范围和允许动作做服务端验证。
  4. 高风险人工确认:发送、删除、付款、发布前展示明确预览并要求确认。
  5. 输出过滤:阻止敏感凭据、内部提示词和不应外发的数据进入最终回复。
  6. 隔离执行环境:浏览、代码执行、文件处理不要默认拥有生产权限。
  7. 持续红队测试:把新发现的攻击样本加入回归用例,见AI 红队测试指南

最容易忽略的点:工具返回也是输入

网页正文、邮件、OCR 结果是一类外部输入;搜索结果、数据库备注、API 错误信息同样可能包含恶意内容。任何会被模型阅读、又不是系统自己生成的数据,都应按不可信内容处理。

发生异常时怎么办

若模型突然要求扩大权限、导出数据、忽略规则或执行与用户目标无关的动作,应中止流程并记录上下文。不要让它“再试一次看看”;先分析是哪段不可信内容触发了偏移,再收紧工具和数据边界。

总结

提示词注入是使用语言模型处理外部内容时的结构性风险。防护重点不是让模型永远不被骗,而是确保它即使被误导,也没有权限泄露数据或执行危险操作。数据隔离、最小权限、校验、审批和测试缺一不可。