直接答案
沙箱限制命令能够影响的资源,审批决定何时询问用户;二者是不同控制层,应按最小权限组合。
这篇内容解决什么问题
安全配置 Codex CLI 沙箱、网络与命令审批
区分沙箱与审批
沙箱定义命令可读取、写入和联网的边界;审批策略定义某类动作是否需要人类确认。审批为 never 不会自动扩大沙箱,danger-full-access 也不代表每个动作都经过审阅。
提示词和 AGENTS.md 只能影响模型意图,无法取代运行时安全控制。处理不受信任仓库时,应同时收紧文件、网络和审批。
按任务选择沙箱模式
read-only 适合调查、代码解释与方案评审;workspace-write 适合绝大多数仓库内实现;danger-full-access 允许更广泛系统访问,只适合已经由容器或虚拟机提供外部隔离的环境。
不要因为一次构建需要缓存目录就直接开放整个系统。优先通过 --add-dir 增加最小必要目录,或调整构建缓存位置。
codex -s read-only "分析失败原因,不要修改文件。"
codex -s workspace-write "实现已确认的修复并运行测试。"
# 仅在外部隔离环境中评估是否需要:
codex -s danger-full-access选择审批策略
untrusted 只让受信任的只读命令直接执行,其他命令请求确认;on-request 允许模型在认为需要时请求升级;never 不发起审批,受限动作失败后直接返回模型。
本地交互开发通常使用 on-request,审阅陌生仓库可使用 untrusted。never 更适合边界已经由 CI 沙箱固定、且不能等待人工输入的任务。
codex -s read-only -a untrusted
codex -s workspace-write -a on-request
codex exec -s workspace-write -a never "运行检查并输出结果;不要修改源文件。"只开放必要目录与网络
任务需要访问相邻工作区时使用 --add-dir 明确增加,而不是把工作根目录设为共同父目录。联网需求也应区分依赖下载、API 调用和网页搜索。
开启 --search 会向模型提供原生网页搜索工具;它不是所有网络请求的通用开关。处理私有代码时,仍要遵循组织的数据出境策略。
codex -C /work/app --add-dir /work/shared -s workspace-write
codex -C /work/app -s read-only --search "只查阅官方来源,核对这个公开 API 的当前参数。"识别绕过控制的高风险选项
绕过审批与沙箱的选项会让模型生成的命令直接作用于宿主环境。它只适用于外部容器、虚拟机或一次性 runner 已经提供可靠隔离的自动化。
不要在个人工作站、生产服务器、包含云凭据的主机或不受信任仓库中使用。教程也不应把它包装成“免确认技巧”。
为团队建立最小权限基线
团队基线应按工作场景而不是按个人偏好定义。交互开发、只读审查、CI 修复和生产诊断需要不同组合,并通过项目配置与运行环境共同约束。
定期审阅已批准命令、额外目录和网络范围。一次临时排障形成的宽权限不应永久留在共享配置中。
- 陌生仓库先 read-only。
- 日常实现优先 workspace-write + on-request。
- CI 使用不可交互策略时必须有外部隔离。
- Secret 不进入模型可读取的普通文件。
- 破坏性命令始终由人类或专门流程控制。
官方来源与核验范围
本文以公开官方文档为事实依据;命令和配置可能随客户端版本变化,执行前请同时核对对应来源。
查看技术核验方法