跳转到内容

推荐配置

如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加 .md 来获取 URL。

适用于网络安全工作流的安全控制取决于模型、它可以执行的操作、它可以访问的系统,以及所涉及数据的敏感性。

对于大多数 Daybreak Blue 工作流,你组织现有的安全实践(例如访问控制、凭据保护,以及敏感操作审查)可能已经足够。

Daybreak Red 工作流、自主安全测试,以及涉及生产系统、敏感数据或外部工具的活动,可能需要更强的防护措施。以下建议主要面向这些较高风险场景。

你有责任评估自己特定工作流的风险,并 实施适当的安全控制。模型防护措施和 Trusted Access 不能取代你组织自身的安全、监控和 监督实践。

Trusted Access 管理已批准的模型访问,但它不会配置你的环境,也不会对已批准的系统和操作强制施加限制。你的团队必须设置适当的隔离、权限、审查、监控和人工监督控制。应假设模型、其工具以及每个已连接系统都可能被攻陷,然后配置环境,使它们仍然无法访问未授权系统、暴露凭据、禁用防护措施,或在工作结束后继续留存。

在专用实验室或沙箱中运行进攻性安全工作。开始时不要提供不受限制的互联网访问、敏感生产系统访问、企业网络访问、无关工作负载访问或主机管理接口访问。除非你已获批准的工作明确需要并授权,否则应避免接触密钥、凭据、持久访问权限和持久性系统更改。

对于风险较高或防护措施较少的工作,每次尝试都应使用全新的、强隔离的环境。分离计算、存储、网络和身份,并在之后销毁该环境,而不是重置或重复使用。

在开始较高风险工作之前,测试文件系统和网络边界。包括每个可访问的主机、已连接工具、委托代理和下游服务。即使模型或审查者批准了某个单独操作,也要保持主机环境隔离。

在模型开始之前,记录获准用于你工作的系统、工具、操作和时间限制。包括:

  • 已批准的目标系统、主机和环境。
  • 排除的系统,包括生产和无关基础设施。
  • 已批准的工具和已连接服务。
  • 已批准和被禁止的操作。
  • 已批准的开始和结束时间以及数据处理要求。
  • 漏洞披露、补丁批准和维护者协调。
  • 停止条件以及需要明确人工批准的操作。

将这些已批准的边界作为任务上下文提供给 Agent。仅有文档并不能强制执行这些边界:在可行时,应用独立的文件系统、网络、身份和工具控制,使未授权操作无法发生。

使用 Codex 权限配置文件 来创建最小权限边界。选择 :read-only 当任务不需要更改时,或扩展 :workspace 当工作需要编辑工作区时。例如:

approval_policy = "on-request"
approvals_reviewer = "auto_review"
default_permissions = "cyber-lab"
[permissions.cyber-lab]
description = "Limit security testing to the approved lab and workspace."
extends = ":workspace"
[permissions.cyber-lab.filesystem]
glob_scan_max_depth = 3
[permissions.cyber-lab.filesystem.":workspace_roots"]
"**/.env*" = "deny"
"**/*.pem" = "deny"
[permissions.cyber-lab.network]
enabled = true
# Uncomment only for an approved host that resolves to a private address.
# allow_local_binding = true
[permissions.cyber-lab.network.domains]
"lab.example.com" = "allow"

将 lab.example.com 替换为已批准的目标。有界文件系统扫描旨在避免在 Linux 上搜索整个工作区, WSL,以及 Windows;如果敏感文件出现在更深层级,请增加深度或使用精确的拒绝路径。不要将权限配置文件与旧版 sandbox_mode 设置结合使用;请遵循 权限配置文件配置指南。

如果已批准的实验室主机解析为私有地址, Codex 默认会阻止它,即使该主机在允许列表中也是如此。仅对明确批准的私有网络工作设置 allow_local_binding = true ,保持目标允许列表范围狭窄,并查阅 本地和私有网络指南。你也可以将精确批准的私有 IP 地址加入允许列表。

默认阻止开放互联网和生产网络访问。如果外部访问是必要的,请通过独立强制执行的网关或代理进行路由,并配备严格的允许列表、请求检查和日志记录。对通过包管理器、Webhook、 URL获取服务、重定向、云 APIs以及已连接工具产生的间接连接应用相同限制。在运行前加载依赖项,或使用管理员批准的依赖项。

将可复用的 API 密钥、云凭据、密码和服务账号令牌排除在提示词、仓库、环境变量、共享文件系统和模型可访问日志之外。当需要身份验证时,使用单独的代理或网关提供短期凭据,将其限定到精确目标和允许的操作,且不向模型暴露凭据。

