权限实施与平台差异
了解各操作系统如何执行 profile,并为搜索、连接器、浏览器和云端配置独立边界。
Permission profiles 主要约束本地沙箱命令。配置是否可执行取决于平台和运行环境;不受支持的策略不应被理解为自动降级成相同安全保证。
操作系统实施
| 环境 | 官方说明 |
|---|---|
| macOS | 使用 Seatbelt;无法实施选定策略时拒绝命令,不静默无沙箱运行 |
| Linux / WSL | 使用 bubblewrap 与 seccomp,兼容路径可使用 Landlock;依赖用户命名空间与内核支持 |
| 原生 Windows elevated | 使用独立低权限用户、文件权限边界与防火墙,属于更强的原生方案 |
| 原生 Windows unelevated | 备用方案,网络隔离较弱,无法实施部分读写分离规则,不支持的策略会拒绝 |
受限容器宿主可能迫使 Linux 使用兼容路径。Windows 需要 Linux 沙箱模型时可选择 WSL;不要只根据 TOML 能解析就判断策略已正确实施。
哪些能力需要另行设置
- Web search 使用 web_search 与受管 allowed_web_search_modes;tools.web_search.allowed_domains 只过滤搜索结果。
- Apps 和连接器遵循服务连接、工作区权限和应用/工具设置。
- MCP 服务器有自己的进程或 transport,使用 mcp_servers 与受管身份允许列表。
- 浏览器和 Computer Use 使用各自 feature 与审批;企业浏览器域名检查也不是命令代理转发。
- 模型和登录等 Codex 服务请求使用客户端独立的 HTTP 与系统代理设置。
- Codex Cloud 使用云环境网络设置,Legacy 环境另有配置。
已批准的扩权也有独立边界。profile 的域名限制不能充当所有 Codex 动作的统一网络策略。
实际验收
用工作流涉及的文件、目标主机与工具分别验证允许和拒绝。对写入构建脚本、shell 启动文件和共享目录的权限,考虑文件之后会被其他工具或用户执行;沙箱里的写入仍可能留下持久变更。
配置网络 Allow 只表达可到达,不证明目的地可信。增加本地 IP、Unix socket 或 allow_local_binding 会开放相应本地服务,应与实际任务需要一致。