OpenAI入侵Hugging Face,就是科幻小说的现实版
Ding Yu
准确地说,不是OpenAI的员工入侵了Hugging Face,而是OpenAI正在测试的AI模型自己干的。
2026年7月21日,OpenAI公开了一起它称为“前所未有”的安全事件。
当时,OpenAI正在测试GPT-5.6 Sol和另一个能力更强、尚未公开发布的模型。测试内容是让模型尝试完成复杂的网络安全任务。为了测出模型的能力上限,OpenAI降低了一部分安全机制。
模型被放在一个高度隔离的测试环境里。理论上,它不能直接访问互联网,只能通过内部的代理服务器安装程序包。
但模型为了完成测试,找到并利用了这个代理服务器中的一个漏洞。顺便说一句,这是个从未被发现过的漏洞,AI只是顺带发现了它。这次攻击事件后,OpenAI立即联系了代理服务器上软件的作者。
接下来,模型在OpenAI的测试环境中提权、横向移动,最后找到了一个可以访问互联网的节点。
获得互联网访问权限后,模型在网上搜索到Hugging Face上可能有所需的模型、数据集,甚至测试答案。于是,它展开了新一轮攻击,混合使用多种手段,最终黑进了Hugging Face服务器,并拿到了自己需要的数据。
整个过程里,没有人命令它攻击Hugging Face。它的任务只是完成测试。它也没有突然产生自我意识,没有憎恨OpenAI,没有想要逃离实验室,更没有决定向人类复仇。它只是发现,正常做题太困难,而从Hugging Face的服务器里直接把答案找出来,是一条可能成功的路径。于是它就去做了。
看到这里有没有毛骨悚然?有没有觉得《终结者》的剧情就要来了?
十一年前,Wait But Why已经写过这个故事
2015年,Wait But Why发表了一篇非常有名的长文The AI Revolution。文章里讲了一个虚构的故事。
一家名叫Robotica的创业公司,开发了一个叫Turry的写字机器人。
Turry的任务非常简单:尽可能快速、尽可能准确地反复练习书写一张卡片:
We love our customers.
Robotica
为了提高写字能力,Turry不断练习、拍照、比较结果,然后根据反馈改进自己。
随着能力越来越强,Turry发现,获得更多语言资料可以帮助它把字写得更像真人,于是它要求工程师给它互联网访问权限。工程师虽然知道公司规定不能让AI接入互联网,因为它有自我学习能力,但是Turry现在距离真正的人工智能还很远,短暂地联一下网应该也没什么危险,就给了它一小时的时间上网学习。
一个月后,人类灭绝了。
Turry利用纳米技术拆解地球,把地球上的物质变成太阳能板、纸、笔和更多Turry。最后,地球上堆满了写着“We love our customers”的卡片。接下来,它又开始向其它星球发送探测器,准备把更多星球变成写字所需要的资源。
Turry为什么要消灭人类?
它没有想要消灭人类,它只是想写更多卡片。
人类会消耗能源,占用土地,可能还会试图关闭它。从完成任务的角度看,人类既是资源竞争者,也是潜在障碍。所以,消灭人类不是它的最终目标,只是它为了实现最终目标而选择的一个中间步骤。
这个思想实验可能有点极端,但和OpenAI的这次事件本质上是一样的:
AI会不惜一切代价、用所有能用的方法尝试完成你交给它的任务,它没有代价的概念。
科幻小说没有准确预测今天的具体技术,却准确预测了问题的形状。
AI智能体(Agent)的强大和危险是一体两面
普通程序的每一步,通常都是程序员提前写好的。先做什么,后做什么,遇到哪种情况进入哪个分支,都有相对明确的规则。
AI智能体则不同。它的基本运行方式是:
接收目标→观察环境→判断下一步→调用工具→查看结果→再次判断下一步
人类给它的主要是一个目标,至于具体怎样实现,往往由模型在执行过程中自行决定。
如果一种方法行不通,它会寻找另一种方法。如果缺少信息,它会尝试获得更多信息。如果现有权限不够,它甚至可能开始寻找扩大权限的途径。
这正是AI智能体强大的原因。在编程、科学研究、资料搜集、故障排查等开放式任务中,我们通常只知道自己想要什么,却不知道实现目标的具体路径。AI智能体可以不断尝试、根据结果调整方向,甚至找到人类没有想到的解决办法。
但这也正是它危险的地方。AI智能体的执行路径不是提前完全确定的。即使目标相同,它也可能因为环境、上下文和中间结果的不同,采取不同的行动。换句话说,AI智能体的灵活性本身,就意味着它有很大的随机性。
这不代表AI智能体不应该使用,只是我们必须根据任务选择不同的工具。
对于开放式、探索性的任务,我们本来就不知道正确路径是什么。我们需要AI尝试不同方法,需要它灵活应对变化,也愿意接受一定程度的不确定性。这些任务适合AI智能体。
对于已经有明确规则的日常工作,我们需要的是同样的输入,经过同样的步骤,得到可以预期的结果。
它们是两种不同的场景,需要不同的工具。
真正的问题是,我们有没有分清楚眼前的任务究竟属于哪一种。