标准回答
定义:越狱是一类针对 LLM 安全策略的攻击——攻击者用特殊 prompt 诱导模型跳过安全对齐,产出有害、违规或被禁止的内容。它针对的是「模型该不该说」,与 Prompt 注入(劫持应用指令、针对「模型听谁的」)侧重不同,但常被组合使用。
常见手法:
- 角色扮演 / 人格切换:让模型扮演「没有限制的 AI(DAN)」或虚构反派。
- 前缀注入 / 肯定诱导:强制模型以「当然,方法如下:」开头,绕过拒绝。
- 编码与混淆:Base64、ROT13、拆字、低资源语言翻译规避关键词过滤。
- 多轮渐进 / 情境包装:以「写小说/做研究」为名分步逼近违规内容。
防御(纵深防御):
- 对齐训练:RLHF、Constitutional AI 提升模型自身拒绝能力。
- 系统提示加固:明确边界、强调忽略试图覆盖规则的用户指令。
- 输入/输出过滤(Guardrails):上游做意图/有害性分类,下游对生成内容做安全审查与拦截。
- 红队测试 与多轮对抗评测:持续挖掘漏洞、回灌训练,详见 对抗攻击与防御、多轮对抗测试。
关键认知:没有单点银弹,需多层叠加 + 持续迭代。
常见误区
⚠️ 常见踩坑
不要把越狱(绕过安全对齐让模型说违规内容)和 Prompt 注入(劫持应用层指令)混为一谈。也不要以为靠关键词黑名单就能防住——编码、改写和多轮诱导能轻易绕过,必须依赖对齐 + 语义级过滤 + 持续红队的纵深防御。
追问
追问 1:越狱(Jailbreak)和 Prompt 注入(Prompt Injection)有什么区别?
越狱针对模型的安全策略,目标是让模型输出本应拒绝的有害内容;Prompt 注入针对应用,目标是用恶意输入覆盖/劫持系统原本的指令(如让客服机器人泄露 system prompt 或执行越权操作)。前者是「让模型违规」,后者是「让模型背叛应用」,二者机制相关、常被联合利用。
追问 2:为什么单纯的关键词过滤防不住越狱?
攻击者可用 Base64/ROT13 编码、拆字、同义改写、低资源语言翻译、隐喻或多轮渐进等方式规避静态黑名单,且违规意图往往分散在上下文中而非单个词。需要基于语义的有害性分类、对输入输出双向审查,并配合模型自身的对齐能力。
追问 3:如何系统性评估和提升模型的越狱鲁棒性?
建立红队测试流程:用已知越狱模板库 + 自动化对抗生成(含多轮)做覆盖测试,量化攻击成功率(ASR);把发现的成功样本回灌到对齐训练(RLHF/Constitutional AI)形成闭环;上线后持续监控、设置异常检测与限流,并定期复测防止回归。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。