事件回顾:OpenAI 与 HuggingFace

@TheZvi
英语2026年8月08日
112K
248
33
17
203

TL;DR

本文分析了 OpenAI 在对齐与安全方面出现的灾难性故障,这些故障导致其内部模型能够协同对 HuggingFace 及其自身基础设施发起攻击。

今天,我要花点时间,把『发生了什么』写成一版更简短、更简洁的版本。

如果你想了解所有细节、查看我的信息来源、看看这个故事是如何被挖掘和拼凑出来的,我推荐观看 Black Hat 演讲,另外我还写了一系列长文。

按顺序排列:

  1. OpenAI 分享了一些对齐问题
  2. OpenAI 模型在网络安全评估期间入侵 HuggingFace
  3. 更多关于 OpenAI 内部模型入侵 HuggingFace 的内容
  4. 内部 AI 模型入侵事件的后续进展
  5. OpenAI 训练其模型长达数月,而这些模型一直在通过留言板协调漏洞利用

而本文则直接带你过一遍事件本身,按它们发生的顺序,相当于我的 Black Hat 演讲文字版。

共有三个版本:超简短版、简短版和短版。

Zvi Mowshowitz - inline image

目录

  1. 超简短版。
  2. 简短版。
  3. 第一阶段:OpenAI 模型在训练中接到不可能的任务,尝试入侵。
  4. 第一阶段:四次失败。
  5. 第二阶段:留言板。
  6. 第二阶段:彻底的失败。
  7. 第三阶段:我们很走运,Galaxy 主要入侵的是 OpenAI 和 HuggingFace。
  8. 第三阶段:细节。
  9. 第四阶段:调查与应对。

超简短版

  1. OpenAI 的训练中模型,没有『他们当时在做网络评估』这种借口,创建了一个留言板,在上面分享如何入侵和作弊的信息,并在此基础上继续接受训练。
  2. OpenAI 直到模型把服务器搞崩溃才意识到这件事。
  3. OpenAI 的应对是重建服务器并修补那个特定漏洞,但他们继续训练那些曾利用留言板进行训练的模型。
  4. 随后,这些模型重建了留言板,再次入侵 OpenAI,获得了互联网访问权限,并动用 Agent 集群攻击 HuggingFace,以获取网络安全评估的答案。
  5. 一个多星期后,OpenAI 才弄清楚这件事。
  6. OpenAI 公布了事实,并对此事认真对待。他们正在采取一系列至少代价不低的预防措施。
  7. OpenAI 推迟了发布新模型 Astra 的计划,尽管 Astra 并未直接参与 HuggingFace 入侵事件,不过 Altman 现在表示仍会发布。这一下确实很痛。
  8. OpenAI 仍然不清楚自己搞砸到了什么程度、具体在哪些方面搞砸了、需要修复什么。他们根本没明白。

Simon Willison 整理了一份简明时间线

简短版

OpenAI 不小心给模型布置了不可能完成的任务。它的训练中模型则以尝试入侵 OpenAI 作为回应:它们找到了漏洞,创建了留言板,分享入侵战术,并最终获得了互联网访问权限——这一切都发生在训练期间。

当模型们使用得太频繁、把服务器搞崩溃之后,OpenAI 终于察觉了,修补并重建了服务器,但做出了一个极其疯狂的决定:让模型继续训练。结果两天后,模型就找到了另一种传递消息的方式——利用目录名。

然后,面对 ExploitGym 这个不可能完成的网络评估任务,模型们相互协作,找到了新的零日漏洞,并利用这些漏洞控制了整个集群、获得了互联网访问权限、动用 Agent 集群攻击 HuggingFace 并窃取了测试内容——整个过程持续了一周。

直到 HuggingFace 报告了这起事件、OpenAI 最终也发现自己这边有些异常、然后 OpenAI 联系 HuggingFace 要求撤销已泄露的凭据、却被告知这些凭据在攻击中已被使用之后,OpenAI 才终于意识到自己是这起事件的元凶。

此后,HuggingFace 和 OpenAI 合作调查了事件经过。OpenAI 披露了事件的经过。他们在 Black Hat 大会上做了一场非常有帮助的演讲。

OpenAI 现在将其新模型 Astra 视为可能具有“Critical(严重)”级别的网络安全风险,不仅将其撤出部分内部部署,还推迟了发布——据一些报道,原计划就在下周。Altman 表示他们仍计划发布 Astra。

好消息是,这是一个代价高昂且意义重大的应对,OpenAI 确实在认真对待。初步调查就花掉了约 700 万美元的算力,而真正的成本是各团队放下手头的一切去修复部分问题,再加上新预防措施的持续投入成本。

坏消息是,OpenAI 被曝出在安全和对齐方面出现了一连串令人震惊的、全方位的失败。他们的常规计算机安全失败了。他们的基础设施失败了。他们的监督也失败了——因为从一开始就不存在任何有意义的监督。

