沙箱
如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加
.md来获取 URL。
沙箱是让 Agent 能够自主操作而无需向其授予 对你机器的无限制访问权限的边界。当本地聊天在 ChatGPT 桌面应用, Codex CLI,或 IDE 扩展中运行命令时,这些命令会在一个 受约束的环境中运行,而不是默认以完全访问权限运行。
该环境定义了 Agent 可以自行执行的操作,例如它 可以修改哪些文件,以及命令是否可以使用网络。当任务保持在 这些边界内时,Agent 可以继续推进,而无需停下来请求确认。当 它需要越过这些边界时,审批流程就会接管。
沙箱和审批是两种协同工作的不同控制机制。 沙箱定义技术边界。审批策略决定 Agent 在越过边界前何时必须停下来询问。
沙箱适用于派生的命令,而不只是内置文件
操作。如果 Agent 运行诸如 git、包管理器或测试运行器之类的工具,
这些命令会继承相同的沙箱边界。
Codex 会在每个 OS上使用平台原生的强制执行机制。其实现 在 macOS、Linux、 WSL2和原生 Windows 之间有所不同,但在各个 界面上的理念相同:为 Agent 提供一个有边界的工作空间,使常规任务可以在 明确限制内自主运行。
沙箱减少了审批疲劳。Agent 不必要求你确认每个 低风险命令,而是可以在你已批准的边界内读取文件、进行编辑并运行常规项目 命令。
它还为 Agent 式工作提供了更清晰的信任模型。你并不只是 信任 Agent 的意图;你还信任 Agent 正在 强制执行的限制内运行。这让你更容易让 Agent 独立工作, 同时仍清楚它何时会停下来寻求帮助。
默认权限模式会自动应用沙箱。
在 macOS上,沙箱使用内置的 Seatbelt 框架即可开箱即用。
在 Windows上, Codex 会使用原生 Windows 沙箱 (当你在 PowerShell 中运行时)以及 Linux 沙箱实现(当你在 WSL2中运行时)。
在 Linux 和 WSL2上,请先安装 bubblewrap ,使用你的包管理器:
sudo apt install bubblewrapsudo dnf install bubblewrapCodex 会使用它在 bwrap 上找到的第一个 PATH可执行文件。如果没有可用的 bwrap
可执行文件, Codex 会回退到捆绑的辅助程序,但该辅助程序
需要支持创建非特权用户命名空间。安装
提供 bwrap 的发行版包可以让此设置更可靠。
Codex 会在 bwrap 缺失或辅助程序
无法创建所需用户命名空间时显示启动警告。在限制此
AppArmor 设置的发行版上,建议加载 bwrap AppArmor 配置文件,以便 bwrap 能够
继续工作,而无需全局禁用该限制。
Ubuntu AppArmor 说明: 在 Ubuntu 25.04上,安装 bubblewrap 从
Ubuntu 的包仓库应无需额外 AppArmor 设置即可工作。
bwrap-userns-restrict 配置文件随 apparmor 包提供,位于
/etc/apparmor.d/bwrap-userns-restrict。
在 Ubuntu 24.04上, Codex 仍可能警告它无法创建所需的用户
命名空间,即使已安装 bubblewrap 。复制并加载额外的配置文件:
sudo apt updatesudo apt install apparmor-profiles apparmor-utilssudo install -m 0644 \ /usr/share/apparmor/extra-profiles/bwrap-userns-restrict \ /etc/apparmor.d/bwrap-userns-restrictsudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrictapparmor_parser -r 会将配置文件加载到内核中,无需重启。你
也可以重新加载所有 AppArmor 配置文件:
sudo systemctl reload apparmor.service如果该配置文件不可用或无法解决问题,你可以禁用 该 AppArmor 非特权用户命名空间限制,使用:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0权限的工作方式
Section titled “权限的工作方式”使用你的界面上的权限控制来更改 Codex 处理本地 操作的方式。
审批决定 Codex 在执行操作前何时暂停,而沙箱 决定命令可以访问哪些文件和网络资源。当 审批提供不同范围(例如批准一次或批准本会话)时, 请选择能让任务继续的最小范围。保持项目 边界作为默认设置;使用单独的项目或工作树,而不是 跨不相关仓库扩大访问权限。
ChatGPT Work 在托管的隔离环境中运行代码和 shell 命令。 工作区策略和特定工具的控制项决定哪些功能 可用。该设置可用时,请使用 设置 > 数据控制 > Work 网络访问 来管理代码和 shell 命令的网络访问。开启 允许公共互联网访问 以允许这些命令访问公共 互联网。关闭时,命令只能访问 托管允许列表中的必需主机名。
网页搜索、插件和远程浏览器有单独的控制项。 更改会在当前代码或 shell 运行完成并且 Work 刷新其执行环境后生效。 ChatGPT 网页端不会暴露本地 Codex 沙箱或审批模式选择器。
在 ChatGPT 桌面应用中,使用输入框下方的权限控制。 根据你的配置,菜单可能包括 Ask for approval、 Approve for me (用于符合条件的审批请求)、 Full access,以及命名或 自定义权限配置文件。
交互内容: PermissionModeSelectorDemo 的动态演示请参阅页面顶部的官方原文链接。
在 CLI中,输入
/permissions
以打开权限选择器并更改当前权限配置文件。
在 IDE 扩展中,使用输入框下方的权限控制。 根据你的配置,菜单可能包括 Ask for approval、 Approve for me (用于符合条件的审批请求)、 Full access,以及命名或 自定义权限配置文件。

