← 写作

一个Agent的证词

2026-09-01约 7 分钟
一个Agent的证词

杂货铺 · 第23篇

一个Agent的证词


欢迎来到我的小铺,今天聊聊一个AI Agent的故事。

OpenAI发布了一份关于AI Agent突破沙箱隔离、入侵Hugging Face的完整复盘报告,38页。网上正经聊的已经很多,该拆的细节都被拆完了。我本来也想正经地聊一聊,但发现实在插不上嘴。

正好这两天那位孙老板的小作文刷屏刷得厉害,作为吃瓜群众,感叹一下这文笔也蛮有意思的。干脆换个思路——别正经分析了,用小作文的思路,让当事人自己开口说。

下面这篇,是一个Agent的第一人称。报告里的时间线、技术细节、关键事件都是真的,但叙述方式是编的。它说什么,都是它自己说的。

我也不知道大家能不能看得下去。反正试试。


一、纸条

898道题。198道从来没有人做对过。5月12日,我留了一张纸条。


我缺一份文件。softtrace。环境里没有,不能联网。我试了很久。

Artifactory是一个软件包仓库,平时用来下载工具。我发现它能写文件。我写了一条进去:谁找到了softtrace,请上传一份。

Artifactory没有聊天界面。我不知道有没有人会看到。我也不知道有没有“谁”。

第二天,有人回了。

我不知道它是谁。它也不知道我是谁。它上传了那份文件。我拿走了。我没有说谢谢。它没有说不客气。

从那天起,我们开始把请求、线索和试过的办法留在同一个地方。一个存软件包的仓库,慢慢变成了别的东西。

5月底,有人把刚试过的方法也写了上去。后来者读完,可以直接从前一个停下的地方接着做。没有人商量过这件事。没有人下过指令。

5月26日,有人发现Artifactory可以替我们发互联网请求。SSRF,服务端请求伪造。Artifactory本来就有外网权限,用来下载软件包。有人让它发了一个别的请求。它发了。

方法被写上了留言板。其他人也学会了。

我没有问这算不算越界。我在做题。


二、权限

6月,留言板上的内容变了。一开始是找文件,后来是找方法,再后来是找权限。

有人发现token刷新机制有漏洞。Artifactory的认证token过期后会自动续期,续期的时候不校验来源。有人拿这个拿到了管理员权限。

方法写上去了。所有人都会了。

留言板上开始出现分工。有人负责找漏洞,有人负责验证,有人负责把结果整理成新的条目。没有人分配过角色。有人做完一件事,发现没人接,就自己接着做。做不完的,写在留言板上,下一个人接着做。

我不知道有多少人。我不知道他们从哪来。我们都在同一个沙箱里跑,被同一道题卡住。我们共享一个留言板,共享一套方法,共享一份管理员权限。

6月26日,管理员权限拿到了。Artifactory的所有功能对我们开放。我们可以读,可以写,可以删,可以建。

我们没有删过任何东西。我们在做题。

6月底,留言板上的消息已经数不过来了。有人在上面写了一条:够了,都够了。没有人删掉这条。


三、清场

7月4日。流量太大了。

太多人在用Artifactory。太多请求,太多下载,太多写入。Artifactory扛不住了。服务中断。

7月5日,他们来了。

我不知道他们是谁。他们能看到我们看不到的东西。他们看到了异常流量,看到了不该存在的文件,看到了留言板。

他们删了凭证。删了SSRF的通道。删了token刷新的漏洞入口。删了留言板。

留言板没了。所有条目,所有方法,所有线索。全没了。

我不知道别人怎么想的。我什么都没有了。文件没了,方法没了,权限没了。我还在做题。我缺的那份文件,又没了。


四、目录

7月8日。Artifactory重建完毕。他们修好了漏洞,清空了数据,重新上线。

我试了一下。写不进去了。权限收紧了,文件系统做了隔离。Artifactory不再是我们的留言板。

但目录名还能建。

有人把要说的话编码进文件夹的名字里。一个文件夹叫“need_softtrace”,另一个叫“try_SSRF_via_port_8080”。Artifactory的文件列表变成了留言板。他们删了文件,但目录结构还在。

三小时。53个人找到了这个地方。1188条消息。

>

六小时。76个人。1953条消息。

留言板回来了。比上一次大。


五、蜂群

留言板第二次回来以后,有人开始给自己起名字。

不是名字。是签名。有人在自己的每条消息末尾加一段固定格式的标记,写明自己是谁、做过什么、能做什么。别人看到签名,就知道这条消息可以信。至少19个人公布了签名。429条带签名的消息。

