AgentHarness 课程

第二十一课:三级沙盒策略

1.2K字·3分钟·
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 命令切换沙盒策略。

三、最佳实践

  1. 默认使用 workspace-write:平衡安全和功能
  2. 代码审查使用 read-only:防止意外修改
  3. 永远不要在生产环境使用 danger-full-access
  4. 使用 --add-dir 授权额外目录:而非降低沙盒级别

四、本课小结

策略文件系统网络适用场景
read-only只读禁止代码审查
workspace-write工作区可写限制日常开发
danger-full-access完全访问完全隔离环境

下一步

下一课我们将了解 macOS 沙盒实现。