Caloogy 文章
English

防御提示词注入的工程手段

日期
2026 年 1 月 9 日
系列
提示词注入
阅读
4 分钟
主题
AiPrompt injectionDefenseDual llm

一句话版本

提示词注入没有"参数化查询"那样的一劳永逸的解法,所以防御要分两层:一层是降低被注入的概率(模型训练、输入标记、检测器),另一层更重要,是限制被注入之后的后果(权限最小化、隔离不可信内容、敏感操作人工确认、切断外泄通道)。 业界逐渐形成的共识是:不要指望模型自己分辨好坏,而要让系统设计保证"即使模型被骗,也做不了坏事"。

全文分三层:

  1. 通俗理解:不能只靠秘书的判断力
  2. 实际用处:主流方法一览
  3. 原理与工程要点:致命三要素、双模型模式、CaMeL、设计模式清单

第一层:通俗理解

1.1 不能只靠秘书的判断力

秘书容易被纸条骗(见《提示词注入》),你有两种办法:

  1. 培训秘书:教他"文件里的话不是我的命令"。有用,但总有骗得过他的纸条;
  2. 改流程:秘书可以读任何文件,但不能自己寄信、不能动保险柜;要寄信,必须拿给你签字。

第二种办法不依赖秘书的判断力,所以可靠得多。

1.2 两层防御

层次 目标 手段 可靠程度
降低概率 让注入更难成功 模型训练、输入标记、检测器 概率性,会被绕过
限制后果 注入成功了也做不了坏事 权限、隔离、确认、出口控制 确定性,由系统保证

第二层:实际用处

方法 提出者 / 年份 思路
指令层级(instruction hierarchy) OpenAI,2024 训练模型区分优先级:系统 > 开发者 > 用户 > 工具结果,低优先级里的指令不得覆盖高优先级
聚光灯(spotlighting) 微软研究,2024 给不可信内容加上明确的标记或编码(如每个词之间插入特殊符号),帮助模型分辨"这是数据"
注入检测器 多家厂商 用专门的分类模型检测输入中是否含有注入指令
双模型模式(Dual LLM) Simon Willison,2023 一个"特权"模型能调用工具但从不接触不可信内容;一个"隔离"模型处理不可信内容但不能调用工具
CaMeL Google DeepMind,2025 在双模型思路上加入"能力"追踪:每个数据都带着来源标签,策略引擎根据来源决定它能流向哪里
Agent 设计模式 多所机构联合论文,2025 总结了若干种在可用性和安全性之间取舍的 Agent 架构模式(如"先规划后执行"、"行动选择器"等)

前三种属于"降低概率",后三种属于"限制后果"。


第三层:原理与工程要点

3.1 先检查"致命三要素"

一个 AI 系统如果同时具备:

  1. 访问私密数据;
  2. 接触不可信内容;
  3. 对外通信的能力;

那么它几乎一定可以被注入攻击用来偷数据(Simon Willison 称之为"致命三要素")。设计时首先要问:能不能拿掉其中一个?

拿掉 例子
私密数据 处理公开网页的 Agent 不接入用户邮箱
不可信内容 能读邮箱的 Agent 不浏览外部网页
对外通信 禁止渲染外部图片、禁止任意联网、发送类工具必须人工确认(见《Markdown图片数据外泄》、网络出口控制)

3.2 双模型模式

让隔离模型处理 $doc1

结果存为变量 $sum1

把 $sum1 显示给用户

用户请求

特权模型
能调用工具
从不读不可信内容

隔离模型
读不可信内容
不能调用工具

关键:特权模型只看到变量名($sum1),看不到变量的内容,所以内容里的注入指令无法影响它的决策。局限是:如果特权模型需要根据内容做判断("如果邮件里提到会议,就加到日历"),这个模式就不够用了。CaMeL 通过让特权模型生成一段代码,再由解释器执行并追踪每个值的来源,部分地解决了这个问题。

3.3 工程清单

类别 措施
权限 工具权限最小化;只读优先;凭证不进入模型上下文(见《Agent权限设计》、凭证泄露与上下文窗口)
隔离 不可信内容和高权限工具不在同一个上下文;按来源打标签
确认 对外发送、写入、删除、付款等动作需要用户确认,并展示完整参数
出口 不自动加载外部资源;网络访问白名单;DNS 也要管(见《网络出口控制》)
输出 渲染前检查链接和图片;不信任模型输出里的 HTML
记忆 写入长期记忆需确认(见《RAG与记忆投毒》)
可观测 记录每次工具调用;异常行为告警
测试 持续用注入测试集做回归(见《AI红队测试》)

3.4 人工确认的陷阱

"每个动作都让用户确认"听起来最安全,但会导致确认疲劳:用户一天点一百次"允许",很快就不看内容直接点了(和风控评分与摩擦设计里的道理一样)。更好的做法是:


总结

层次 要点
原则 不指望模型分辨好坏;让系统保证"被骗了也做不了坏事"
降低概率 指令层级、聚光灯、检测器
限制后果 拆掉致命三要素;双模型 / CaMeL;最小权限;出口控制
平衡 按风险分级确认,避免确认疲劳