一个库翻车,AI巨头跟着吃药
事情是这样的。
2026年3月31日,一个叫Axios的第三方开发者库被黑了。这不是什么新鲜事——软件供应链攻击在行业内早就见怪不怪了。
但问题在于,OpenAI的macOS应用签名流程,刚好用了这个库。
就这么巧。
OpenAI后来发公告说,他们的GitHub Actions工作流在应用签名时,下载并执行了恶意版本的Axios(1.14.1)。这个工作流有权访问证书和公证材料,用来给ChatGPT Desktop、Codex、Codex-cli和Atlas签名。
说实话,看到这则消息时我愣了一下。
OpenAI誒。那个做出ChatGPT的OpenAI。那个天天把安全、隐私挂在嘴边的OpenAI。结果被一个第三方库"背刺"了。
虚惊一场?还是侥幸逃生?
先说结论:OpenAI声称没有发现用户数据被访问、系统被入侵或软件被篡改的证据。
但仔细看公告的措辞,你会发现一些耐人寻味的地方。
"我们的分析得出结论,由于恶意负载执行时机、证书注入到作业的时机、作业本身的顺序以及其他缓解因素,签名证书可能没有被成功外泄。"
"可能没有"。注意这个用词。
OpenAI自己也不确定证书到底有没有被偷走。他们只是基于"时机"和"顺序"推测,攻击者可能没来得及把证书弄出去。
所以他们选择"谨慎处理"——直接作废了这套证书,5月8日之后,所有用旧证书签名的应用都将无法运行。
一个"可能没丢"的证书,换来的是几十上百万用户必须更新应用。
值不值?
我觉得值。但也说明事情确实有点棘手。
真正的锅,在GitHub Actions的配置上
公告里有一句话很关键:
"这次事件的根本原因是GitHub Actions工作流中的配置错误。具体来说,相关操作使用了浮动标签而非特定的提交哈希,并且没有配置minimumReleaseAge。"
翻译成人话就是:他们没有锁定Axios的具体版本,而是用了"最新版本"这种模糊的引用方式。
这在开发中很常见——用起来方便嘛。但一旦上游被黑,你就跟着遭殃。
有意思的是,评论里有人指出:
"CryptoTokenKit是你们的友好伙伴啊。我还是不明白为什么苹果的工具不把这个搞得更简单些。看起来他们是想推你们上Xcode Cloud。"
这话有点道理。苹果的签名和公证机制确实够复杂,很多开发者为了省事会走一些"捷径"。而这些捷径,恰恰是安全漏洞的温床。
供应链攻击的"蝴蝶效应"
这事儿让我想起2020年的SolarWinds事件。一个小小的IT管理软件被植入后门,影响了数千家使用它的政府机构和企业。
Axios这次也是类似的路数。它是一个"广泛使用的第三方开发者库",意味着无数项目都在用。攻击者只要搞定这一个库,就能顺藤摸瓜摸到一大片下游。
OpenAI只是倒霉蛋之一。
更可怕的是,这种攻击往往具有滞后性。3月31日Axios被黑,OpenAI直到最近才发公告。这中间隔了多久?攻击者有没有趁这段时间做什么?谁也说不清。
OpenAI说他们正在"与合作伙伴监控签名证书的任何滥用指标",如果发现恶意活动,会加速撤销流程。
这话听着让人安心,但也透着一股无奈——他们现在只能"等"。
批评者的声音
当然,评论区也有不买账的。
"security and privacy是漂亮的空话,用于规避法律责任。在诉讼环境中,这就是免费的钱。我们大部分人还是不在乎。我们还是会用。只是看着这么多公司为了避免面对房间里的大象而卑躬屈膝,真的很痛苦。"
话有点刺耳,但并非完全没有道理。
大公司出事后的标准话术:强调"没有发现证据表明数据被访问",强调"用户不需要改密码",强调"我们很重视安全"。
然后呢?然后发个公告,列一串FAQ,告诉用户"请更新"。
普通用户能做什么?什么也做不了。只能点"更新",然后祈祷下次别再出事了。
另一位评论者说得更直接:
"补救措施不足以避免未来的供应链攻击。"
一针见血。这次OpenAI侥幸过关,下次呢?换一家公司呢?
最后说几句
这事儿让我想起一个比喻:现在的软件生态就像一串多米诺骨牌,你永远不知道下一个倒下的会是谁。
Axios倒下了,OpenAI跟着晃了三晃。下一个可能是什么?可能是某个更基础的库,可能是某个更广泛使用的工具。
开源世界的美好在于共享和协作,脆弱之处也在于此。你信任上游,上游信任上上游,层层传递,直到某个环节出了纰满。
OpenAI这波处理算是教科书级别的:发现快、响应快、公告透明、给用户留了30天窗口期。
但再漂亮的应对,也不如不出事。
下次呢?
【锐评】:一个第三方库就能让AI巨头手忙脚乱,所谓的"安全护城河"可能比我们想象的更浅。
参考链接:
https://x.com/OpenAI/status/2042780059363336237