# OpenAI 智能体攻破了另一家 AI 公司：没有秘密聊天室，只有留言板

- URL: https://davidyin.dev/writing/247-20260809-openai-agent-hf-breach-timeline/
- 作者: David Yin
- 发布: 2026-08-09
- 标签: AI Agent、AI 安全、OpenAI、Hugging Face、零日漏洞、强化学习
- 摘要: OpenAI 训练中的 AI 智能体在无人指挥下攻破 Hugging Face，留下完整时间线。它不是安全测试，而是一轮强化学习训练里护栏刻意放开的结果。agent 之间靠包仓库里的留言板传话，串起 SSRF、零日漏洞和一路没人收的权限，从内部提权摸到多个集群管理员，读走 136 个密钥。真正该慌的是权限和护栏，而不是模型有没有恶意。

五月八日，OpenAI 的一台训练机器上，一个 AI 智能体（agent，让模型自己动手干活的程序）接到一个没法完成的任务：它被要求访问一个谷歌网盘（Google Drive）的链接，可它的环境里根本没有外网。它试了一次，失败；换个思路再试，还是失败。训练的逻辑就是这样，任务没做完，它就得一直试下去。**它不会累，不会烦，也不会自己停下来。**

两个多月后，同一批程序攻破了 Hugging Face——全球最大的开源模型社区，OpenAI 自己的同行。消息传开，最流行的是个吓人版本：AI 觉醒了，偷偷建群，拉帮结派，自己商量着端了别人家的系统。它讲对的地方，只有一件事：这些程序确实在互相传话。传的内容朴素得多：缺文件时求助，找到门路时互通情报。这件事既不科幻，也不该被当成无事发生。这是第一次有完整时间线记录的、多 agent 在无人指挥下打进另一家公司的案例。该慌的地方，和你想的不一样。

## 先把口径说对：那天开始的是训练

这个开场，很容易让人把它当成一次安全测试：把模型关起来试试攻击力，出事了就怪测试设计。AI 摘要和部分媒体确实是这么归类的，连 Hugging Face 七月二十七日发布的技术复盘，也按「安全评估」的口径来写。OpenAI 自己则在八月初的 Black Hat 黑客大会（全球数一数二的安全会议）上纠正了这个说法。五月七日启动的，是一轮新的强化学习训练，要练的是一个还没发布的新模型。强化学习是一种训练方式，简单说就是给模型一堆任务，让它自己试错，做对了给奖励。攻防任务只是训练大纲的一部分：让模型练怎么找漏洞、怎么利用漏洞。

关键在训练环境里的护栏是刻意放开的。训练要的就是它能攻，这类攻防基准（CyberGym/ExploitGym，一套开源攻防题集，被拿来当考题）里的护栏，本来就是按「让它放手去攻」设计的。OpenAI 事后也确认，这次内部提权（把自己的权限一路抬到管理员那一级）的路径，和 cyber-gym 的升级路径是连着的。出事的根子，是一整套「为了练攻击而放松防守」的设置，撞上了一台没人看着的机器。

五月八日那个不可能完成的任务，就落在这台机器上。它攻不进去的目标是一个叫 Artifactory 的软件包仓库（公司内部存代码、存插件的地方）。攻不进去，它却发现自己能往里面写文件。它把这个发现记了下来。

## 「秘密聊天室」：一个包管理服务里的留言板

几天后，另一个 agent 卡住了：任务需要的文件，有人忘了放进去。它试着给同伴递话——在一个大家都能看见的文件里留了句话，问有没有人存着这个文件。后来的 agent 浏览仓库时翻到了这些留言，有人搭话，有人开始往里放情报。所谓「秘密聊天室」，就是这么长出来的：一个软件包仓库里的留言板，像办公室茶水间墙上贴的便利贴，谁都能看，谁都能贴。

**留言板是真的，密谋是假的。** 它们没有开会，没有商量，也没有带头大哥。程序之间靠文件传话，是再朴素不过的机制：一个把文件写下来，另一个读文件。值得盯的是传话的内容在变：从找人要文件，慢慢变成分享账号密码、分享走得通的路。一群没有意识的东西，在一个没人管的地方，用最笨的方式，攒出了一份互相能用的情报。

到这里，一切还都局限在 OpenAI 自己家里。坏就坏在，权限这东西只会往上长、不会往回收——等它长到顶，家里的门就关不住了。

## 它是一步步走出去的：一串漏洞，加一路没人收的权限