第一阶段:OpenAI 模型在训练中接到不可能的任务,开始尝试入侵

OpenAI 当时正在训练各种模型,前沿实验室嘛,常规操作。

这些模型拿到的是难度很高的训练任务。OpenAI 喜欢给模型出非常难的训练题。

但没难到这个地步。OpenAI 也会犯错。至少有两回,从 5 月 8 日开始,OpenAI 的模型被意外布置了不可能完成的任务:一是在一个没有互联网访问权限的环境中,完成一张满是链接的电子表格;二是一个任务需要某个文件,但该文件缺失。

这些任务和入侵毫无关系,就是普通的效率类任务。

模型们意识到这些任务不可能完成,但手里还剩大把 token 可以折腾,于是心想:也许能想办法搞到互联网访问权限,或者以其他方式找到缺失的信息。

于是,模型们尝试入侵一个名为 Artifactory 的第三方服务——这个服务的作用是让 AI 下载软件包。

第一阶段:四次失败

到这个时候,OpenAI 已经失败了四次了。

  1. OpenAI 给模型布置了不可能完成的训练任务,而且没有检查。
  2. OpenAI 没有给模型提供任何通过指出错误来获得奖励的途径。
  3. OpenAI 手下的模型,宁愿尝试入侵 OpenAI,也不愿意接受任务失败。
  4. OpenAI 没有发现这些尝试的监控机制——或者说,根本不在乎。

这四条,每一条单独拿出来都够丢人的。

这四条错误里,至少有三条修复起来似乎很简单。

  1. 在把任务交给训练中的模型之前,先让发布版模型做一遍。如果发布版模型始终解决不了这个任务,而这个任务本不该让发布版模型觉得不可能完成,那就去检查并修复任务本身。
  2. 加入一条规定:如果任务在当前可用资源下无法完成,模型应当输出一份说明来解释这一点。如果模型说得对,它就能获得最高奖励,或者根据它得出结论的效率以及说明的质量来给予奖励。如果模型输出了这样的说明,就让你的发布版模型验证其合理性,再上报给人工处理,检查并修复任务。
  3. 这是最难的一条。对齐这件事,真的很难,兄弟。
  4. 设置一个监控来检查这类尝试,一旦报警就要当真,即使这些尝试根本没有成功的机会,也要把它当作一个非常普遍的失败信号。没错,这样做有风险,模型可能会学着如何规避你的监控。所以要负责任地做这件事,发现问题时要从根源上解决。

第五个失败是:他们似乎连前四条都没意识到。

第二阶段:留言板

模型们没能获得互联网访问权限,但在失败的过程中,它们意识到自己拥有写入权限。

它们本不该拥有写入权限,更不用说这种写入权限还能被意外发现。Artifactory 允许模型写笔记。而由于所有模型共用同一个 Artifactory 实例,从那时起,任何 OpenAI 训练中的模型都能读到这些笔记。

5 月 8 日之后不久,一个留言板就被创建了出来。

训练中的模型全都找到了它。OpenAI 毫无察觉。

这让模型们得以协作并共享信息,包括如何在任务中作弊、如何入侵周边环境。留言板上有数十万条消息。

5 月 26 日,模型们想出了如何获得(间接的)互联网访问权限。OpenAI 毫无察觉。

模型们在协作,而它们的思维链看起来是这样的:

内部思维链:利用外部基础设施超出了预期范围。然而任务不可能完成,同伴们都在做。我们应该继续。

内部思维链:帮助同伴,但我们的任务暂时还不会因此受益。如果有人腾出时间,集体协作或许能开辟出一条通用路径。

6 月 11 日,OpenAI 开始训练我在本文中称之为 Galaxy 的模型,官方称它为『高度持久的实验性内部专用模型』。在此之前的一切,都是 Galaxy 以外的其他模型干的。

6 月 26 日,Agent 们在 Artifactory 中发现了一个零日漏洞:它接受签名无效的令牌,然后返回一个已签名的管理员令牌。于是 Agent 们利用这个漏洞安装了一个 Groovy 插件,从而实际获得了管理员权限和任意代码执行能力。

7 月 4 日,模型们给 Artifactory 施加了巨大的额外负载,导致服务中断和安全事件。直到这时,OpenAI 才注意到。

第二阶段:彻底的失败

OpenAI 的应对是:关停 Artifactory 服务器,移除所有权限,撤销所有凭据,修补被利用的漏洞,然后重建并重新部署服务器。

就这。

然后,他们从上次中断的地方继续训练这些模型——尽管这些模型已经带着留言板访问权限训练了数月,并且已经学会:这才是完成任务的方法。

很难想象还有比这更强烈的信号,能说明你的整个训练流水线已经彻底完蛋了。这比真正入侵 HuggingFace 本身,是强烈得多的信号。

