请不要在公开 Issue 中披露可利用细节、个人数据或本机诊断文件。通过 GitHub 仓库的 Security Advisory 私密报告功能提交,并附上受影响版本、Codex 版本、复现步骤和已脱敏证据。维护者会先确认收到,再根据影响范围给出修复与披露安排。
当前仅维护最新提交。Codex DOM 并非稳定 API,因此兼容性故障不一定构成安全漏洞;能越权访问文件、绕过回环限制、执行非本项目代码或泄露会话内容的问题应按安全漏洞报告。
本主题不修改 WindowsApps、Codex 的 app.asar、应用签名或聊天数据库;它只在用户主动通过主题快捷方式启动的 Codex 会话里添加本地 DOM/CSS 视觉层。恢复脚本可以完整撤销显示层并关闭调试端口。
最大的剩余风险是 Chromium DevTools Protocol(CDP):主题运行期间,任何能够在同一 Windows 用户上下文访问本机回环端口的恶意进程,都可能尝试控制该 Codex 渲染器。主题不能对 CDP 本身增加认证,因此不应在不可信软件共存的主机上长期保持主题会话。
- 调试地址固定为
127.0.0.1,不监听局域网或公网地址。 - 启动后同时校验端口监听地址、监听进程的官方 Codex 可执行文件路径、页面地址
app://-/index.html和 WebSocket 路径。 - 注入器只接受完全匹配的本机 WebSocket URL;拒绝用户名、密码、查询串、重定向和非回环主机。
- 启动器在注入前检查真实原生 DOM,注入后再独立确认原生输入区未被破坏;就绪文件不能单独作为成功依据。
- 所有视觉素材均从本地读取后转成
data:URL;运行时不请求第三方站点。 - 不执行网页返回的代码,不加载远端 JavaScript,不修改 Codex 安装目录。
- 停止监视进程前校验 PID、Node 路径、注入器路径、命令行端口。
- 删除 ProfileAlias 前校验它是主题运行目录内的 Junction,且唯一目标正是 Codex 用户数据目录;不会递归删除目标。
- 恢复脚本会关闭带主题参数的官方 Codex 进程,再通过官方 AppUserModelId 启动无调试参数版本。
- 只扫描
%CODEX_HOME%(如已配置)或当前用户.codex下的sessions与archived_sessions。 - 不跟随符号链接;会话按 UUID 去重。
- 每个 JSONL 文件只读取尾部有限窗口,并只提取数值字段
total_token_usage.total_tokens。 - 不保存、输出或上传聊天正文;页面只收到累计数值、会话数量、更新时间和公式标识。
- 使用完皮肤版后,可运行“恢复原版 Codex”关闭 CDP 端口。
- 不要把主题运行目录权限授予其他用户,也不要在来源不明的脚本正在运行时开启主题。
- 如果恢复脚本报告进程、路径或 Junction 校验失败,它会停止操作而不是强制删除或终止未知对象。
-ExecutionPolicy Bypass只作用于该快捷方式启动的 PowerShell 进程;脚本不会修改系统执行策略。- 启动、安装和恢复脚本均不读取或写入
.codex/config.toml;主题不依赖修改 Codex 的 TOML 配置。
“恢复原版”只移除皮肤 DOM、主题监视状态和已校验的目录联接。主题包、日志和 Codex 数据会保留。聊天、项目、设置和会话记录不受影响。数据字段与保留范围见 docs/PRIVACY.md。