章节摘要:权限门判"该不该做",沙箱保"做错了也困得住"。第 5 章结尾承认了一个事实:只要工具集里有任意执行,就总有判错的时刻——沙箱正是为判错而设计的兜底。6.1 建立隔离模型的三级谱系:进程级(subprocess + 系统调用过滤思路)、容器(Docker / gVisor)、微 VM(Firecracker 类),用"攻击面 / 开销 / 运维复杂度"三轴给出取舍表,落点是按任务信任等级从低往高配档。6.2 把谱系落到两面最常调的墙:文件系统边界(只读挂载、工作区白名单、路径规范化判界、掩码区)与网络边界(默认禁网、出网域名白名单、两种实现层的差异)。6.3 划清 harness 与沙箱的责任边界——Hacker News 上的共识观点"harness 本身在沙箱之外":沙箱约束的是工具执行而非 harness 本体,密钥、审批 UI 与观测日志都必须留在墙外。本章代码为跨平台思路示意(POSIX 语义为主),生产实现以对应平台文档为准。
阅读完本章,你应当能够:
(文字流程图) S1 ──▶ "共同的墙(6.2)·文件系统边界 + 网络边界" S2 ──▶ "共同的墙(6.2)·文件系统边界 + 网络边界" S3 ──▶ "共同的墙(6.2)·文件系统边界 + 网络边界" "共同的墙(6.2)·文件系统边界 + 网络边界" ──▶ "墙外:harness 本体(6.3)·循环 / 权限门 / 密钥 / 审批 / 观测"
一句话金句:权限门负责判准每一次出手,沙箱负责接住每一次失手——保险的保额按任务信任等级定价,免赔额是你愿意承受的爆炸半径。
💡 读本章的一个预防针:沙箱术语在各家文档里语义不一("容器安全"与"容器隔离"经常混用)。本章始终用 6.1 的三轴——攻击面 / 开销 / 运维复杂度——作统一坐标系,遇到任何新名词先问它在这三轴上的位置。
三级谱系的机制详解;攻击面 / 开销 / 运维复杂度取舍表;按信任等级选档;档位与审批正交(Codex CLI 参照)。
ro 挂载与写时复制;工作区白名单与路径判界;掩码区;默认禁网与出网白名单;DNS 层 vs 代理层。
HN 共识"harness 本身在沙箱之外";责任划分图:什么在沙箱内、什么在沙箱外;四条理由与三个反例。
6.1 隔离模型(墙砌多高:三级谱系与选档) │ ▼ 6.2 文件系统与网络边界(墙砌在哪:两面最常调的墙怎么落地) │ ▼ 6.3 harness 与沙箱的边界(墙内墙外谁住:责任划分)
前置知识:第 4.1 节(工具分类学——"任意执行"是沙箱开关);第 5.1 节(作用域与路径判界,本章文件系统边界直接复用);第 2.1 节(Codex CLI 沙箱分档:read-only / workspace-write / danger-full-access)。
为后续奠定基础:6.2 的 in_workspace 判界与 6.1 的进程级执行器(固定目录、超时、截断)是第 10.3 节 mini-harness 简易沙箱的全部原料;6.3 的责任划分将在第 11.1 节安全清单中升级为完整的逃逸面审计;若你走平台建设者路线(总纲"按需跳读"表),本章与第 5、9、11 章构成一条完整的安全与可审计链路。