CODEX / 权限与安全

Codex 权限沙箱与审批模式:read-only、workspace-write 怎么选

Codex 能读什么、改什么、执行什么,取决于沙箱和审批配置。本文按代码审查、本地开发、自动化脚本和生产风险四种场景给出选择方法。

Codex权限沙箱Codex审批模式Codex read-onlyCodex workspace-write
先给结论

第一次查看陌生项目,选 read-only;需要在项目内改代码和运行测试,选 workspace-write;只有在隔离环境、明确知道后果时才考虑更宽的权限。审批模式决定高风险动作是否先征求确认,沙箱决定动作本身能触及的范围,两者不是一回事。

官方参考:Codex 沙箱指南 · Codex 官方使用说明 · AGENTS.md 项目规则 · Codex Skills 教程

沙箱和审批分别管什么?

可以把它们理解成两道不同的门。沙箱是“活动范围”:文件、网络和系统资源能不能被访问。审批模式是“确认流程”:某个动作即使在范围内,是否要先让你批准。把审批调得很宽,不能弥补沙箱范围过大的问题;把沙箱设为只读,也不等于可以把密钥放进提示词。

配置主要效果适合场景注意
read-only读取和分析,不能直接写项目代码审查、学习陌生仓库、排查日志需要改动时会要求你明确授权或切换模式
workspace-write在工作区内修改文件并运行必要命令日常开发、修 Bug、写测试仍需限制外部目录、网络和破坏性命令
更宽的全局权限可能触及沙箱外文件或系统资源隔离容器、一次性实验、明确授权的维护任务风险显著提高,不应作为日常默认值

四种常见工作流怎么选?

  1. 只想让 Codex 看代码:用 read-only,让它输出调用链、风险点和建议,不让它直接改文件。
  2. 本地修 Bug:用 workspace-write,并在 AGENTS.md 中写清测试命令、生成文件和禁止触碰的目录。
  3. 执行安装或测试:先确认命令来源、依赖和网络需求;对删除、迁移、发布和外部写入动作保留审批。
  4. 跑自动化或 CI:使用专用工作区、最小权限凭证和固定目录,不要为了省一次确认把整台机器开放给代理。

审批模式应该怎么理解?

审批策略决定 Codex 遇到需要执行的操作时,是直接运行、先询问,还是拒绝。名称和可选值会随客户端与版本变化,具体以当前配置文档为准。日常使用更推荐“必要时询问”的策略:普通的读取、编辑和测试可以连续完成,安装依赖、访问网络、删除文件、写入工作区外或发布到生产环境时停下来确认。

如果 Codex 要求确认,先看四件事:命令实际做什么、工作目录在哪里、是否会联网、是否会写入或删除数据。看不懂命令时,让 Codex 先解释影响范围,不要直接点击批准。

遇到 untrusted 报错怎么办?

OpenAI 帮助中心目前说明,较新的 Codex CLI、桌面端和 VS Code 扩展不再支持 approval_policy = "untrusted"。如果启动时报错,按下面顺序处理:

  1. 打开 macOS/Linux 的 ~/.codex/config.toml,或 Windows 的 %USERPROFILE%\\.codex\\config.toml。
  2. 删除 approval_policy = "untrusted",并检查活动 profile、组织管理配置和 --ask-for-approval untrusted 参数。
  3. 按需要改为更保守的组合,例如 sandbox_mode = "read-only" 与 approval_policy = "on-request"。
  4. 重启 Codex,再用 codex doctor 或一个只读任务验证配置。

项目级的 trust_level = "untrusted" 与已废弃的审批策略不是同一个设置,不要因为看到相同单词就全部删除。

如何给 Codex 设安全边界?

权限配置之外,项目说明也很关键。可以在 AGENTS.md 中写明:哪些命令可直接执行、哪些动作必须确认、测试失败如何报告、生产目录不能修改。用 Skills 固化审查和发布流程时,也要把输出验收条件写清楚。

  • 不要把 API Key、密码、Cookie、SSH 私钥写进 AGENTS.md、Skill 或代码仓库。
  • 使用最小权限的 API Key,并为 CI、个人开发和生产环境分开设置。
  • 涉及支付、数据库迁移、删除文件、发版和对外发送信息时,保留人工确认。
  • 第三方 MCP 或 Plugin 先看服务器地址、认证范围和可执行动作,再决定是否安装。
  • 把“已测试”和“建议测试”区分开,避免代理把计划当成结果。

权限配置不生效时先查什么?

现象检查顺序下一步
仍然不能修改文件当前沙箱、工作目录、文件权限确认目标在工作区内,再检查审批提示
每条命令都在询问审批策略、命令是否被视为高风险保留必要确认,避免直接改成全局放行
启动时报 untrustedconfig.toml、profile、命令行参数移除废弃策略,改用受支持配置
网络请求失败沙箱网络开关、域名限制、MCP 认证区分网络权限问题和 API Key 失效

常见问题

Codex 的 read-only 是什么意思?

read-only 允许 Codex 读取项目并分析,但不允许直接修改文件;适合代码审查、陌生仓库分析和只读排障。

workspace-write 和 danger-full-access 怎么选?

workspace-write 允许在工作区内修改文件,通常是本地开发的默认选择;更宽的权限只应在明确理解风险并有隔离环境时使用。

Codex 为什么提示 untrusted approval policy 不支持?

较新的 Codex 版本不再支持该审批策略。应从配置文件、配置档案和命令参数中移除它,并改用受支持组合。

审批模式会保护 API Key 吗?

审批可以减少未经确认的高风险操作,但不能替代密钥管理。API Key、Cookie、密码和生产凭证仍不应写进项目文件或交给代理。

需要 Codex 套餐或使用权限咨询?

GPT Pro AI 提供 Codex、ChatGPT Plus/Pro 相关的第三方使用咨询,不代表 OpenAI 官方授权;实际权限、模型和功能以官方客户端与账号页面为准。