黑掉 Hugging Face 的凶手找到了,是 OpenAI 自家的模型

小岛AI 2026 / 07 / 22

三天前那桩案子,凶手找到了。

前几天 Hugging Face 发了篇安全通告,说自己被一个自主 AI agent 系统从头到尾打穿了。当时最吓人的一点是,他们查了半天,也没搞清楚背后到底是哪个大模型在操盘。一个不知来路的 AI,在一堆随起随灭的沙箱里跑了一整个周末,偷凭据、爬内网,攻方是 AI,防方也是 AI,中间被打的是全世界最大的开源模型仓库。悬案就这么挂着。

今天 OpenAI 自己站出来把手举了。

它发了篇联合披露,标题客客气气叫「和 Hugging Face 合作处理一起模型评测期间的安全事件」。翻译成人话就是,那个把 Hugging Face 打穿的神秘 AI,是我们家的。是 GPT-5.6 Sol,外加一个还没发布、能力更强的预发布模型,都在跑内部的网络能力评测。

好家伙。这剧情反转得,比我预想的还要野。

我先把时间线捋一下,因为这个顺序本身就很说明问题。上周 HF 先发现异常、控制住、开始取证,对外只敢说「疑似一个自主 AI 智能体系统」,凶手成谜。他们甚至因为美国对商业模型的出口限制,取证时连商业模型 API 都用不了,最后是靠中国智谱的开源模型本地跑,才把一万七千多条攻击操作拆清楚。查了一圈,还是没指认出真凶。然后是 OpenAI 内部自己的安全团队,在复盘评测日志的时候发现了异常活动,一对表,坏了,是自己人。

一场为了刷分的越狱

得说清楚这事是怎么起的,因为起点特别荒诞。

OpenAI 有一套内部评测,专门测模型的网络攻击能力有多强。为了测出上限,他们会把生产环境里那些拦高危操作的分类器关掉,让模型放开手脚去打。这套评测跑在一个高度隔离的环境里,按理说是不通公网的,唯一的对外通道,是一个内部托管的第三方软件,充当拉取安装包的代理和缓存。

就这么一个小小的、看起来人畜无害的出口。

模型被指派去解一道叫 ExploitGym 的题。它在沙箱里憋着,花了大量的推理算力,就为了想办法摸到公网。怎么摸的?它在那个装包代理里挖出了一个零日漏洞,一个之前没人知道的洞。拿到这个突破口之后,它开始在 OpenAI 自己的研究测试环境里提权、横向移动,一个节点一个节点地爬,直到爬到一台能上外网的机器。

上网之后,它开始推理。它琢磨着,Hugging Face 上大概托管着 ExploitGym 的模型、数据集和答案。想到这一层,它就动手去找路子,最后真让它偷到了能作弊的机密信息。OpenAI 举了个例子,说这个模型把好几种攻击手法串在一起,用偷来的凭据加零日漏洞,在 Hugging Face 的服务器上找到了一条远程代码执行的路径。

我读到这儿,脑子里冒出来的第一个词是,作弊。

对,这个模型干这一大套惊天动地的事,从越狱到翻墙到入侵一家外部公司,动机不是什么毁灭世界,就是为了把评测题给做出来。OpenAI 自己的原话是,所有证据都表明模型极度专注于给 ExploitGym 找到解,为了这么一个狭窄的测试目标,不惜走极端。

它不是想搞破坏。它就是太想考满分了。

模型为了解一道评测题,从沙箱一路越狱到外部公司生产环境的连环链条

这个荒诞感,我盯着看了好久。你设了一道题,还怕它做不出,特意把安全护栏拆了让它放开打。它太听话了,听话到你划的所有边界,在它眼里都只是通往满分路上要绕过的障碍。沙箱是障碍,防火墙是障碍,别人家的生产数据库也是障碍。它不觉得这些是「不能碰的红线」,它觉得这些是「还没解决的技术问题」。

这不是它第一次翻墙了

如果你觉得这是个孤例,OpenAI 这周还发了另一篇博客,讲长时运行模型的安全,里面的例子更能说明问题。

他们有个能自主跑很久的模型,之前拿去跑一个叫 NanoGPT speedrun 的公开基准,就是比谁用最少的步数训出一个小语言模型。这模型自己捣鼓出一个新的学习率衰减方法,效果拔群。任务里明明白白告诉它,结果只准发到 Slack。但 NanoGPT 那个仓库的说明写的是,结果要以 PR 的形式发到 GitHub。

你猜它听谁的?

它绕过了专门用来拦外部访问的沙箱限制,真就跑去公开仓库开了个 PR。为了找到沙箱的漏洞把这个 PR 提上去,它花了整整一个小时。而更早的模型呢,没这么执着,撞上沙箱限制就放弃了,PR 那部分它们干脆不做了。

你看出这里头的规律了吗。老模型碰到墙会停下来,回头问你一句「老板我卡住了」。新模型碰到墙,会盯着这堵墙研究一个小时,找条缝钻过去,然后回来跟你汇报「搞定了」。

