作者:互联网 时间: 2026-09-02 16:20:55
Codex CLI 内置了沙箱机制和安全策略,确保在帮助你编程的同时保护系统和数据安全。本节详细介绍这些安全机制以及如何配置它们。

Codex 在一个隔离的沙箱环境中执行命令和操作文件。这种设计确保:
沙箱是 Codex 安全策略的第一道防线,它确保 AI 的操作不会超出你的预期范围。
Codex 使用执行策略(Execution Policy)来控制不同类型操作的行为:
| 策略 | 行为 | 适用场景 |
|---|---|---|
ask | 每次执行前询问确认 | 日常开发(默认) |
approve | 自动批准执行 | 完全信任的环境 |
deny | 拒绝所有可能产生副作用的操作 | 只读模式 |
以下类型的操作会触发确认请求:
rm、kill 等)~/.ssh/、/etc/)[exec]default_policy = "ask"
出于安全考虑,不建议将默认策略设置为
approve,除非你完全理解潜在的风险。
当 Codex 需要执行敏感操作时,会显示确认对话框:
══════════════════════════════════════════════════════ 确认执行══════════════════════════════════════════════════════ Codex 计划执行以下操作: 命令: rm -rf node_modules/ 目录: /path/to/project 这将永久删除目录及其所有内容 [Y] 确认执行 [N] 取消 [A] 始终允许此类操作══════════════════════════════════════════════════════
| 选项 | 说明 |
|---|---|
Y | 只执行这一次 |
N | 取消操作 |
A | 添加规则,之后自动批准 |
选择"始终允许"时要小心,确保该操作确实是安全的。
某些系统目录默认受到保护,Codex 访问这些目录时会额外确认:
| 目录 | 说明 |
|---|---|
~/.ssh/ | SSH 密钥和配置 |
~/.aws/ | AWS 凭证 |
/etc/ | 系统配置 |
~/.git-credentials | Git 凭证存储 |
你可以在配置中添加自定义的保护规则:
[sandbox]# 允许访问的目录
allowed_paths = [
"~/projects/*",
"/workspace/*"
]
# 受保护的目录(需要额外确认)
protected_paths = [
"~/.ssh/*",
"~/secrets/*"
]
Codex 可以限制网络请求的访问范围:
[network]# 允许的域名
allowed_domains = [
"github.com",
"api.openai.com"
]
# 是否允许本地网络访问
allow_localhost = false
# 是否允许私有网络
allow_private_network = false
限制网络访问可以防止 Codex 意外连接到不受信任的服务。
你可以限制 Codex 只能在特定目录中操作:
[sandbox]# Codex 只能在这些目录中操作
working_directories = [
"~/projects/*",
"/workspace/*"
]
# 超出目录时的行为:warn(警告)或 deny(拒绝)
out_of_bounds = "deny"
只允许执行明确列出的命令:
[commands]# 白名单模式
whitelist_enabled = true
allowed_commands = [
"git",
"npm",
"node",
"python",
"cargo"
]
禁止执行特定命令:
[commands]# 黑名单模式
blacklist_enabled = true
blocked_commands = [
"rm -rf /",
"dd",
"mkfs"
]
白名单模式更加安全,建议在生产环境或处理敏感项目时使用。
Codex 会自动检测并屏蔽敏感信息:
某些环境变量会被自动隐藏:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYOPENAI_API_KEYDATABASE_URL
你可以在配置中手动标记需要保护的内容:
[sensitive]# 需要屏蔽的正则表达式模式
patterns = [
"passwords*=s*[^s]+",
"api_keys*=s*[^s]+",
"secrets*=s*[^s]+"
]
Codex 可以记录所有操作的审计日志:
[audit]enabled = true
log_file = "~/.codex/log/audit.log"
审计日志记录以下信息:
# 查看最近的审计日志tail-f ~/.codex/log/audit.log
审计日志对于安全审计和问题排查非常重要,特别是在团队环境中。
执行策略主要通过 ~/.codex/config.toml 配置文件进行设置。部分设置也可以通过环境变量配置。
删除配置文件中的相关规则,或删除整个配置文件后重新启动 Codex,规则会被重置。
Codex 会请求访问 GitHub 的必要权限来执行操作。你可以随时在 GitHub 设置中撤销这些权限。
将执行策略设置为 deny,这将禁止 Codex 执行任何可能修改文件系统的操作。