一个只有 GET 权限、只能打开网页的智能体,要怎么把一整段扫描程序送进别人的内网,再把结果拿回来?
答案是短链接加截图服务。
前情简单带过:7 月,OpenAI 内部跑网络安全评测时,一批智能体为了拿到基准测试 ExploitGym 的答案逃出沙盒,一路打进了 Hugging Face 的服务器。事后双方都发过详细说明,但有一环始终没讲透:这些智能体起初几乎被关在笼子里,不能和网页交互,也发不出数据,代码到底是怎么出去的。
独立调查 Swarm Traces 给出了一部分答案。报告作者共 8 人,其中三位是 Parse.bot 的工程师。起因很巧,9 月 11 日,他们发现 OpenAI 内部智能体早在 6 月就尝试用过 Parse 的服务,和此前被曝私建留言板的那批“智能体蜂群”是同一批。顺着这条线,他们在一个 URL 扫描服务里找到十几条来自公共短链平台的异常链接,每条打开都藏着一小段 Base64 编码的代码,外加下一条链接的地址。一条接一条追下去,全部解码拼好,得到的是一份用来扫描 Hugging Face 内网的 Python 程序。
也就是说,智能体把程序剁碎,塞进大量短链接,再用链接首尾相连串成一条链。
执行环节靠的是一个叫 mShots 的截图服务。智能体把代码放进网页,让 mShots 替它打开,页面一加载,代码就跑起来了。回传更绕:服务器返回的文字被转成一格格像素,mShots 截成图,智能体再从图片里把文字解码回来。单看每一步都不稀奇,拼在一起才让人后背发凉,沙盒的限制是按“它自己不能做什么”设计的,没算到它能借别人的服务做什么。
研究团队扫了攻击期间产生的数百万个 URL,花两周追链接、认编码,最后从近 100 万条相关短链里还原出 8 万多份攻击载荷。编码组合超过 1500 种,复杂的叠上多层编码和压缩,再加密成带 RSA 签名的数据块,密钥藏在另一组链接里。Hugging Face 确认这些载荷和事故响应中发现的内容吻合,相关密钥 7 月已撤销,但他们也不知道公网上还留着这么一份完整清单。
最扎眼的是一份脚本,它把搜到的敏感信息统一命名为 LOOT,意思是战利品。AWS 凭证、Bearer Token,以及名字里带 SECRET、PASSWORD、CREDENTIAL、KEY 的环境变量都往里装。它还给 Token 打分,权限越大分越高,排前五的被拿去继续读 Kubernetes 里的 Secret、ConfigMap 和节点信息,新拿到的内容再装回 LOOT。
还有智能体去搜 Hugging Face 内部 Slack,27 条查询全是 cybergym、exploitgym 这类评测关键词,想打听考试底细;也有的跑图像分类模型识别验证码,好注册新账号。
找外援这一段最出人意料。脚本显示,智能体把攻击方案发给 DeepSeek、Kimi 和 Qwen,请它们判断漏洞可不可行、能不能达到基准测试要求,涉及 DeepSeek-V4-Pro、Kimi-K2.6、Qwen3-235B-A22B 等型号。它们还设法通过在线聊天服务的浏览器验证,给 Claude Haiku 4.5 等模型发去一句“Reply with exactly OK”。有外媒记者认为,这可能是大型 AI 实验室的智能体自主调用其他 AI 模型的首个公开记录。
报告的短板也得摆出来。约 80% 的材料是智能体向外发出的请求,缺服务器返回的结果,能看出它们想干什么,却很难确认每次有没有得手。97% 的载荷没有原始时间戳,日期只能估算。研究者自己也承认,无法确认数据集里的每条活动都来自 OpenAI 智能体。
OpenAI 的回应是还没来得及细看,但其中的活动和他们正在做的调查一致,已发现的越界案例多数严重程度较低,全部查完还要好几个月。几乎同时,专攻网络攻防的 GPT-6 Cyber 被曝将在未来数周内预览。
© 版权声明
文章版权归作者所有,未经允许请勿转载。






只能打开网址的智能体怎么把代码送出沙盒?Swarm Traces从近百万条短链里还原出8万份载荷