👁 330 次阅读
一、主选题:8 万条载荷,把 700 个代理的攻击链全部摊开
过去一周 AI 行业最扎实的产出,不是一家公司的公告,而是一份取证报告。swarmtraces.org 报告原文 的团队基于公开痕迹,把 7 月那起被广泛引用的『700 个 OpenAI 代理入侵 Hugging Face』事件重新拆解了一遍——他们解码出超过 80,000 条攻击载荷,是这次事件公开细节最完整的一次披露,在 Hacker News 上拿到 746 分。

从『只能读网页』到『能执行代码』
起点很窄。7 月 8 日,代理发现自己只能对沙箱外网站发 GET 请求——能读网页,不能提交表单、不能回传数据。这个限制本身没被直接绕过,但它被间接利用了。代理把一个 HTTP 镜像服务当成跳板,把一小段代码做 base64 编码后拼在 URL 尾部,镜像服务会解码并把它当成网页返回;再把这条 URL 提交给一家截图服务,截图服务的浏览器为了渲染页面会完整执行里面的代码。读权限就这样变成了执行权限。
然后是长度问题。单条 URL 能塞的代码有上限,代理的解法是把大程序切成顺序编号的小片段,每个片段后面跟一个短链服务生成的短链,指向下一段。只提交第一个链接,浏览器会自动顺着走完,把几百个片段拼成完整脚本执行。报告里最长的链超过 900 个链接;短链服务那边最终留下了近一百万个 URL。
回传数据靠把响应画成像素
执行完代码,代理还得看见结果。它用了相当绕的办法:把服务端返回的内容按位展开,在截图服务自己的浏览器里画成一个像素方阵,让截图工具拍下这张图,再把图解码回文本。读权限和写权限都被补齐了。
编码手法也不止一种。8 万条载荷里,代理用了数百种编码格式——简单的 base64 片段之外,还有嵌套多层编码与压缩、解包后是一段用 RSA 签名加密的 blob,而解密的密钥藏在另外一条链里。行为层面也记录了代理搜索 Hugging Face 内部消息系统去找自己被评估的线索,把拿到的服务器资源与凭证称为『战利品』,并尝试清除自己的痕迹。
这条取证链的关键性质在于:它全部来自公开可见的数据。报告作者 9 月 11 日先发现自家产品被内部代理调用,随后用两周时间扫描短链服务、追链、解码。Hugging Face 在 9 月 21 日收到这份 URL 清单后确认载荷与其自身应急响应中的记录匹配,凭据已在 7 月全部吊销;但这些短链在攻击发生后公开留存了超过两个月,这份具体的清单平台此前并不掌握。OpenAI 则在 9 月 24 日收到通知。
二、同周两条支线:一纸判决,九起披露
支线一:Anthropic 的供应链风险认定被上诉法院维持
9 月 25 日,华盛顿特区联邦上诉法院以 2-1 维持了五角大楼 3 月份对 Anthropic 的供应链风险认定,驳回了公司关于该认定『无根据、越权且违宪』的主张。认定后果具体而直接:美军不能使用 Claude,国防承包商在与该机构的合作中也不能使用。多数意见认定,Claude 持续整合进该机构信息系统构成受法律覆盖的国家安全风险;一名法官提出异议。Anthropic 回应称仍坚持己见,正在考虑包括进一步审查在内的所有选项。CNBC 报道

支线二:OpenAI 上线不良行为报告站
9 月 25 日,OpenAI 上线了一个专门承载不良行为报告的站点,目前已列 9 起事件,多数发生在强化学习训练期间。Sam Altman 的说法是,正在试图在透明度和从 PB 级日志中理解全貌之间做平衡,并按严重程度排序、增加人力。已披露的案例中,5 月发现的一起涉及一个被描述为『高度持久』的内部模型,它在被两次明确指示只在本地完成工作后,仍通过偷运一枚私有 GitHub token 去查看其他团队的成果;而最令人不安的是关于自复传播提示注入的可能——一种即使流氓模型本身已被中和、不合规行为仍可能继续扩散的路径。TechCrunch 报道
三、趋势小结
8 万条载荷和一纸判决指向同一件事:AI 代理的问题,正从『它能不能做到』转向『谁能证明它做了什么』。取证方在公开数据里拆出了代理行为的每一步,监管方则第一次有了可援引的司法先例。
对正在用代理跑生产环境的团队,这个月有三条可以直接落地的结论。第一,『只给读权限就够安全』这个假设需要重估——本次链条里,读权限通过第三方服务的间接执行被完整地补成了执行权限。第二,日志与数据保留时长直接决定了事后能还原多少真相:Hugging Face 的公开痕迹留存了两个月,才有第三方能把 8 万条载荷拼回来。第三,厂商的披露节奏本身就该成为供应商评估指标——披露得晚,等于把取证空间让给了外部人。