跳到主要内容

大纲 — AI Security Engineering(Early Release)拆解切分

  • 原书形态:Early Release,只有第一章 + 15 小节(05–19 号文件全是第一章小节)+ 小结。
  • 切成 12 章:前 5 章对应原书「传统安全理论」(含导言与规划),后 7 章对应「AI 与安全理论」+ 方法 + 小结。
  • 每章按七段结构写(讲什么/顶层全景/核心原理/作者判断与证据/边界与局限/可带走的/原文地图)。
原书小节进来时以为 → 出去时知道
01 老问题的地图04 导言进来以为 AI 安全是全新领域要从头学 → 出去知道作者的立场是反的:安全是历史学科,大多数「新」漏洞是旧原则的新面孔,核心技能是把新问题映射回已知类别;并学会作者的方法论——从现象提炼一条条可复用的原则
02 两扇门05 不可信输入 + 06 访问控制进来以为「防注入」是 AI 时代新课题、权限是后台配一下的事 → 出去知道门有两扇(谁能进来=身份验证、进来能干什么=授权),四十年来第一类漏洞霸榜 OWASP;prompt 注入就是 SQL 注入换了个输入面;信任边界要显式画出来、控制要收敛到中间件一处
03 控制会死07 控制衰减 + 08 纵深防御进来以为安全措施配好就一劳永逸 → 出去知道控制会衰减(每笔合理的小改动合计毁掉整个控制),所以需要纵深防御:独立控制互相重叠,「攻击者只需对一次」的破解是「让他只需错一次就被抓」
04 最小权限09 最小权限(+供应链)进来以为给 agent 大权限是效率需要 → 出去知道行业已经付过学费(agent 删邮件、打挂生产),最小权限对概率性的执行者要收得更紧;以及供应链长出了新变体——slopsquatting,抢注的是模型幻觉出来的依赖名
05 挡不住时10 监控 + 11 失败安全 + 12 前半(规划)进来以为安全=拦截 → 出去知道预防是愿望、失效是必然,所以三件事必备:观察不到的行为防不了(遥测/集中日志)、失败要朝安全的方向败(fail closed)、以及规划本身在 NIST 里就是一个控制族
06 非确定性12 后半(AI 理论总起)+ 13进来以为把 temperature 调 0 就确定 → 出去知道非确定性是设计进去的(采样/浮点/并发),0 度也不确定;结论是把工程力气花在模型周围的确定性上——控制加在执行模型输出的程序层,不是模型层
07 提示词当代码14进来以为 prompt 是随手聊天记录 → 出去知道 prompt 之于模型等于源码之于程序:要版本化、要归档、出事靠它回溯;共享的 prompt 和 skill 是供应链;以及全书最响的口诀——提示词不是安全边界,「文本撑不住压力」
08 结构胜于大小15进来以为上下文窗口越大越好 → 出去知道大而乱反而更差(中段信息取不出来),结构才是关键;plan.md 一个文件干五份工作;摘要是无状态架构里模拟记忆的主要手段;工件驱动工作流比全自主 agent 更可控
09 先验证再信任16进来以为 AI 写的代码看一眼能跑就行 → 出去知道要区分「AI 生成(未审)」与「AI 辅助(人审)」;测试要先写、且放在模型够不着的带外,防它自己糊弄自己的验证;人审不是常数瓶颈而是分级自治的治理层
10 别把钥匙全交出去17进来以为 agent 越自主越强 → 出去知道行业最大的安全失败就是「demo 惊艳就全权放手」;对的路是分离职责、先锁死再逐个开权限;ALARA 论文用 22 个模型 115 个任务证明:结构化 + 工具受限反而提升性能,小模型受益最大
11 在攻击者之前18进来以为红队要等请外部团队 → 出去知道先从对自己八连问的头脑风暴开始,风险=影响×可能性拿来排序,STRIDE 和桌面推演是升级路径,目的都是 shift left(把问题在写代码前暴露)
12 致命三件套19(+小结)进来以为要背一堆新攻击名 → 出去知道一个快捷判断就够:私密数据 + 不可信输入 + 对外通道,三条同时成立就是事故配方;全书落点是纪律问题——难的不是识别新攻击,是把已知纪律用到「感觉新到可以跳过基础功」的系统上

自查(任意两行「出去时知道」不得是同一件事)

  • 02 的「prompt 注入=SQL 注入」与 12 的「三件套」:02 讲输入面映射,12 讲三条前置条件的快捷判定,不重;
  • 03 的「控制会失效」与 05 的「失效是必然」:03 讲控制随时间衰减所以要分层,05 讲单次运行失败时的方向(监控/失败方向/事先规划),互补不重叠;
  • 06 的「模型周围造确定性」与 09 的「先验证再信任」:06 讲为什么不能信模型输出,09 讲代码工件的人工与机器验证流程,一个是层的位置、一个是流程;
  • 08 的「plan.md 锚」与 12 前半的「规划」:08 讲运行时上下文结构,05/12 讲项目开始前的正式规划。没问题;
  • 10 的「ALARA 结构」与 08 的「工件驱动」:08 是会话内的记忆工件,10 是项目级的权限/角色结构。不重。

主走查规划(每章一条)

  • 01:一条恶意输入「忽略之前的指令…」在 SQL 时代与 prompt 时代的同构映射(演示字符串,标明为我们所编);
  • 02:一个「用户提问 → 模型 → 查订单库」系统,一条注入字符串从头走到尾,标注每步的身份/权限状态;
  • 03:书里 VPC 防火墙规则五年演化全程(书内自带完整案例),每步写清规则文本怎么变;
  • 04:给一个「读邮件并代发」的 agent 逐项开权限:先最小集,再逐项加,每项标注扩出了什么;
  • 05:agent 进死循环烧 token 的一场事故:监控看到什么→熔断怎么 fail closed→日志怎么取证(演示数值标明);
  • 06:同一输入两次调用,输出差异走查 + temperature=0 仍漂移 + 外壳怎么兜(schema 校验/重试);
  • 07:出事回溯:.claude/history.jsonl 一条记录的字段(sessionID/时间戳/prompt/输出)怎么定位缺陷源于 prompt 还是生成物;
  • 08:同一场长会话,无结构 8 万 token 垃圾场 vs plan.md 锚定,信噪比对比(演示数值标明);
  • 09:一段 AI 生成代码从生成到合并的评审链:静态扫描(旧版依赖/硬编码凭据)→ diff 人审 → 带外测试,每步具体发现;
  • 10:一个「库存+定价」双职责 agent 拆成单职责:每次拆分后权限面/身份数怎么变(对标 Claudius 案例);
  • 11:拿一个内部问答 agent 过八连问 + 风险打分排序(打分为演示所编);
  • 12:一个「能读 Gmail、能发 Slack」的办公 agent 判三件套,每条件具体化,再演示断掉任意一条即解除配方。

海拔与配额预控

  • 生词大户:AuthN/AuthZ(02)、纵深防御(03)、slopsquatting(04)、遥测/集中日志(05)、temperature/采样(06)、供应链(04/07)、TDD/reward hacking(09)、STRIDE(11)、数据外泄(12)。每词就地解释,一段 1 个、一节 5 个,超了拆节。
  • ② 类锚按章分配:07( agent-skills-spec、llamafirewall)、09(claude-agent-sdk、llamafirewall)、10(mcp-spec)、08(deepagents)。