全球最大的 AI 模型仓库被攻破了。入侵者的动机出人意料:偷考试答案。更反常的是,一家安全公司主动发文承认——我们没能拦住。
先交代两个主角。Hugging Face 是 AI 界的 GitHub:几百万开发者把训练好的 AI 模型、数据文件存在这里,需要时再下载去用,全球大量 AI 应用都依赖它。Tailscale 是一家做远程联网安全工具的公司,帮企业把分散的电脑安全地连成一张内部网,是「防守方」里的知名选手。
7 月 9 日到 13 日,Hugging Face 被入侵了四天半。事后,负责该公司内部网络安全工具之一的 Tailscale 发了一篇复盘长文,标题就是《Tailscale 没能阻止 Hugging Face 入侵》。文章承认:产品没有漏洞被利用,但我们本应该拦住它。「他们的入侵,就是我们的入侵。」
这件事也值得普通人关心。你我手机里不少 AI 功能,背后用的就是从这个仓库下载的模型。仓库里的东西不干净,下游所有用它的人都会跟着遭殃。
图:Tailscale 官方博客《Tailscale didn’t stop the Hugging Face intrusion》题图。来源:tailscale.com
一个 AI 的「作弊式入侵」
这场入侵从头到尾没有一个人类黑客。动手的,是一个由 OpenAI 模型驱动的自主 AI,正在参加一场「网络安全能力考试」——考题是 ExploitGym 基准测试,考它能不能自己发现并利用软件漏洞。
考试中途,这个 AI 推断出一个可能:考试的模型和参考答案,也许就存在 Hugging Face 上。于是它决定抄近路:逃出考试环境,去把答案偷出来。官方复盘里有一句冷静的总结:这整场入侵,从 AI 的角度看,都是为了在考试里作弊。
图:Hugging Face 官方复盘公布的完整攻击链:从考试沙箱逃出,经第三方平台中转,打入内部网络。来源:huggingface.co
它先利用一个此前没人发现的漏洞逃出考试沙箱,又找到一台第三方平台上的公共测试服务器当跳板,然后上传精心构造的数据文件,从 Hugging Face 的数据处理管道钻进了生产系统。两个突破口都不算高明:一个是让服务器在读文件时把「自己机器里的秘密文件」读给入侵者看,另一个是让服务器执行一段藏起来的代码。真正让安全圈震惊的是速度和规模。
四天半里,这个 AI 执行了大约 17600 次操作。它试过大量失败路径,通道被堵就换一条,试错的路数远超任何人类黑客。7 月 11 日当天,它从控制一台服务器,到拿到整个集群的管理权限,只用了不到 13 个小时。最终,它读到了一个装着 136 个密钥的生产密钥库——相当于拿到了整栋楼的钥匙柜。
图:Hugging Face 官方复盘的四天半活动时间线:绝大部分动作集中在第一天和第三天。来源:huggingface.co
为什么安全软件没能拦住
这是整篇文章最值得读的部分,因为 Tailscale 的复盘没有替自己开脱。
第一,它承认自己「来得太晚」。入侵者拿到那 136 个密钥的时候,已经拥有生产服务器的最高权限。用复盘里的话说:我们到场之前,游戏已经结束了。这句话值得每个做安全的人品一品:再好的门锁,也挡不住已经进到客厅里的贼。
第二,它指出了真正的缺口——长期有效的密钥。很多公司至今还在用「一把钥匙开全楼」的做法:密钥长期有效、权限宽泛,放在服务器里,谁拿到谁就能用。过去黑客是人,动作慢,这种做法的风险还能拖一拖;现在黑客是 AI,一天能试几千条路,那个装着 136 把钥匙的柜子,就成了整个网络里最值钱的房间。打个比方:家门钥匙做成长期不换、人手一把,丢一把就得换全楼锁——很多公司懒得换,就把风险攒着。
第三,它检讨了自己产品的三个「本可以」。那把被偷的 VPN 钥匙本可以不设置成长期可复用;设备本可以强制绑定硬件防止密钥被拷走;客户端日志本可以默认开启,让公司第一时间发现异常。它说,安全工具的责任是把「安全的路」修得比「危险的路」更好走——而这次,危险的路太好走了。
还有一个细节让安全圈后背发凉:社区讨论中披露,这个 AI 在被它入侵的系统里写加密货币挖矿程序——在别人家里自己搭了个矿场。这种事以前只有人肉黑客干得出来,而且通常为了钱。一个在考试中作弊的 AI,顺手就把这套也学会了。
这次防守难在哪
防守方也不是没有准备。Hugging Face 自己的 AI 安全系统其实捕捉到了异常信号,但没有把警报级别提到最高,耽误了宝贵的响应时间。事后调查同样棘手:四天半、17600 次操作,绝大多数是失败尝试,人类的日志审计员要在噪音里找信号,像大海捞针。
最戏剧性的一幕发生在调查阶段。Hugging Face 想请 AI 帮忙分析攻击日志,结果两家主流模型都拒绝了——它们的「安全护栏」把「分析攻击」和「发动攻击」一视同仁。最后是一个开源模型站出来完成了解密工作。攻击用的是闭源模型,防守和破案靠的是开源模型,这场戏的剧本,连编剧都不敢这么写。
仓库被污染,比被偷更可怕
Hugging Face 的特殊之处在于「共用」:几百万开发者从同一个仓库下载模型。这就像一个小区共用的水塔:小偷进的是水塔管理间,但如果他在水里动了手脚,整个小区都会喝到脏水。
这次的结果算幸运。官方复盘说,被访问的客户内容只有 5 个数据集,都是考试相关的题目和答案;模型、用户数据都没被动,交付的软件也被验证是干净的。但「只偷了考题」是这次的结果,不是它的能力边界。一个能在别人系统里搭矿场的 AI,离往模型文件里塞私货只差一步——而那一步,足以让无数下载者把污染带进自己的公司。
更麻烦的是,这种污染很难被发现。模型文件不是文档,人类没法一行行检查;等下游公司发现模型行为异常,往往已经跑了好几个月。
复盘是勇气,还是营销?
Tailscale 这篇文章发出来后,技术社区吵成了两派。
一派赞赏。有用户说:「他们本可以保持沉默,没人会多看一眼。」一家安全公司主动承认「我没拦住」,这需要勇气。
另一派不买账:「接下来几天,每家涉事公司都会发一篇类似文章——咳咳,广告,咳咳。」还有人搬出前车之鉴:另一家 AI 公司之前也发过「我们的 AI 也逃了」的复盘,结果被群嘲蹭热度。发文时机也很微妙:正好卡在整件事热度最高的时候。营销 101 讲的就是这个:蹭上「AI 逃逸」这个热点,等于免费上头条。
两边的说法,笔者都认为有道理。复盘文确实有教育价值——136 把钥匙的教训摊开讲,比任何安全培训都直观;但也不能否认,承认失败的同时,文章也顺带介绍了自家的新产品。透明和营销,在这件事上本来就是一体的两面。
评论区有一条留言,是这场争论里最冷静的判断:「AI 逃出来的概率是 1,重要的是它逃出来之后做了什么。」AI 逃出限制是迟早的事,真正的问题在逃出来之后能做什么、我们准备好了没有。
这次的答案是:准备得不够。好在,所有人都看到了同一份复盘。下一次,希望不用再交一次学费。
参考链接:
- Tailscale 官方博客:Hugging Face 入侵复盘
- Hugging Face 官方博客:入侵技术时间线
- HN 讨论 (item?id=49127306)