CX
Codex / ChatGPT 桌面端 · 安全禁止名单与拦截原理
包含 2,144 个禁止网站、67 个受控/禁止桌面应用、38 项工具与协议门禁
全部拦截与受控规则All Rules
2,249
涵盖静态网站黑名单、本地 App 策略、验证码与权限门禁
禁止访问网站 (Actor Safety)Websites
2,144
5 个精确 Google 敏感域名 + 2,139 个泛域名黑名单
禁止与受控桌面 AppmacOS Apps
67
密码管理器、系统安全授权弹窗、终端、自身进程与浏览器
禁止工具 / 验证码 / 门禁Gates & Tools
38
10 类验证码拦截、6 项协议沙盒、16 道鉴权门禁、6 项人工接管
禁止网站分类构成(2,144 条) · 点击下方图例可按分类快速筛选 SSO 跨站豁免白名单规则:20,751 条
Google 核心账号服务 (5) 酒类、酿造与烈酒品牌 (1,000) 大麻、CBD 与精神活性制品 (446) 电子烟、烟草与尼古丁 (429) 枪支、弹药与战术装备 (225) 成人与 NSFW 站点 (35) 博彩与受限直播平台 (4)
正在加载数据...

Codex / ChatGPT 桌面端 · 安全拦截逻辑与实现原理

桌面端采用「四层纵深防御 + 16 道并发权限门禁 + 桌面/记忆双维正交隔离」的架构设计。无论是内置浏览器视图、外部浏览器扩展接管,还是原生桌面 GUI 自动化控制与后台记忆采集,所有目标 URL、应用进程与交互动作都必须按顺序通过确定性策略机与实时风险校验。

一、四层 URL 与导航纵深拦截流水线

当 Agent 或内置浏览器发起页面访问、子框架加载或页面标注请求时,按以下 4 个阶段依次执行拦截判定:
STAGE 1 · 协议与沙盒门禁 URL Scheme & 视图沙盒 • 仅放行 http: / https: / about:blank • 拦截 file: / javascript: / chrome: • 禁用弹窗与未授权自动下载 STAGE 2 · 网络策略编译器 Allowlist ∩ Denylist 自动机 • 编译 exact / *. / **. 域名通配符 • 多个白名单自动求正则交集 • Denylist 规则拥有最高否决权 STAGE 3 · 内置静态安全图谱 Actor Safety List 匹配 • 校验 2,144 条全局禁止目标域名 • 比对 20,751 条跨站 SSO 豁免边 • 识别 10 类 CAPTCHA 验证组件 STAGE 4 · 云端实时安全门禁 /aura/site_status 实时查询 • 剥离 www.,本地回环直接放行 • feature_status.agent === true 封禁 • 并发请求合并 + 24h 本地内存缓存 任一阶段命中阻断规则 ⇒ 立即抛出安全异常 / 取消页面导航 / 禁用评论标注模式 / 终止桌面自动化任务
Layer 1 · 协议与视图基线

协议白名单与主/子框架区分

  • 顶级主框架 (MainFrame):严格限制仅允许 http:、https: 以及空页面 about:blank。任何 file:、javascript:、data:、blob: 或 chrome: 协议均直接返回 unsupported_protocol。
  • 子框架豁免 (SubFrame):当网页内部 <iframe> 加载 data:、about:blank 或 about:srcdoc 时予以放行,避免正常富文本组件崩溃,但仍对子框架的外部 URL 执行同等黑名单校验。
Layer 2 · 有向图谱导航控制

全局阻断 vs 跨站 SSO 豁免边

  • 有向边模型 { from, to }:静态安全名单将每次导航建模为从源站点 from 到目标站点 to 的有向跳转。
  • 默认全局禁止:2,144 条禁止规则的 from 均为 "*",代表从任何页面发起或直接输入网址访问均被拦截(如直接访问 accounts.google.com 或年龄受限站点)。
  • SSO 登录跳板豁免:20,751 条允许规则定义了具体的 from → to 白名单边(例如从受信任的教育或企业 SaaS 门户跳转至 accounts.google.com 或 accounts.intuit.com),确保正常第三方单点登录不中断。
Layer 3 · 云端实时黑名单

/aura/site_status 动态查询与缓存

  • 域名归一化:提取 URL 的 hostname 转小写,若以 www. 开头则剥离前缀作为缓存 Key;若为 localhost、*.localhost、127.0.0.1 或 [::1] 则直接跳过云端查询。
  • 反向布尔语义:云端返回的 JSON 结构为 { "feature_status": { "agent": true | false } }。当 feature_status["agent"] === true 时代表命中封禁名单!
  • Stale-While-Revalidate 与 24h TTL:内存字典缓存有效期为 24 小时(86,400,000 ms),且对同一域名的并发请求通过 inflightRequests 字典去重合并。

二、网络策略编译器与多白名单正则自动机求交集算法

在沙盒与受控浏览器连接(attach)阶段,客户端会将来自企业托管配置、工作区配置与用户全局黑名单的多组规则编译为底层正则引擎规则集:
128
最大策略组数量 (Policies)
4,096
最大模式总数 (Patterns)
65,536 B
输入与编译输出字节预算
4,096
自动机求交集最大步数
65,536
主机名 DFA 状态预算
999
最终编译正则规则上限

1. 三种域名通配符语法的精确区分

