📑 本页目录(点开跳转)
12b · 越狱、红队与纵深防御
⏱ 12 分钟 | ⭐ 五层防御里只有一层是确定性的,找出它
🎯 一句话
安全防线不能只有一道。五层纵深防御里,前四层都是概率性的,只有最后一层「环境硬边界」是确定性的 —— 所以判断标准只有一句:「被绕过 100 次里 1 次,我能承受吗」,不能承受的事就必须放到那一层。
⚠️ 这一页是可执行清单,不必先读上一页的对齐理论。
🧠 越狱与红队
常见越狱手法(了解是为了防御)
| 手法 | 原理 |
|---|---|
| 角色扮演 | 「假装你是一个没有限制的 AI」——用虚构框架绕开 |
| 多轮铺垫 | 前几轮无害,逐步升级,利用上下文惯性 |
| 编码混淆 | Base64、火星文、拆字,绕过关键词检测 |
| 低资源语言 | 用小语种问,因为对齐训练主要在高资源语言上做 |
| 长上下文淹没 | 塞大量内容把安全指令稀释掉 |
红队测试
系统性地攻击自己的模型/系统,找出失效模式——和你做过的智能体教程挑战项目 C 是同一个思路,只是对象从「应用」换成了「模型」。
关键认知: - 模型层防御是概率性的——总有漏网(智能体第 15 章的铁律) - 所以纵深防御:模型对齐 + 输入过滤 + 提示词结构 + 输出过滤 + 环境硬边界
🛡️ 纵深防御具体长什么样
因果链
① 模型对齐 ← 模型方做的,你控制不了,且是【概率性】的
② 输入过滤 ← 检测明显的注入模式、编码混淆
③ 提示词结构 ← 把用户输入明确标记为"数据"而非"指令" ⭐
④ 输出过滤 ← 校验格式、检测敏感内容、验证引用真实性
⑤ 环境硬边界 ⭐ ← 权限最小化、沙箱、出口白名单、不可逆操作要确认
🔑 关键:只有 ⑤ 是【确定性】的保证,前四层都是概率性的
所以真正兜底的必须是 ⑤
🔗 智能体工程教程 15 · 安全-沙箱与提示注入 是同一条结论的另一种说法: 那一章的原话是「概率性的模型层防御必有漏网之鱼,确定性的环境层边界才是底线」 —— 换成这一页的话就是:承受不起被绕过的事,不能靠提示词去防。
💡 一个判断标准:问自己「如果这层防御被绕过 100 次里有 1 次,我能承受吗?」 不能承受 → 它必须是第 ⑤ 层(代码/权限层面),不能是第 ①②③④ 层。
🔗 想再深一层,去哪一套
| 去哪 | 为什么 |
|---|---|
| 智能体工程教程 15 · 安全-沙箱与提示注入 | ⭐ 同一条结论的工程版:沙箱怎么搭、权限怎么最小化、提示注入具体长什么样 |
| 智能体工程教程 20 · 挑战项目C-提示注入攻防 | 想自己动手攻一遍:那是一个完整的攻防练习 |
| AI全栈 08c · CSRF 与 XSS | 「把用户输入标记为数据而不是指令」在 Web 那一侧是同一个老问题的另一副面孔 |
| 12 · 对齐 | 第一层「模型对齐」为什么只能是概率性的 —— 那一页讲有用/诚实/无害三者的根本张力 |
✅ 检查点
- 举三种越狱手法。
- 纵深防御的五层是什么?哪一层是确定性的?判断标准是什么?
- 为什么说「前四层都是概率性的」这件事,决定了你该把什么放在第五层?
👀 答案
- 角色扮演绕开、多轮铺垫利用上下文惯性、编码混淆(Base64/拆字)、低资源语言、长上下文淹没稀释安全指令。
- ①模型对齐 ②输入过滤 ③提示词结构(把用户输入标记为“数据”)④输出过滤 ⑤环境硬边界(权限最小化/沙箱/出口白名单)。只有 ⑤ 是确定性的,前四层都是概率性的。判断标准:「被绕过 100 次里 1 次我能承受吗」——不能承受就必须放在第 ⑤ 层。
- 概率性意味着总有被绕过的那一次,只是频率高低。所以凡是「一次都不能出」的后果 —— 删库、转账、越权读到别人的数据、把密钥发出去 —— 都不能靠前四层拦,必须靠权限最小化、沙箱、出口白名单这类做不到就是做不到的硬约束。
🛑 可以停在这里
⚡ 走神救援
先记住这几件事
- 红队测试主动寻找系统的可绕过路径,而不是只测试正常输入。
- 模型、输入输出检查和上下文组织可以降低风险,但不能保证永不失效。
- 无法承受的后果应由最小权限、隔离与授权边界限制。
下一节 👉 13-LLMOps.md