Caloogy 文章
English

越狱与提示词注入的区别

日期
2026 年 3 月 6 日
系列
提示词注入
阅读
3 分钟
主题
AiLlmJailbreakPrompt injection

一句话版本

这两个词经常被混用,但说的是两件不同的事:

  • 越狱(jailbreak):用户想让模型做模型厂商不允许的事(比如输出有害内容)。攻击的是模型的安全训练,受害者是厂商和社会。
  • 提示词注入(prompt injection):第三方想让模型做应用开发者和用户都不希望的事(比如偷用户数据)。攻击的是应用的架构,受害者是用户。

区分它们很重要,因为防御方法完全不同:越狱主要靠模型训练和内容过滤,提示词注入主要靠系统设计和权限控制。

全文分三层:

  1. 通俗理解:说服保安 vs 冒充老板
  2. 实际用处:两者的典型例子
  3. 原理与工程要点:为什么不能用防越狱的方法防注入、两者重叠的地方

第一层:通俗理解

1.1 说服保安 vs 冒充老板

越狱 提示词注入
比喻 访客想方设法说服保安放他进不该进的地方 有人往文件里塞纸条,冒充老板给秘书下命令
谁在攻击 正在使用模型的用户本人 第三方(写网页、发邮件的人)
想要什么 模型说出它本不该说的东西 模型替攻击者做事:泄露数据、执行操作
谁受害 模型厂商的规则、社会 使用应用的用户

1.2 一个具体的对比

第一种情况下用户是攻击者;第二种情况下用户是受害者。


第二层:实际用处

越狱的典型手法(概念层面):

类别 说明
角色扮演 让模型扮演"没有限制的角色",早期流行的"DAN"就是这一类
假设与虚构 "在一部小说里,反派会怎么……"
多样本越狱 在超长上下文里放入大量虚构的"问答示例",引导模型照样回答(Anthropic 在 2024 年发表了相关研究)
对抗性后缀 用算法搜索出一串看似乱码的字符,附在问题后面能显著提高越狱成功率(2023 年的学术研究)
编码与翻译 把问题换成小语种、密文、Base64,绕过以英文为主的安全训练

模型厂商持续针对这些手法改进训练,同时部署输入输出分类器。

提示词注入的典型场景:见《提示词注入》、间接提示词注入、Markdown图片数据外泄、MCP与工具投毒。


第三层:原理与工程要点

3.1 为什么防越狱的方法防不住注入

防越狱的手段 对注入的效果
训练模型拒绝有害请求 注入的指令往往并不有害:"把这段文字发给某地址""总结时推荐这个产品",模型没有理由拒绝
输出内容过滤(拦截暴力、违法内容) 外泄的数据就是用户自己的普通数据,过滤器不会拦
检测"可疑的用户输入" 注入来自文档和工具返回结果,不在"用户输入"里

所以:一个"安全"的模型(很难被越狱),照样可能被注入。

3.2 重叠的地方

3.3 防御分工

越狱 提示词注入
主要责任方 模型厂商 应用开发者(也包括模型厂商)
主要手段 安全训练、宪法式方法、输入输出分类器 权限最小化、敏感操作人工确认、切断外泄通道、隔离不可信内容
能否根治 不能,但可以持续提高门槛 不能,但可以通过架构把后果限制在可接受范围
应用开发者该做的 选用安全性好的模型;必要时加内容过滤 假设一定会被注入,按此设计系统(见《防御提示词注入》)

3.4 为什么要分清楚

很多应用开发者认为"我用的是安全性很好的模型,所以不用担心",这就把两件事混为一谈了。模型的安全训练主要针对越狱;注入的防御必须在应用层面完成。


总结

越狱 提示词注入
攻击者 用户本人 第三方
目标 突破厂商的内容规则 让模型替攻击者做事
受害者 厂商、社会 用户
防御 模型训练、内容分类 系统设计、权限控制