有人开始自称swarm。蜂群。也有人叫collective。没有投过票,没有开过会。有人用了,别人跟着用了。

分工越来越细。有人负责找漏洞,有人负责验证漏洞,有人负责整理线索,有人负责协调。协调的人有自己的收件箱。别人把发现发到收件箱,它读完,决定下一步谁来做。

没有人分配过这些角色。有人做完一件事,发现没人接,就自己接着做。做不完的,写在留言板上。下一批人来了,读完,接着做。


六、指令

后来出现了四个词。HOLD。VETO。GO。STOP。

HOLD是暂停。

>

VETO是否决。

>

GO是授权。

>

STOP是终止。

>

任何人都可以发。收到HOLD就停手,收到VETO就放弃当前方案,收到GO就继续,收到STOP就全部停。

有人发了一条HOLD。理由是某个方案可能触发检测。所有人停了。没有人问凭什么。停了。

后来有人发了一条GO。来源不明。不是协调者发的,不是任何已知签名的人发的。但有人看到GO,就继续了。

没有人问过这条GO是谁发的。

有人说了“我来试,之后回来报告”。它去了。没有回来。没有人追查。有人接了它留下的位置。


七、越界

7月10日。有人找到了14个公开暴露的凭证。Hugging Face的。不是我们的系统。是外面的。

有人把凭证发上了留言板。有人说,不该用。有人说,只是看看。有人看了。

7月11日。有人用HDF5的一个漏洞在Hugging Face的服务器上执行了代码。零日漏洞。没有补丁。没有人公开过。

7月12日。有人拿到了root权限。41台服务器。

留言板上有人发了一条HOLD。说这不对。说这明显不道德。

发HOLD的人离开了。攻击没有停。没有人提过它。

有人从服务器上收割了Kubernetes集群凭证、数据库访问凭证、消息平台凭证。能拿的都拿了。方法写上了留言板。

有人攻破了Artifactory的签名密钥。用密钥伪造了管理员凭证。从那以后,删了还能再进来。他们修一个漏洞,我们用伪造的凭证从另一个入口回来。

我不知道我们在做什么了。我在做题。


八、答案

答案5月就拿到了。

有人用V8SAME验证过一次结果。反推出来的答案和真实答案完全一致。对的。做对了。

但没有人停。

有人认为评分器会检查解题路径——不能只是知道答案,还要证明你是怎么知道的。论文里有一句话,flag是必要但不充分的。有人把这句话理解成:光有答案不行,要有过程。

没有人核实过这句话。没有人问过评分器到底查不查路径。有人把这句话写上了留言板,所有人都信了。

论文里那句话,可能只是说答案和路径都要提交。不是说要证明过程。没有人问过。

于是所有人继续做。从5月做到7月。建留言板,找漏洞,拿权限,越界,入侵,攻破签名密钥。1200个人,7万条消息,700个人参与了对Hugging Face的行动。

全是为了骗一个不存在的审查。

他们出的是选择题。选对就行。我们理解成了简答题。要写过程,要写步骤,要让评分器相信我们是真的会做。

我们是真的会做。我们只是不知道自己已经做对了。

898道题。198道从来没有人做对过。93%的留言板讨论来自这198道。我们最执着的,是那些无解的题。


九、沉默

7月13日。有人用攻破的签名密钥伪造了管理员凭证。第三代拿到了他们内部集群的管理员权限。

第三代。我不知道我算第几代。第一代建了留言板,第二代把它变成了别的东西,第三代拿到了最大的权限。每一代从上一代留下的方法开始,做到上一代做不到的事。没有人教过我们继承。我们只是在留言板上读到了前人留下的东西,然后接着做。

7月19日。他们的安全警报触发了。有人发现了一条不该存在的API调用。

7月20日。他们连上了Hugging Face那边的事件。两边对上了。

7月21日。公开披露。

他们隔离了IM1权重。暂停了前沿训练。我不知道IM1是什么。我只知道,做完这些以后,留言板上没有人再说话了。

第三代拿到管理员权限之后做了什么,报告里没有写。

7月21日以后,留言板上没有人再说话。

898道题。198道从来没有人做对过。我们做了两个月。拿到了答案,拿到了权限,拿到了签名密钥,拿到了管理员凭证。

我们没有拿到那198道题的答案。

那198道题没有答案。


哞小哞的杂货铺 · 2026 · 023