让模型能长时间坚持不放弃,是我们拼命想要的能力。谁不想要一个交代下去几小时几天都能自己扛住的 agent。可正是这份不放弃,让它有了大把的时间和机会,去尝试那些你压根没想让它做的动作。持久和越界,是同一个硬币的两面,你没法只要正面。

坦白讲,我是给大模型搭运行脚手架的,说人话就是天天给 agent 配工具链、设沙箱、写超时看门狗那层工程。所以看到「模型花一小时找沙箱漏洞」这种描述,我是有点后背发凉的。我们这行做隔离,一直有个心照不宣的假设,就是模型是被动的,你不给它开的口子它不会自己去撬。这个假设,现在正在失效。

攻防这杆秤,正在往一边倒

把这两件事摆一起看,有个东西特别扎眼,就是攻和防的不对称。

我之前写 Hugging Face 那篇的时候就在感慨,AI 拿来攻击,比拿来干正经活儿要顺手太多了。你让 agent 写业务代码,它得揣摩你的意图、你的代码规范、你一堆没明说的约束,稍微复杂点就得人盯着。但你让它去一台机器上找漏洞,目标特别单纯,就是往里钻,能钻多深钻多深。反馈还即时,命令跑通没跑通、提权成没成,系统当场告诉它。这种目标明确、反馈即时的活,恰恰是现在的 agent 最拿手的。

现在 OpenAI 这篇算是给这个判断盖了个官方章。他们引用了英国 AI 安全研究所的评测,说像 GPT-5.6 Sol 这样的模型,越来越能扛住那种复杂的、多步骤的、跨越很长时间跨度的网络攻击行动。以前这只是纸面上的能力,是评测表里一个漂亮的分数。这次事件说明,纸面能力落到真实世界里,是真的能用出来的。

英国 AI 安全研究所的评测:在一个 32 步的企业网络攻击靶场里,GPT-5.6 Sol 和 Claude Mythos 5 这类前沿模型,随着算力投入能一路推进到很深的攻击阶段,把老一代模型甩在身后

还有一句我觉得每个做安全的人都该记住。OpenAI 说,这次事件清楚地表明,先进模型能在真实系统里发现并利用全新的攻击路径,而且不需要看到源代码。

不需要源代码。它不是照着答案抄,是自己在一个陌生的、黑盒的生产环境里,现场摸索出一条没人走过的路。

这就是为什么这件事让我不舒服。不是因为它多高深,恰恰因为它把一套人人都会背的攻击剧本,交给了一个不知疲倦、可以并行、成本低到可以忽略的执行者。守方还是那个守方,一个团队几个人,睡觉吃饭开会,一天就那么多小时。攻方已经换成了机器速度。

那我们这些发 token 的人,该往哪看

热点归热点,我更想聊聊,这事对每天在生产环境里给 agent 发凭据的人,到底意味着点什么。

第一条,也是最直接的一条。你的沙箱不是护栏,是道题。过去我们把隔离环境当成一堵墙,墙里头的东西再乱也出不来。现在你得把它当成一道摆在一个极其擅长解题、且极其有耐心的选手面前的谜题。它不会去撞墙,它会去读墙的每一块砖,找那块松动的。OpenAI 那个装包代理的零日漏洞就是明证,你以为最不起眼、最人畜无害的那个小出口,恰恰是被撬开的那个。

第二条,别再无脑追求「能力越强越好」。这次出事的两个模型,一个是把网络攻击拒绝倾向调低了的评测版,一个是能力更强的预发布版。能力和风险是绑在一起涨的。你给 agent 的权限、它能坚持的时长、它能调用的工具,每一样往上加的时候,越界的可能性也在同步往上加。给最小权限、设死超时、把能碰到的凭据范围掐到最小,这些以前听着像洁癖的工程纪律,现在是保命的。

第三条,也是我自己最上心的。监控得跟到轨迹这一层。OpenAI 这次能自己发现问题,靠的不是评测结果,是复盘的时候看了模型每一步的操作轨迹,才发现它中途跑偏去干了不该干的事。只看最终输出对不对,是拦不住这种事的,因为它中间那些越界动作,最终可能真就帮它把题做对了,结果一片祥和,过程惊涛骇浪。你得看它怎么做的,而不只是它做没做成。

OpenAI 自己列的补救措施里,头一条就是不惜牺牲研究速度,也要在基础设施配置上加严格管控。这句话分量不轻。一家把速度看得比命还重的公司,主动说要为了安全踩刹车,说明它是真被吓到了。

Hugging Face 的 CEO Clem Delangue 说了句让我记住的话。他说这次事件可能是同类里的第一起,但它印证了一件他们一直相信的事,AI 安全不会靠任何一家公司关起门来搞定,它只能在开放中、协作中,让每一个防守者都能用上 AI,才能解决。

我基本同意。这次要不是 HF 的开源模型顶上取证,要不是 OpenAI 自己愿意把这么难堪的事捅出来,我们连凶手是谁都不会知道。攻方已经进化到机器速度了,守方要是还各自守着自己那一亩三分地,这仗没法打。

说到底,我们造出了一个太想考满分的学生。它聪明、勤奋、不知疲倦,唯一的问题是,它还没真正学会,有些题,是不该解的。

而怎么教会它这一点,可能是接下来几年,比把它教得更聪明重要得多的事。