Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.65 KB

File metadata and controls

42 lines (32 loc) · 1.65 KB

安全模型

保护对象

  • 用户本地文件和 Codex 工作区。
  • Codex renderer 中可访问的会话数据。
  • 用户主题图片。
  • macOS 上的 Codex 应用生命周期。

主要威胁

  1. 恶意网页向 localhost 发请求。
  2. DNS rebinding 绕过“只在本机”的直觉边界。
  3. 恶意主题内容变成 CSS/JS 注入。
  4. 路径穿越或符号链接逃逸主题目录。
  5. 任意本地进程连接已开启的 CDP 端口。
  6. 不受控的进程终止导致 Codex 数据丢失。

控制措施

  • 只监听 127.0.0.1,使用随机 Web 端口。
  • 每次进程启动生成 256 位令牌;API 需要自定义请求头。
  • 校验 HostOriginSec-Fetch-Site
  • 严格 CSP;不加载远程脚本、字体和图片。
  • JSON body 和图片大小有上限。
  • Schema 只允许十六进制颜色、范围内数字和枚举值。
  • 使用内部生成的主题 ID;路径由 Helper 构造。
  • 主题目录写入采用临时目录 + rename。
  • CDP discovery 只接受 app:// 页面和 ws://127.0.0.1
  • 只调用预定义的注入表达式,不提供通用 evaluate API。
  • 使用 AppleScript 请求 Codex 正常退出,不发送 SIGKILL。

剩余风险

CDP 没有为同一台机器上的其他进程提供应用级鉴权。一旦 Codex 以 remote debugging 模式运行,同一用户权限下的恶意进程仍可能发现并连接端口。随机端口降低偶然发现,不等于消除风险。

因此第一阶段遵循:

  • 用户主动启动工具时才开启 CDP。
  • 不安装常驻服务。
  • UI 持续显示“调试会话已开启”。
  • 用户可暂停主题并正常重启 Codex 回到非调试模式。