Skip to content

安全模型

Codex 的安全模型不是单一机制,而是沙盒模式(Sandbox Mode)与审批策略(Approval Policy)两层协同:

解决的问题
沙盒模式 技术能力边界——能不能读/写文件
审批策略 流程控制——什么时候要问你

官方 best practices 强调:

Codex ships with operating level sandboxing and has two key knobs that you can control. Approval mode determines when Codex asks for your permission to run a command and sandbox mode determines if Codex can read or write in the directory and what files the agent can access.

模式 能力 适合场景
read-only 只读,不能写任何文件 代码审查、方案探索、先探路
workspace-write 只能写入当前工作区 日常开发(默认推荐)
danger-full-access 完全访问本机所有文件 ⚠️ 慎用,仅可信仓库 + 高度自动化场景
# config.toml 顶层
sandbox_mode = "workspace-write"
# 或块状写法
[sandbox]
mode = "workspace-write"
Terminal window
codex -s read-only "审查这段代码"
codex --sandbox workspace-write "重构项目"

CSDN 教程明确警告:绝不要在裸机 Windows 上用 danger-full-access

策略 含义 适合场景
untrusted 默认全部审批,每步都问 新人、陌生仓库
on-failure 失败时才审批 半自动化开发
on-request 关键操作前确认,其余自动 日常推荐
never 全自动,不询问 CI/CD、可信自动化
approval_policy = "on-request"
Terminal window
codex -a untrusted "你的 prompt"
codex --ask-for-approval on-request "你的 prompt"
沙盒 \ 审批 untrusted on-failure on-request never
read-only 最保守,适合纯审查 探索性任务
workspace-write 新人起步 日常开发 推荐组合 半自动化
danger-full-access 高度信任场景 禁止组合
  • 新人 / 陌生仓库:read-only + untrusted——先看不动
  • 日常开发:workspace-write + on-request——能写但关键操作前确认
  • CI/CD 自动化:workspace-write + never——跑测试、生成报告(在隔离环境)
  • 企业内信任场景:danger-full-access + on-request——只在必要时

⚠️ Codex 禁止同时设置 approval_policy = "never"sandbox_mode = "danger-full-access",这等于让 AI 完全无人值守地修改任何文件,风险过高。

官方 best practices 的建议:

If you’re new to coding agents, start with the default permissions. Keep approval and sandboxing tight by default, then loosen permissions only for trusted repos or specific workflows once the need is clear.

(新手从默认权限起步,审批和沙箱先收紧,等熟悉工作流后再放宽。)

渐进式放权路径:

  1. 默认权限(workspace-write + untrusted)
  2. 熟悉后切 on-request
  3. 某些场景用 on-failure
  4. 只有可信自动化才用 never

OpenAI 在《Introducing Codex》中说明:云端 Agent 默认跑在隔离容器里,执行任务时互联网是关闭的。代码短暂驻留,任务结束清理。

  • CLI 在本地执行命令,代码不离开本机(除非你显式用 Cloud)
  • IDE 扩展同样本地执行
  • 桌面 App 本地执行,但用 Cloud 功能时会涉及云端
  • 敏感代码用 CLI 本地模式,关闭 Cloud
  • read-only + untrusted 做代码审查,不写入
  • AGENTS.md 中写明“禁止上传到外部”
  • CI 环境用独立 Profile,限制权限

codex execpolicy 子命令用于管理执行策略,可定义哪些命令允许、哪些禁止、哪些需要审批。适合企业精细控制。

开启 hooks(见第 18 章)后,新增或修改 hook 命令必须在 Codex 的 /hooks 界面执行 review/trust,否则 Codex 会跳过 hook。这是另一层安全防线,防止恶意 hook 自动执行。

  • CSDN《Codex CLI 安全机制:沙盒策略与权限控制详解》——三种沙盒 + 四种审批
  • CSDN《Codex 完整指南(五)》——安全约束(禁止 never + danger-full-access)
  • CSDN《新手上路(二):五层防线逐道拆解》——裸机 Windows 不用 danger-full-access
  • 财经头条《OpenAI Codex 操控电脑的隐私和安全机制》——双层协同
  • 官方 best practices——新手从默认权限起步
  • 163 新闻《Codex Windows 客户端来了》——Cloud 隔离容器与网络关闭