纵深防御
概述
一种安全架构设计原则,通过多层独立防御机制确保单层突破不等于完全逃逸,每层提供不同类型的保护以应对不同攻击向量。
关键内容
-
核心原则:不依赖单一防御机制,而是叠加多层独立的约束措施。即使攻击者突破某一层,后续层仍能提供保护。
-
在 Codex 中的体现:Linux 平台使用 Landlock + seccomp 双层沙箱——Landlock 在 VFS 层拦截文件操作(不可逆、继承到子进程、无法被 LD_PRELOAD 或 ptrace 绕过),seccomp 在系统调用层过滤危险调用(socket、ptrace、mount 等)。两层叠加确保即使 seccomp 漏网,Landlock 在 VFS 层也会拦截。
-
ExecPolicy + Sandbox 协同:ExecPolicy 作为意图过滤器是第一道防线,Sandbox 作为能力约束器是最后一道防线。应用层过滤无法处理所有边缘情况,OS 级沙箱提供执行层面的强制约束。
-
设计决策背后的原因:使用 Landlock 而非 chroot 因为 Landlock 不可逆、继承到子进程、不需要 root 权限;默认禁止网络遵循失败安全原则(宁可任务失败,不可数据泄露);保护
.git和.codex防止 Agent 修改自己的执行规则(反射性攻击)。 -
可测试性:沙箱配置错误本身是不确定性来源,Codex 内置沙箱测试工具(
codex sandbox命令)可在真实沙箱中测试任意命令行为,通过可测试性消除配置不确定性。 -
在 Claude Code 中的应用:采用语义层 + 系统层双层防御。Auto Mode 分类器在语义层判断操作是否超出任务范围,Claude Code 沙箱机制 在系统层通过系统调用过滤阻止危险操作。两层独立失效模式,叠加降低整体风险。
-
安全即基础设施:将安全从"用户持续监督"转移到"系统级执行约束",用户从实时监督者转变为范围定义者,是 AI Agent 走向可靠助手的关键设计原则。
来源
- raw/articles/ai-tools/codex/03_codex_sandbox_system.md — 第 8 节:工程智慧总结
- Beyond permission prompts: making Claude Code more secure and autonomous — Anthropic Engineering Blog, 2025 年 10 月 20 日
相关
- Codex沙箱系统 — implements
- ExecPolicy — implements
- Landlock — implements
- seccomp — implements
- Claude Code 沙箱机制 — implements
- AI Agent 架构模式 — part_of