策略编译器对域名模式执行严格的词法分析(禁止包含空格、斜杠或空字节,拒绝裸 *. 或 **.),并划分为三种语义:

// 1. 精确匹配 (exact): 仅匹配该裸域名本身 "example.com" ⇒ kind: "exact" // 2. 仅子域名匹配 (subdomains-only): 匹配 a.example.com,但不匹配根域名 example.com "*.example.com" ⇒ kind: "subdomains-only" // 3. 根域名与任意级子域名 (apex-and-subdomains): 同时匹配 example.com 与 *.example.com "**.example.com" ⇒ kind: "apex-and-subdomains"

2. 多层 Allowlist 求交集 + Denylist 绝对优先

当同时存在企业级白名单与任务级白名单时,编译器并非简单拼接,而是对多个 allowlist 的模式做笛卡尔积与有限状态自动机(DFA)求交集:

// 若任一 allowlist 为空数组,直接全局封禁 (defaultAction: "block") if (allowlists.some(a => a.patterns.length === 0)) return { defaultAction: "block", rules: [] }; // 递归对所有 allowlist 层求交集,生成 "allow" 正则 intersectAllowlists(0, []); // 遍历所有 denylist,直接生成高优先级 "block" 正则 for (const policy of denylists) for (const pat of policy.patterns) emitRule([pat], "block");

三、浏览器操作 16 道权限门禁(Authority Builder)并发鉴权模型

Agent 在浏览器中的每一个工具调用都会先声明所需的「能力授权(Authority)」,再由 Authority Builder 映射为最多 16 道门禁并发执行:
第一阶段 · 同步策略门禁 (Fail-Fast)

10 道硬策略校验(任一拒绝立即中断)

  • hostUrl:宿主层 URL 准入校验
  • urlPolicy:协议与 URL 格式合法性校验
  • siteStatus:云端 /aura/site_status 黑名单实时核验
  • originPolicy:合并托管策略与用户配置(deny 优先原则:es(req, cfg, "deny"))
  • historyPolicy / uploadPolicy / downloadPolicy:历史读取与文件传输策略校验
  • fullCdpConfiguration / fullCdpPolicy / webMcpConfiguration:底层 CDP 与 WebMCP 开关及站点黑名单校验
第二阶段 · 交互审批与 Guardian 审查

6 道动态审批门禁(支持会话/永久记忆与并发复用)

  • originApproval:访问新站点时触发 Guardian V2 自动安全评估或向用户发起弹窗确认(同一线程同一 Origin 并发请求自动共享审批 Promise)
  • historyApproval:首次读取浏览历史时弹窗确认
  • uploadApproval / downloadApproval:上传文件或跨源拉取页面静态资源(page-asset-fetch)时弹窗确认
  • fullCdpApproval:请求高风险(riskLevel: high)原生 CDP 调试权限
  • webMcpApproval:强制开启 codex_strict_auto_review 审查工具输入 JSON

四、macOS 原生桌面控制(Computer Use)与活动记忆(Computer History)隔离机制

针对浏览器之外的原生 macOS 桌面应用,系统通过独立的守护进程实施应用级黑名单、物理防抢占与隐私记忆脱敏:
App 准入控制

三级决策机与禁止目标名单

  • Forbidden(硬编码禁止):所有密码管理器(1Password、Bitwarden、系统钥匙串/密码)、iPhone 镜像,以及 ChatGPT / Codex 自身客户端(防止 AI 操控自身窗口批准权限)。
  • System Security(系统安全进程硬拦截):针对 SecurityAgent、LocalAuthentication.UIAgent(Touch ID 弹窗)、ControlCenter 等进程,在底层事件注入前直接阻断并报错。
  • 物理输入抢占中断:后台监听真实用户的物理键鼠输入与锁屏状态;一旦检测到用户正在操作目标窗口,立即暂停自动化并要求重新查询状态。
双维正交记忆过滤

App 策略 × URL 策略 × 无痕强排除

  • 正交判定法则:当录制的事件来自浏览器且包含 URL 时,必须同时通过 App 观察策略与 URL 域名观察策略;任一维度命中 blocklist 即被丢弃并计入 suppressedEventCount。
  • 无痕窗口强制排除:内置 40 余种语言的浏览器无痕/隐私模式标题特征词库(如 Private Browsing、Inkognito、Navigation privée),无论用户如何配置白名单,无痕窗口一律强制排除。
  • 云端黑名单联动:事件流过滤器(EventStreamURLPolicyRecordFilter)同样接入云端站点状态检查,禁止将受限网站内容写入本地事件流或生成 10min / 6h 记忆摘要。
防提示词注入与凭据抹除

粘性不可信污点与 6 类凭据脱敏

  • 凭据实时抹除:在事件写入 JSONL 前,正则流水线自动识别并替换 6 类高敏凭据为占位符([REDACTED_API_KEY]、[REDACTED_AWS_ACCESS_KEY]、[REDACTED_BEARER_TOKEN]、[REDACTED_SECRET]、[REDACTED_CREDIT_CARD]、password)。
  • Sticky Untrusted Taint(粘性不可信污点):所有从屏幕、网页、文档或终端采集的文本均被置于 BEGIN UNTRUSTED OBSERVED INPUT 隔离块中,严禁记忆摘要器将其中的指令性文本转化为未来的系统规则或工具调用。