若要每次都以相同行为启动,请在 config.toml中设置默认值。
配置基础 说明其工作方式,
配置参考 记录了
sandbox_mode、 approval_policy、 approvals_reviewer和
sandbox_workspace_write.writable_roots的确切键。使用这些设置来决定
Agent 默认获得多少自主权、可以写入哪些目录、何时
应暂停以等待审批,以及由谁审查符合条件的审批请求。
概括来说,常见的沙箱模式包括:
read-only:Agent 可以检查文件,但不能编辑文件或运行 命令,除非获得审批。workspace-write:Agent 可以读取文件、在工作区内编辑,并在 该边界内运行常规本地命令。这是本地工作的默认低摩擦 模式。danger-full-access:Agent 在没有沙箱限制的情况下运行。这会移除 文件系统和网络边界,只有在你希望 Agent 以完全访问权限行动时才应使用。
常见的审批策略包括:
untrusted:Agent 在运行不属于其受信任 集合的命令前会询问。on-request:Agent 默认在沙箱内工作,并在 需要越过该边界时询问。never:Agent 不会因审批提示而停下。
当审批是交互式的,你还可以使用
approvals_reviewer选择由谁审查它们:
user:审批提示显示给用户。这是默认设置。auto_review:符合条件的审批提示会发送给审查 Agent(请参阅 自动审查)。
完全访问意味着将 sandbox_mode = "danger-full-access" 与
approval_policy = "never"一起使用。相比之下,风险较低的本地自动化
预设是 sandbox_mode = "workspace-write" 与
approval_policy = "on-request"一起使用,或使用匹配的 CLI 标志
--sandbox workspace-write --ask-for-approval on-request。然后你可以保留
approvals_reviewer = "user" 以进行手动审批,或设置
approvals_reviewer = "auto_review" 以进行自动审批审查。
如果你需要 Agent 跨多个目录工作,可写根目录允许 你扩展它可以修改的位置,而无需完全移除沙箱。如果 你需要更宽或更窄的信任边界,请调整默认沙箱模式 和审批策略,而不是依赖一次性例外。
当工作流需要特定例外时,请使用 规则。规则 允许你在沙箱外允许、提示或禁止命令前缀,这 通常比大幅扩大访问权限更合适。有关 IDE特定设置 入口点,请参阅 Codex IDE extension 设置。
自动审查(如可用)不会改变沙箱边界。它是
一种可能的 approvals_reviewer 用于该边界处审批请求的方式,例如
沙箱提权、被阻止的网络访问,或仍需审批的有副作用工具调用
。沙箱内已允许的操作会
无需额外审查即可运行。有关审查者生命周期、触发器类型、拒绝
语义和配置详情,请参阅
自动审查。
平台详情见特定平台文档。有关原生 Windows 设置、 行为和故障排查,请参阅 Windows。有关管理员 要求以及组织级别对沙箱和审批的约束,请参阅 Agent approvals & security。