第二十一课:三级沙盒策略
read-onlyworkspace-writedanger-full-access
学习目标
- 理解三级沙盒策略的区别和适用场景
- 掌握沙盒配置方法
- 了解各策略的具体限制
一、三级策略概述
Codex 提供三级沙盒策略,从最严格到最宽松:
1.1 read-only(只读)
最严格的策略,代理只能读取文件,不能写入或执行命令。
限制:
- 文件系统:只读访问
- 网络:禁止
- 命令执行:禁止
适用场景:
- 代码审查
- 安全分析
- 文档生成
1.2 workspace-write(工作区可写)
推荐的日常开发策略,代理可以在工作目录内写入文件。
限制:
- 文件系统:工作目录可写,其他目录只读
- 网络:受限(可配置)
- 命令执行:允许(在沙盒内)
适用场景:
- 日常开发
- 代码修改
- 测试运行
1.3 danger-full-access(完全访问)
最宽松的策略,代理可以访问所有资源。
限制:
- 文件系统:完全访问
- 网络:完全访问
- 命令执行:完全访问
适用场景:
- 仅限隔离环境(如 Docker 容器)
- 临时调试
- 特殊需求
二、配置方法
2.1 命令行配置
codex --sandbox read-only "审查这段代码"
codex --sandbox workspace-write "修复这个 bug"
codex --sandbox danger-full-access "执行系统任务"
2.2 配置文件
# ~/.codex/config.toml
sandbox = "workspace-write"
2.3 交互会话中
使用 /permissions 命令切换沙盒策略。
三、最佳实践
- 默认使用 workspace-write:平衡安全和功能
- 代码审查使用 read-only:防止意外修改
- 永远不要在生产环境使用 danger-full-access
- 使用 --add-dir 授权额外目录:而非降低沙盒级别
四、本课小结
| 策略 | 文件系统 | 网络 | 适用场景 |
|---|---|---|---|
| read-only | 只读 | 禁止 | 代码审查 |
| workspace-write | 工作区可写 | 限制 | 日常开发 |
| danger-full-access | 完全访问 | 完全 | 隔离环境 |
下一步
下一课我们将了解 macOS 沙盒实现。