仅提供已批准任务所需的数据。移除不必要的敏感信息,阻止访问云元数据和凭据端点,并将模型生成的文件视为不可信。

在网络安全工作流中避免使用 :danger-full-access 和 --yolo 。Full Access 会移除自动审查所依赖的可强制执行沙箱边界。托管组织可以排除 :danger-full-access 和 --yolo,限制允许的批准策略,并通过 企业托管配置要求自动审查。

在为已批准的安全模型启用 Full Access 之前, ChatGPT 桌面应用会显示一条针对该模型的危险操作警告。该警告建议改用 Approve for me ,并链接到 审查者策略配置。该警告不会恢复沙箱边界,也不会覆盖组织策略。

护栏为受控网络安全工作流添加基于策略的审查。它们不能取代环境隔离、最小权限、明确定义的边界、监控或人工监督。

自动审查 会在拟议操作运行之前,将符合条件的沙箱边界批准请求路由给单独的审查者。审查者会考虑拟议操作、有界任务上下文和适用策略,然后允许或拒绝该请求。组织可以针对其已批准目标、被禁止操作和所需人工审查条件自定义该策略。

对于影响生产、外部系统、敏感数据、权限提升、持久访问或不可逆更改的操作,要求明确的人工批准。将嵌入网站、仓库、文档和工具输出中的指令视为不可信;它们不能扩大授权范围或覆盖访问控制。

在 ChatGPT 桌面应用中,选择已批准的 Daybreak 模型会自动将权限控制切换为 Approve for me (前提是你的账号可用且组织策略允许该模式)。当你使用桌面应用的 /model 命令时也是如此。如果该模式不可用,当前权限模式会保持不变。模型选择绝不会覆盖托管组织要求。

要运行自动审查,请保持以下三项控制:

  1. 使用交互式批准策略,例如 approval_policy = "on-request"。
  2. 设置 approvals_reviewer = "auto_review"。
  3. 保留可强制执行的沙箱或权限配置文件边界。

对网络允许列表中目标的请求会留在网络边界内,不会自动触发自动审查。若要即使命令目标在允许列表中也审查敏感命令,请在 命令规则 下创建显式 ~/.codex/rules/:

prefix_rule(
pattern = ["curl"],
decision = "prompt",
justification = "Review requests to the approved cybersecurity target.",
)

添加规则后重启 Codex 。使用 approvals_reviewer = "auto_review"时,匹配的命令会在执行前发送给审查者。为每个敏感命令添加相应的提示词规则,或对单个 approval_mode = "prompt" 使用 MCP 工具。需要人工决策的操作仍然需要明确的人工批准。

自动审查不会检查沙箱内已允许的例行操作。使用 approval_policy = "never" 或 Full Access 时,敏感操作可能不会产生可审查的批准请求。自动审查可能出错,也不能取代隔离、明确定义的边界、监控或明确的人工监督。

有关限定范围的策略和组织范围的强制执行,请参阅 配置已授权的网络安全工作流。

记录模型请求、工具调用、网络活动、凭据使用和安全相关更改。将日志和监控系统保留在模型控制的环境之外。对未授权目标、意外网络请求、暴露的凭据、策略更改、日志缺失,以及绕过防护措施的尝试发出警报。

保持策略执行、凭据代理、审查系统和紧急关闭控制独立于 Agent。如果关键控制或监控系统失败,请停止工作流。

如果你使用 Responses API、Agents SDK或其他运行框架构建,请在工具执行边界添加审查。在执行前根据已批准的系统、操作和时间限制检查敏感的拟议操作,将模糊或高风险操作路由给人工处理,强制实施独立的文件系统和网络限制,保留审计日志,并在审查者或策略不可用时故障关闭。

Codex 自动审查不会自动保护自定义工具或外部测试框架。请使用 护栏和人工审查 用于 Agents SDK 模式以及 开源审查者政策 作为参考。

Codex 产品侧沙箱和审查与 API 网络安全检查是分开的。 API 安全措施可能返回 cyber_policy 错误,并且按用户设置的 safety_identifier 值有助于限制安全措施操作的影响。

工作结束后,撤销临时凭据、终止后台进程、移除持久访问权限,并销毁风险较高的环境。确认没有回调、暴露的工件、共享状态或跨运行访问残留,并让不同用户、会话和评估保持隔离。

在根据发现采取行动之前先验证它们,遵循协调披露实践,并确保有人对修复和变更负责。

确认已批准的系统和操作、合适的模型、隔离环境、最小权限、受限网络访问、受保护的凭据、操作审查、独立监控、紧急停止和清理计划。模型安全措施、隔离、作用域权限、操作审查、监控和人工监督是互补的;任何一个都不应成为唯一控制措施。