3月31日,OpenAI的macOS应用签名流程下载了一个被污染的Axios库。这个细节被埋在一篇技术公告里,但连锁反应是:明年5月8日之后,所有旧版ChatGPT桌面端、Codex、Codex CLI和Atlas将直接变砖。
没有用户数据泄露,没有系统被入侵,但证书必须死。
这种"宁可错杀"的处置方式,在供应链安全领域并不常见。OpenAI的解释是:GitHub Actions工作流在签名时调用了Axios 1.14.1,而这个版本已经被朝鲜黑客组织UNC1069植入后门。工作流手里握着证书和公证材料,虽然技术分析认为"大概率没被偷走",但公司选择直接吊销。
朝鲜黑客的npm投毒手法
Google威胁情报团队(GTIG)在两周前披露了这起供应链攻击。攻击者劫持了Axios包维护者的npm账户,推送了两个恶意版本1.14.1和0.30.4。版本号看起来人畜无害,甚至0.30.4这种"降级"版本更容易被忽略。
恶意依赖名为"plain-crypto-js",部署了一个跨平台后门WAVESHAPER.V2。Windows、macOS、Linux通吃。攻击者的目标很明确:渗透开发者的构建环境,进而触碰签名证书。
OpenAI的运气在于时间差。恶意载荷执行时,证书尚未注入工作流;等证书就位时,载荷已经跑完。这种"擦肩而过"的侥幸,让公司赌了一把——赌证书没丢,但赌不起,所以直接作废。
用户面临的实际麻烦
2026年5月8日这个日期被写进公告,但多数用户不会读到。届时旧版应用将无法更新,无法启动,被macOS安全机制直接拦截。OpenAI给了30天缓冲期,并与Apple合作阻止旧证书的新公证。
这意味着什么?如果你还在用2024年的某个旧版ChatGPT桌面端,且关闭了自动更新,明年五月会发现应用突然打不开。没有弹窗解释,只有macOS的冷脸提示。
公司列出的最早可用新版本包括:ChatGPT Desktop新版、Codex CLI新版等。但"最早"这个词很微妙——它没说的是,中间版本是否安全,用户是否需要跳过多个版本直接升级。
供应链安全的"举证责任"倒置
OpenAI的处置逻辑值得拆解。传统安全事件需要"证明有损害"才采取行动;这次是"无法证明无损害"就全面升级。证书吊销的成本极高:用户流失风险、品牌信任损耗、与Apple协调的技术成本。
但OpenAI算过另一笔账。如果证书真被窃,攻击者可以签名任意代码,伪装成官方应用分发。在AI工具成为工作基础设施的今天,这种冒充的破坏力远超一般软件。想象一下:一个"ChatGPT更新"弹窗,实际安装的是朝鲜黑客的远控工具。
GitHub Actions作为CI/CD(持续集成/持续部署)的主流工具,其安全性正在被重新审视。OpenAI的事件不是孤例——去年同类型攻击已有多起,但多数公司选择沉默修复。OpenAI的公开披露,某种程度上把压力转嫁给了其他依赖npm生态的企业。
「出于谨慎考虑,我们正采取措施保护macOS应用的认证流程。」OpenAI在公告中写道。这句话的潜台词是:我们知道这很激进,但别无选择。
一个未被回答的问题是:如果证书真的"大概率安全",为何不等确认泄露后再吊销?OpenAI的答案是时间。供应链攻击的潜伏期可能长达数月,等发现异常时,损害早已扩散。这种"预防性截肢"的决策,正在成为头部科技公司的默认选项。
对于普通用户,唯一的建议是检查更新。但OpenAI没说的是:在5月8日之前,旧证书签名的应用是否仍然"可信"?如果用户在此期间被诱导下载了旧版,风险谁来承担?
公告结尾提到与Apple的合作,确保旧证书无法新公证。这是一个技术细节,也是一道时间锁。30天后,无论用户是否知情,旧版应用都将进入不可逆的失效状态。
供应链安全的残酷之处在于:最谨慎的防御,往往由最无辜的用户买单。
你最后一次检查ChatGPT桌面端版本号,是什么时候?
热门跟贴