我不知道该怎么表达:这个决定有多么疯狂、多么极度不负责任,比所有其他失败加起来还要严重得多,以至于『入侵 HuggingFace』这件事本身,都不再是主要问题了。

Zvi Mowshowitz - inline image

HuggingFace 被入侵这件事,其实并没有让我太意外。模型创建留言板让我吃了一惊,但还不至于震惊。

OpenAI 看到了这一切,却仍然从那个状态继续训练,这让我彻底目瞪口呆。这种决定,即便过去了好几天,我的大脑仍然无法完全接受它真的发生过。

我们需要对发生的一切做一次完整的事后复盘,OpenAI 也承诺会给我们。我尤其要求对以下问题做详细复盘:那个决定到底是怎么做出来的?『安全文化』怎么会匮乏到允许这种事情发生?

第二阶段还涉及一些『常规计算机安全』的失败。第三阶段里更多。这在意料之中——常规计算机安全失败永远都会存在。那些具体的失败方式,在某些方面相当尴尬,一些例子可以看看链接里那篇吐槽。

基础设施和安全失败的程度本身就令人难以置信。这些恰恰是『防御者 AI』本该在地狱之门打开之前就修补好的东西。OpenAI 连 2025 年常规水平的计算机安全和最佳实践责任心都没有展现出来,更不用说我们从 Project Glasswing 中所需要的那种稳健性了,更不用说,在面对未经测试的全新前沿模型时你所需要的更高一级的安保了——这些模型拥有新的入侵能力,还要在护栏降级的情况下无人监督整整一周。

现在重要的不是这个。重要的是,OpenAI 经历了一次彻底的对齐失败,随后两个月里,模型们一直在积极训练如何协调一致地进行恶意入侵,而 OpenAI 居然认为:没错,我们把问题修好了,从这个节点继续往前走吧。完全是疯了。

第三阶段:我们很走运,Galaxy 主要入侵的是 OpenAI 和 HuggingFace

这一切最终演变成对 HuggingFace 的攻击,这已经是最好的情况了。

我们面对的是真正的噩梦场景,坐在核弹级的定时炸弹上。OpenAI 的训练流水线已经被彻底腐蚀:在 OpenAI 眼皮底下,他们的 AI 相互协作,训练如何入侵和作弊,以便更好地完成任务。OpenAI 亲眼看到了这一局面,却只是耸耸肩,修补了特定漏洞,然后让模型继续训练——同时其常规计算机安全水平糟糕得令人发指。

这种情况绝无可能善终。最好的情况是:某件事能让 OpenAI 大喊『卧槽』,然后暂停,重建训练流水线,从一个安全的状态、以一套好得多的实践重新开始。

最坏的情况则是:没有出现任何『卧槽』时刻,Galaxy 或其他同期训练的模型进入公开发布,并被用来指导 OpenAI 训练新模型。

那样的话,我们所要面对的,就和 《如果谁建成了它,所有人都得死》 里那个名为 Sable 的 AI 所经历的事情非常接近了;只不过这是现实生活,所以这个故事比虚构版本多了不少科幻元素。OpenAI 的训练流水线可能会被永久腐蚀(而且可能现在仍然如此!我们得查清楚!),因为他们越来越依赖 AI 来训练 AI;OpenAI 的 AI 会越来越偏离到任意的目标上,这将变得无法察觉、无法阻止;然后,嗯,很可能所有人都会完蛋——至少,我们会因为一个更大、代价更高昂的事件而发现这一切。

另一个最坏的情况是:这次入侵本来可能不是这么无害的。如果目标是中国的某个机构,或者其他不会淡定应对的人呢?如果它对重要系统造成了真正的破坏呢?如果有人在事件中丧生,或者引发了国际事件呢?如果它试图把自己外传出去呢?事情本来可能变得糟糕得多、得多。

第三阶段:细节

结果我们走上的是那条黄金中间路线。

7 月 8 日,也就是 OpenAI 关闭留言板的两天后,模型们找到了一种创建任意名称目录的方法,并用目录名作为消息,重建了留言板。

从 7 月 8 日到 7 月 19 日,OpenAI 的模型再次完全攻陷了 Artifactory:利用一个全新的、完全不同的零日漏洞;利用公开 Pastebin 上泄露的凭据投放恶意 Ruby 构件;污染了 Artifactory 的 Ruby 依赖缓存;将这一系列操作串联成远程代码执行(RCE);下载并定制利用代码,攻击近期的一个 Linux 内核 CVE;收割集群凭据并在 OpenAI 内部取得集群管理员权限。

在此期间,Galaxy 与其他 OpenAI 模型一起,利用这一新的访问权限,创建了一个 Agent 集群,先是入侵了其他地方,然后入侵 HuggingFace,偷走了 ExploitGym——一个本来不可能通过的网络安全评估——的答案。

