Codex CLI 网络访问受限:保留沙箱的安全解决方法¶
直接解决
只为当前会话启用网络,同时保留工作区文件保护:
codex -s workspace-write \
-c 'sandbox_workspace_write.network_access=true'
非交互运行:
codex exec -a never -s workspace-write \
-c 'sandbox_workspace_write.network_access=true' \
"Run npm install, then run the tests"
先区分错误¶
| 错误 | 应检查的方向 |
|---|---|
Network access is restricted | 本文的network_access设置 |
missing field sandboxPolicy | Browser / Computer Use与node_repl兼容性;不是网络开关 |
Could not resolve host | DNS、VPN、代理或主机网络 |
HTTP 401 / 403 | API认证或目标服务授权 |
Reconnecting... | WebSocket、VPN、代理和重连路径 |
保存到config.toml¶
配置文件位于$CODEX_HOME/config.toml,未设置CODEX_HOME时通常是~/.codex/config.toml。
sandbox_mode = "workspace-write"
[sandbox_workspace_write]
network_access = true
需要无人值守且不弹确认时,才有意加入:
approval_policy = "never"
批准策略、文件沙箱和网络访问是三个不同控制项。为了联网,不需要切换到danger-full-access。
设置后仍失败¶
codex --version
codex doctor --summary
curl -I https://api.openai.com
env | rg '^(HTTP|HTTPS|ALL|NO)_PROXY='
如果Codex外部的curl也失败,先修复主机DNS、VPN、TLS检查或代理。不要在Issue中粘贴代理密码、token或完整.env。
安全边界¶
- 使用锁文件并审查依赖变更
- 不把生产凭据放在工作目录
- CI使用临时Runner和最小权限token
- 任务不再需要网络时,删除持久化的
network_access=true missing field sandboxPolicy不要用关闭沙箱来“修复”