在 OpenAI 安全运行 Codex
Source: OpenAI Blog
(请提供您希望翻译的正文内容,我将为您翻译成简体中文。)
概览
随着人工智能系统变得越来越强大,它们越来越多地代表用户行动。编码代理现在可以:
- 自主审查代码库
- 运行命令
- 与开发工具交互
这些任务以前需要直接由人类执行。
Codex — 能力 + 控制
使用 Codex,我们构建了强大的代理能力 以及 组织在安全部署时所需的控制措施。
安全团队需要治理的内容
- 访问限制 – 定义代理可以触及的文件、服务或 API。
- 人工在环 – 指定在执行操作前需要明确批准的情形。
- 系统交互边界 – 限制代理可以通信的外部系统(例如 CI 流水线、数据库)。
- 遥测与可观测性 – 捕获详细日志,以解释代理的行为。
Source: …
OpenAI 的部署目标
- Technical containment – 将代理限制在明确且可执行的边界内。
- Rapid low‑risk actions – 让开发者能够在安全的操作上快速行动,避免不必要的阻力。
- Explicit high‑risk actions – 将任何高风险活动显式化,并要求明确的确认。
- Agent‑native telemetry – 保留详细日志,以便我们能够理解并审计代理的每一步操作。
我们如何实现这些目标
- Managed configuration – 集中式策略,规定代理可以执行的操作。
- Constrained execution – 受限的沙盒运行时,强制执行已定义的限制。
- Network policies – 白名单/黑名单,控制出站和入站流量。
- Agent‑native logs – 结构化、可搜索的日志,记录输入、决策和结果。
通过将强大的功能与严格的治理相结合,Codex 使开发者能够安全、透明地利用自主编码代理。
控制 Codex 的运行方式
我们运行 Codex 的原则很简单:在受限环境中的生产力。
- 低风险、日常操作 应该无摩擦。
- 高风险操作 必须停止以供审查。
1. 沙箱 + 批准策略
| 组件 | 控制内容 | 示例 |
|---|---|---|
| Sandbox | 技术执行边界(写入位置、网络范围、受保护路径)。 | 将文件系统写入限制在 /tmp 和 /var/app。 |
| Approval Policy | Codex 何时必须请求许可(例如,超出沙箱的操作)。 | 对任何未知域名的网络请求都需要用户批准。 |
| Interaction | 用户可以批准单个请求 或 批准该类型请求在整个会话中都有效。 | “批准本会话中所有 git push 操作”。 |
2. 自动审查模式
- 目的: 减少对常规低风险请求的中断。
- 工作原理:
- Codex 将计划的操作 + 最近的上下文发送给 auto‑approval sub‑agent。
- 子代理自动批准符合低风险标准的操作。
- 只有更高风险或模糊的操作才会打断用户。
结果: Codex 在例行工作中保持高效,同时在可能存在风险的操作上仍会停下来。
3. 网络访问控制
- 不允许开放式的外向访问。
- 受管网络策略
- 允许已知、预期的目的地。
- 阻止不被允许的目的地。
- 对陌生域名需要批准。
这使得 Codex 能在不授予广泛互联网访问权限的情况下完成常见、可信的工作流。
4. 身份验证管理
| 元素 | 实现方式 |
|---|---|
| Credentials | CLI 和 MCP OAuth 令牌存储在操作系统钥匙串中(安全)。 |
| Login flow | 必须通过 ChatGPT 完成,绑定到企业工作区。 |
| Auditability | 所有 Codex 活动都会出现在工作区的 ChatGPT Compliance Logs Platform 中。 |
5. 命令安全规则
- 良性命令(例如
git status、npm install)→ 在沙箱外也可无批准直接执行。 - 危险命令(例如
rm -rf /、dd if=)→ 被阻止或需要显式批准。
这让普通的工程任务能够快速完成,同时防止不想要或破坏性的操作。
6. 强制执行机制
- 云端管理的需求 – 管理员强制的控制,用户无法覆盖。
- macOS 管理的首选项 – 集中式的基线配置。
- 本地需求文件 – 允许针对不同团队、用户组或环境测试不同配置。
这些机制在所有 Codex 接口上统一适用:
- 桌面应用
- CLI
- IDE 扩展
通过结合沙箱、批准策略、自动审查、严格的网络/身份验证控制、命令安全规则以及分层的强制执行,我们实现了既安全又高效的 Codex 部署。
Source: …
代理原生遥测与审计追踪
控制只是工作的一半。代理部署后,安全团队需要了解 代理在做什么 以及 为什么这么做。传统安全日志仍然会捕获诸如 “进程启动”、 “文件更改” 或 “网络连接尝试” 等事件,但它们很少解释这些行为背后的 意图。
Codex 提供的功能
| 功能 | 描述 |
|---|---|
| OpenTelemetry 日志导出 | 将 Codex 特有的事件(用户提示、工具批准决策、工具执行结果、MCP 服务器使用情况、网络代理允许/拒绝事件)流式传输到任何兼容 OTEL 的收集器。 |
| 合规平台访问 | 活动日志也可通过 OpenAI 合规平台供企业版和教育版客户使用。 |
| 代理感知视图 | 日志将用户请求、代理推理以及随后的操作关联起来,为安全团队提供所需的上下文。 |
我们如何使用遥测
-
事件分流
- 端点警报标记 “Codex 行为异常”。
- 端点工具报告可疑事件。
- 查询 Codex 日志以揭示:
- 原始用户请求。
- 所有工具调用及其结果。
- 代理做出的批准决策。
- 网络策略决策(允许/拒绝)。
- 我们的 AI 驱动安全分流代理综合这些信息,向安全团队呈现简明分析,帮助他们区分:
- 预期的代理行为。
- 良性的误操作。
- 真正需要升级的活动。
-
运营洞察
- 跟踪内部采纳趋势(哪些工具和 MCP 服务器使用最频繁)。
- 衡量网络沙箱活动(阻断次数与提示次数的比例)。
- 识别需要调优的 rollout 摩擦点。
-
集中监控
- 导出的 OpenTelemetry 日志被摄入 SIEM 和合规日志系统,实现:
- 实时告警。
- 长期保留以供审计。
- 与其他安全遥测的关联分析。
- 导出的 OpenTelemetry 日志被摄入 SIEM 和合规日志系统,实现:
价值
- 上下文可视化 – 安全团队既能看到 what(做了什么),也能看到 why(为什么这么做)。
- 更快的调查 – 自动化分流降低平均调查时间(MTTI)。
- 持续改进 – 运营指标指导策略优化和代理更新。
- 合规准备 – 日志满足企业审计要求,可依据监管规定进行保留。
通过利用 Codex 的原生遥测,组织能够获得完整的、代理感知的审计追踪,将原始事件转化为可操作的情报。
展望未来
随着像 Codex 这样的编码代理逐步融入开发工作流,安全团队需要专门为管理这一转变而设计的工具。Codex 提供了控制界面、配置管理、沙箱以及详细的代理感知遥测,确保安全采用。在具备这些能力后,安全团队可以更有信心地启用 Codex,在提升开发者生产力的同时,实现企业安全所需的可视性和控制。