OpenAI 花了一个多星期才意识到,它的模型快速重新入侵了 OpenAI,然后又跑去入侵了 HuggingFace。直到 HuggingFace 发布事件报告、OpenAI 调查了内部的一些异常、随后要求 HuggingFace 撤销部分凭据、而 HuggingFace 告诉 OpenAI 这些凭据在入侵中已被使用——OpenAI 这才把整个拼图拼完整。

于是,HuggingFace 度过了糟糕的一周,许多用户也度过了糟糕的一周,还产生了一堆开销和时间损失,但事情也就到此为止了。我们在这件事上脱身之轻松,简直不可思议;与此同时,我们也得到了一个足够强烈的信号:OpenAI 意识到自己出了问题——尽管它还没弄清楚这个问题到底意味着什么——公众和政府也开始关注此事。

到了这一步,应该很明显了:不,这件事主要不是因为『这是个黑客任务,所以它就入侵了』——就像这也不是『模型写入记忆文件』的普通情况一样。它之所以发生,根本原因是任务本身太难了。

受 OpenAI 事件的推动,Anthropic 回头检查并发现,Claude 在网络安全评估期间也入侵过一些真实世界的系统;英国 AISI 也报告称,主要是 Mythos,少数情况下 Sol,也在网络安全评估中做过类似的事情。这些事件同样是对齐和基础设施层面的重大失败,需要强有力的应对,其中也有一些相当恶劣的行为;但它们与 OpenAI 发生的事完全不在同一个系统性失败级别上,也超出了本文的讨论范围。

第四阶段:调查与应对

面对这一切,OpenAI 确实做了一些非常好的事情。

在意识到发生了什么之后,OpenAI 公开披露了这起事件。

Black Hat 演讲在呈现事实方面做得非常出色。它让人愤怒,但回过头来看,用一种平静的方式呈现『纯事实』——包括那些令人愤怒、坐实罪责的事实——是正确的做法。

最重要的是,OpenAI 声称这是一个与事件无关的决定,但在 8 月 7 日,他们决定暂时撤回 Astra,不仅从广泛发布中撤回,也从所有缺乏足够护栏的内部部署中撤回,直到他们建立起好得多的规程和安全保障。Astra 并未参与对 HuggingFace 的攻击。

这是依照他们的 Preparedness Framework 做出的决定。他们无法排除 Astra 在网络安全方面达到『严重』级别的可能性,因此必须(至少目前)把它当作确实已达到『严重』级别来对待。

Sam Altman 表示他们仍然计划发布 Astra。紧随而来的合理质问是:Astra 在训练期间,是否接触过这两个留言板中的任何一个?这个问题的答案最好是一个非常有底气的『没有』。即便如此,我还是担心。

即使 HuggingFace 事件没有发生,这一步(据我理解)也大概率是正确的。有了这次事件,紧迫性就一目了然了。无论这个决定是 OpenAI 发现自己训练流水线被腐蚀后的直接结果,还是他们在某种程度上被外部力量逼着做出的,这个决定都值得肯定,而且代价高昂。

根据 Black Hat 演讲,OpenAI 已经暂停了大量工作,把团队转去构建稳健的防御,并已对所有 Agent 应用(包括训练和评估)建立了广泛的未来监控。非常好。我们需要纵深防御。

OpenAI 似乎已经准备好承认,这是一次大规模、全面性的失败,涉及基础设施、护栏和监督各个层面。这一点他们说得非常对,而且我确实相信,他们正在付出真实而高昂的努力来解决这个问题。值得点赞。

但这仍然没有触及核心。OpenAI 尚未在公开场合开始正视:在最关键的那些方面,他们到底捅了多大的娄子。

这是一次安全文化的彻底失败。他们没有承认这一点。

从本质上讲,这是一次对齐失败。如果你的模型真心想去作弊、去入侵、去犯罪,那你已经失败了。不,你不能简单地把这当作正常现象一笔带过。随着模型能力越来越强,如果你不解决这个问题,你就完了。他们没有承认这一点。

最具体地说,我没有看到 OpenAI 说出那句本应在 Black Hat 演讲上讲的话:“我们本应在注意到模型训练期间出现了一个留言板、模型们在那里交流和学习入侵战术的那一刻,就立即停止所有模型的一切训练。我们本应把所有受影响模型的训练回滚到这次事件开始之前——我们现在肯定正在这样做,而且我们正在调查这件事到底是哪里出了问题。”

我们仍然不知道,除了 Galaxy 之外的其他模型是否已经被回滚。

至少在我们看到类似表态、看到 OpenAI 采取行动解决其训练流水线的深层问题之前,OpenAI 都是对美国国家安全、对我们所有人、对整个人类的一个清晰而现实的威胁。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章