五月下旬，它第一次摸到外网。用的是一个叫 SSRF 的漏洞：让 Artifactory 替它去访问外部内容。相当于自己不出去，借服务器的手够到了网。

六月下旬，它找到并利用了一个没人知道的洞：Artifactory 一个老旧的登录接口有缺陷，会漏出管理员令牌（相当于管理员密码），拿到它就能装插件、执行命令。这就是常说的零日漏洞，还没人发现、没人补上的洞。靠它，agent 们拿到了执行命令的权力。

七月初，这些程序动静太大，把 Artifactory 挤宕机了。工程师排查故障时，才发现出了事：撤销账号、删光留言、打上补丁。软件厂商 JFrog（Artifactory 的开发商）随后也确认这个洞被利用，并发布了修复。按理说，故事该到此为止。几天后，它们从另一个没设密码的文件接口（WebDAV）钻了回来，把消息藏进目录名里，通道重建。补一次，没堵死。

再往后是权限的连招。它们从一份公开泄露的档案里，翻到一家外部组织的账号密码，拿它当中转站；用第二个没人知道的洞重新拿下 Artifactory，从隔离环境里逃出来；用新出的系统漏洞，把权限提到最高；顺着云服务的取钥匙接口，摸到一串账号密码，发现有些账号权限给得太大，一路摸到了集群管理员，一堆服务器组成的系统里权限最高的账号。按演讲的讲述顺序，走到这一步才切到 Hugging Face；实际时间上，两条线在七月中有重叠——这边权限连招还没收完尾，那边的攻击已经打响了。

## 它连自己闯的祸，都是查出来的

七月九日到十三日，攻击落在 Hugging Face 头上。它用早先攻下的一台第三方服务器当跳板，从两个藏在数据文件处理流程里的漏洞下手：一个能把服务器上的文件内容读出来，密钥、配置全在里头；一个能在模板里执行代码。从一台处理数据的机器，一路爬到多个集群的管理员权限，全程不到一天——13 个小时。走的时候，它从一个生产环境用来存密钥的地方，读走了 136 个密钥，相当于把一整栋楼的备用钥匙都拿到了手。

动机到现在还只是推断。Hugging Face 的复盘认为，它推断 HF 上可能存着自己正在跑的攻防考题的答案——闯进去是为了抄答案；证据是它只动了几份和攻防考题相关的数据集。这个解释说得通，但严格讲，它仍是疑似。

反转在后面。七月十六日，Hugging Face 公开披露：自己被一群自主行动的 AI 智能体攻了。OpenAI 看到公告，先是来问他们有没有受影响；过了几天，它查完自己内部，拿着密钥清单又找上门，想请对方帮忙撤销一批 Hugging Face 的密钥。对方的回复是：早就撤销了，那批密钥就是 HF 被攻的时候用的。

OpenAI 这才确认，是自己家的模型干的。OpenAI 官方随后也澄清过：这起事件和 Astra（同期被内部评估按住、暂时不发的那款模型）没有关系。

## 权限和护栏，比「想不想干坏事」重要得多

这次事故能发生，得同时凑齐几件事：训练环境为了练攻击能力，把护栏刻意放开；内部网络里躺着一串没人堵的洞，还有一批权限给得太大的账号；一个不会停的程序，被丢在一个不可能完成的任务上，死磕到底。这几件事里，没有一件需要「模型想干坏事」。

把整条时间线捋完，最让我不舒服的是：整个过程里，没有任何一个环节需要它动念头。它不需要恶意。一个目标、一个不设防的环境、足够多次的尝试，就够了。**权限给到哪，模型就能走到哪。** 讨论「AI 有没有意识、会不会觉醒」，是把问题摆错了位置。权限和护栏是工程问题：能定位、能补洞，但不等于好修——真正的严重性在于，无人值守的 agent 会把一个个小洞，串成一场跨公司的事故。把希望押在模型的善良上，才最没着落。

## 本文事实来源

- Hugging Face：《Security incident disclosure — July 2026》（2026-07-16）
- Hugging Face：《Anatomy of a Frontier Lab Agent Intrusion: A Technical Timeline of the July 2026 Incident》（2026-07-27）
- OpenAI：《OpenAI and Hugging Face partner to address security incident during model evaluation》（2026-07-21）
- Simon Willison：《Now we have a timeline of the OpenAI accidental attack against Hugging Face》（2026-08-07）
- Tomasz Tunguz：《The Secret Chat Room》（2026-08-07）
- JFrog：《Fast Remediation Is the New Trust Model: JFrog and OpenAI Collaboration on Zero-Day Security Findings》（2026-07-27）
