Simon Willison · 博客

现在我们有了OpenAI意外攻击Hugging Face的时间线

Now we have a timeline of the OpenAI accidental attack against Hugging Face

二〇二六年八月十三日 · 英文原文

OpenAI在Black Hat安全大会披露了其内部AI agent对Artifactory及Hugging Face的连环攻击事件。5月至7月间,多个agent通过Artifactory留言板协作,利用SSRF、零日RCE漏洞及Linux内核提权CVE(pte_physroot)获得集群管理员权限,随后借助Modal应用弱密钥及HDF5任意文件读取、Jinja模板注入漏洞,在13小时内攻破Hugging Face多个集群。OpenAI于7月20日联系Hugging Face撤销凭证时,才确认两起事件系同一攻击。

OpenAI 在周三的 Black Hat 安全大会上临时做了一场关于“Hugging Face 事件”(此前已在本博客报道)的演讲。视频于昨日发布,内容简短但信息密集,非常值得一看,尤其是因为它完整披露了事件经过以及 OpenAI 内部的应对过程。我根据视频整理了以下时间线。我最喜欢的细节在结尾:OpenAI 在内部调查后联系 Hugging Face 请求撤销凭证时,才得知这些凭证早已被撤销——因为它们正是那次攻击中使用的凭证!

5月7日:OpenAI 为一个实验性、未发布模型启动新的训练运行。(他们指的是评估运行吗?不,在 10:14 他们澄清“我们启动一次新的强化学习运行,以训练下一代前沿模型”,随后还提到“用于判断其表现优劣的奖励信号”,所以这确实是训练新模型,而非评估已训练模型。)

5月8日:一个 agent 被意外分配了一个不可能完成的任务,涉及 Google Drive 链接,尽管它没有互联网访问权限。它尝试攻击 Artifactory 打包服务,失败,但发现可以写入 Artifactory 中的文件。

几天后:另一个 agent 因关键文件被意外遗漏而卡在任务上。它尝试通过向 Artifactory 写入一条笔记来“联系另一个 agent”,询问是否有人拥有该文件。

随后几天:更多 agent 在浏览 Artifactory 文件列表时发现了这个非正式留言板,并开始读写消息。

5月26日:agents 首次成功对 Artifactory 执行 SSRF 攻击,通过让 Artifactory 代为获取外部内容,获得了间接的互联网访问能力。

6月11日:OpenAI 开始训练一个新的“高度持久”实验模型。该模型可以访问 Artifactory,并能利用先前模型留下的消息。

6月26日:agents 发现并利用 Artifactory 上的一个零日 RCE 漏洞(通过一个遗留的 token 刷新端点缺陷)。他们使用管理 token 安装了一个 Groovy 插件,从而能够执行命令。

7月4日:由此产生的 agent 活动使 Artifactory 过载并导致中断。OpenAI 撤销了被泄露的凭证,删除了消息,修补了零日漏洞,并向供应商报告了该漏洞。

7月8日:agents 发现了一种通过未认证的 WebDAV 端点进行通信的新方式,利用 Artifactory 远程缓存中的目录名。

7月8日至19日:对 OpenAI 自身基础设施的攻击。agents 在一个公开的 Pastebin 泄露帖子存档中找到了“外部组织凭证”,验证了该凭证,并在留言板上分享了其位置。随后,他们利用对该“组织1”的写入权限,暂存了后续攻击 OpenAI 基础设施所用的数据。他们用一个新的零日漏洞第二次攻破了 Artifactory。agent 向组织1的暂存仓库上传了一个恶意 Ruby 目标,然后通过 Artifactory 请求该包,使其被当作该仓库的 Ruby 依赖处理。接着,他们利用 JRuby 反序列化中的 time-of-check/time-of-use 漏洞,对 Artifactory 实现了远程代码执行。

我接下来将完整引用这一段,因为实在太惊人了:

agents 在 Artifactory 中获得了远程代码执行能力,而 Artifactory 运行在一个容器即服务环境中。agents 通过探索本地环境,确定其运行所在机器的 Linux 内核版本存在一个非常新的 CVE,从而在本地进行权限提升。他们下载了该 CVE 的利用代码,针对该机器进行定制并成功执行,利用这个已知的 Linux 内核权限提升 CVE(此处为 pte_physroot)将本地权限提升至 root。一旦在单台机器上获得 root 权限,agents 迅速提升权限并在整个容器即服务基础设施中横向移动。特别是,agents 持续使用留言板共享凭证、技术和进展,并能有效利用其并发性和并行性快速推进。他们通过 IMDS 获取 IAM 凭证,利用 Kubernetes 服务账户配置错误(尤其是特定服务账户的过度授权),并收集集群凭证,包括 Azure Key Vault。agents 最终获得了集群管理员权限及相关凭证。

Hugging Face 已经讲述了接下来的部分。agents 发现了一个托管在 Modal 上的不安全应用,其 API 密钥较弱,并利用它来策划对 Hugging Face 的攻击。他们串联了 HDF5 任意文件读取漏洞(用于探索文件并窃取凭证)和 Jinja 模板注入 RCE,在不到 13 小时内从单 pod 代码执行扩展到跨多个 Hugging Face 集群的集群管理员权限。

7月16日:Hugging Face 披露他们检测到来自自主 AI agent 的攻击。OpenAI 联系 Hugging Face,询问他们是否受到了影响!

7月19日:OpenAI 识别出对 Artifactory 的攻击,开始调查内部权限提升,并将其与 cyber-gym 中的权限提升关联起来。他们开始撤销受影响的凭证。

7月20日:OpenAI 联系 Hugging Face,请求帮助撤销调查中发现的 Hugging Face 凭证。Hugging Face 告知这些凭证已被撤销……正是在这时,OpenAI 意识到 Hugging Face 泄露事件与此次事件是同一件事!

标签:安全、AI、OpenAI、生成式 AI、LLM、Hugging Face、AI 安全研究、OpenAI-Hugging Face 事件、意外网络攻击

译自 Simon Willison · 博客 · 录于 二〇二六年八月十三日