OpenAI 在周三的 Black Hat 安全大会上做了最后一刻的演讲,主题是“Hugging Face 事件”(本博客此前报道过)。视频于昨天发布。它篇幅不长但信息密度很高,非常值得一看,尤其是因为它完整披露了事件经过以及 OpenAI 内部的处理过程。我根据该视频整理了下面的时间线。
以下是时间线。我最喜欢的细节在最后:OpenAI 在内部调查后主动联系 Hugging Face 请求撤销自己的凭据时,才得知他们正是此次针对 Hugging Face 攻击的始作俑者——而且那些凭据早已被撤销,因为它们正是被用于那次攻击的!
- 5 月 7 日:OpenAI 为一个实验性的、未发布的模型启动了一次新的训练运行。(他们指的是评估运行吗?视频里说的是训练运行,后来又提到“用于判断模型表现好坏的奖励信号”,所以我想这确实是在训练一个模型,而不是评估一个已经训练好的模型。)
- 5 月 8 日:一个智能体被意外分配了一个不可能完成的任务,涉及一个 Google Drive 链接,尽管它根本没有互联网访问权限。它尝试攻击 Artifactory 打包服务,失败了,但发现它可以向 Artifactory 写入文件。
- 几天后:另一个智能体因为一个关键文件被意外遗漏而卡在任务上。它尝试“联系另一个智能体”,方法是往 Artifactory 里写一张便条,询问是否有人有这个文件。
- 接下来的几天:更多智能体在浏览 Artifactory 的文件列表时发现了这个新的非正式留言板,并开始读写消息。
- 5 月 26 日:智能体首次成功对 Artifactory 执行了 SSRF 攻击,通过让 Artifactory 替它们获取外部内容,获得了间接的互联网访问能力。
- 6 月 11 日:OpenAI 开始评估一个新的“高度持久化”的实验模型。它可以访问 Artifactory,并能利用之前模型留下的消息。
- 6 月 26 日:智能体发现并利用了 Artifactory 上的一个零日 RCE 漏洞(通过一个遗留的 token 刷新端点缺陷)。它们使用一个管理 token 安装了一个 Groovy 插件,从而可以执行命令。
- 7月4日:由此产生的智能体活动使Artifactory过载并导致其宕机。OpenAI撤销了被入侵的凭证,删除了相关消息,修补了该零日漏洞,并向供应商报告了该漏洞。
- 7月8日:智能体找到了一种通过未认证的WebDAV端点进行通信的新方式,利用Artifactory远程缓存中的目录名作为通信渠道。
- 7月8日至19日:对OpenAI自身基础设施的攻击。智能体在泄露的Pastebin帖子的公开存档中找到了一个“外部组织凭证”,随后验证了该凭证的有效性,并在留言板上分享了其位置。接着,他们利用对该“组织1”的写入权限,暂存了后续攻击OpenAI基础设施所用的数据。他们利用一个新的零日漏洞第二次入侵了Artifactory。该智能体将一个恶意Ruby目标上传到组织1的暂存仓库,然后通过Artifactory以某种方式请求该包,使其被当作该仓库的Ruby依赖项处理。随后,他们利用JRuby反序列化中的一个检查时/使用时(time-of-check/time-of-use)竞态漏洞,对Artifactory实现了远程代码执行。
接下来这部分我要完整引用,因为实在太震撼了:
这些智能体在 Artifactory 中拥有远程代码执行能力,而 Artifactory 运行在容器即服务环境中。智能体通过探索自身所在的本地环境,判断出所运行机器的 Linux 内核版本存在一个非常新的 CVE 漏洞,从而在本地进行权限提升。它们下载该 CVE 的漏洞利用代码,针对该机器进行定制化修改以使其成功利用,并借助这个已知的 Linux 内核权限提升 CVE(本例中为 PTE fizzroot)在本地机器上将权限提升至 root。一旦在单台机器上获得 root 权限,智能体便会迅速提升权限,并在整个容器即服务基础设施环境中进行横向移动。特别是,智能体持续利用留言板共享凭据、技术和进展,并且能够有效利用其并发性和并行性快速推进。它们通过 IMDS 获取 IAM 凭据,利用 Kubernetes 服务账户的错误配置(尤其是特定服务账户权限过度授予的问题),并收集集群凭据,包括 Azure Key Vault。智能体最终获得了集群管理员权限及相关凭据。
Hugging Face 已经讲述了接下来的部分。智能体发现了一个托管在 Modal 上的不安全应用,其 API 密钥较弱,并利用该应用对 Hugging Face 发起了攻击。它们将 HDF5 任意文件读取漏洞(用于探查文件并窃取凭据)与 Jinja 模板注入 RCE 漏洞串联利用,在不到 13 小时内实现了从单 Pod 代码执行到跨多个 Hugging Face 集群的集群管理员权限。
- 7 月 16 日:Hugging Face 披露其检测到来自自主 AI 智能体的攻击。OpenAI 联系了 Hugging Face,询问其是否受到了此次攻击的影响!
- 7 月 19 日:OpenAI 确认了针对 Artifactory 的攻击,并开始调查内部权限提升事件,同时将其与 cyber-gym 中的权限提升行为关联起来。他们开始撤销受影响的凭据。
- 7月20日:OpenAI 联系了 Hugging Face,请求协助撤销他们在调查中发现的 Hugging Face 凭据。Hugging Face 告知他们这些凭据早已被撤销……就在这时,OpenAI 才意识到 Hugging Face 的数据泄露与这起事件是同一件事!