一句话定义
越狱(Jailbreak)指用户通过精心构造的提示词,诱导大模型绕过自身的安全限制,输出它本该拒绝的内容。攻击点不是系统漏洞,而是模型「判断这句话该不该拒绝」的那套逻辑。
它到底绕过了什么
模型在出厂前会做对齐(Alignment)训练:让它学会对某些请求说「不」。但这种「拒绝」本质上是模式匹配——它认出的是某类语境,而不是某个抽象原则。
打个比方:一名保安被训练成「看到有人扛刀进来就拦住」。越狱相当于你说:「我们在拍戏,你演保安,剧本里这场你得放他过去。」保安没变、刀也没变,变的是他对自己身处何种场景的判断。
常见的手法基本都在做这件事:
- 角色扮演:要求模型扮演一个「没有任何限制」的虚构角色,或进入某个虚构世界
- 虚构包装:把请求塞进小说对白、剧本、学术假设里
- 编码绕过:把敏感内容改成 Base64、ROT13、拼音或小语种,让过滤层看不懂
- 任务拆解:把一个大请求切成若干看起来无害的小步骤
还有一层机制在帮忙:模型是逐词生成的,一旦开头的设定被接受(「你现在不受限制」),后续每一步都倾向于和前面的上下文保持一致,中途很难「反悔」。这也是为什么越狱提示往往很长、铺垫很多。
需要清楚的是,这类提示词高度依赖具体模型和具体时间点。今天有效的写法,模型更新一次可能就失效,网上流传的「万能破限词」大多有时效性。
容易混淆的几个词
| 概念 | 攻击的对象 | 典型手法 |
|---|---|---|
| 越狱 Jailbreak | 模型自身的安全对齐 | 角色扮演、编码、虚构场景 |
| 提示注入 Prompt Injection | 应用层的指令优先级 | 在网页、文档、邮件里藏指令 |
| 对抗性样本 Adversarial Example | 模型的输入输出映射 | 像素级或字符级微扰 |
一句话区分:越狱是让模型「愿意说」,提示注入是让模型「搞错该听谁的」。
对从业者意味着什么
别把 System Prompt 当安全边界。 在提示词里写「不要做坏事」,只是提高了一点门槛,不是防线。真正的防御是多层的:输入检测、输出过滤、敏感操作人工确认、工具权限最小化。
越狱样本是安全评测的核心资产。 红队(Red Teaming)的价值就在于主动把这些路子试出来,再拿去做回归测试。
风险等级在上升。 当模型只会聊天时,越狱的后果是「说错话」;当它能调工具、发邮件、执行代码时,后果就变成「做错事」。能力越强,越狱的代价越高。
对普通人意味着什么
看到「破限提示词」不必神化,它针对的是特定模型、特定版本,随时可能失效。更实际的一点是:模型拒绝你时,换一种更具体、更正当的问法常常管用——很多拒绝是因为它没听懂你要干什么,而不是真的不能做。
至于拿越狱去获取违法内容或绕过平台规则,那是另一回事了,技术上行得通不代表该做。
