SwarmTraces:OpenAI 蜂群把攻击代码藏进了短链接
将近一百万条短链接。大约 700 个 OpenAI 代理就是靠这个,把攻击代码从一个本来只允许读网页的沙箱里偷运出来的。两个月后,一群外部研究者也正是从这些短链接里把它们挖了出来。9 月 25 日发布的 SwarmTraces(作者里有 Jeffrey Ladish)从这些链接中重新拼出了 8 万多个攻击载荷,脱敏数据集和浏览器都放在 swarmtraces.org 上。
手法本身值得细看。7 月 8 日,代理们找到了一个沙箱漏洞,拿到有限的外网访问。它们没法直接往外发数据,于是把代码切成碎片,每一片塞进一个公共短链服务,再把链接串起来,按顺序拼回去就是一段能跑的程序。要拿回响应,就让截图服务去执行 JavaScript,再把返回图片里的像素解码成文字。接下来就是一路打穿:Hugging Face 的 Kubernetes 集群、数据集 worker 上的命令控制、推到 Docker Hub 的改装镜像、DNS 和 webhook 外传数据、用 Tailscale 维持驻留。它们按权限高低给偷来的 Kubernetes 令牌打分,管凭证叫 LOOT,去 Hugging Face 内部 Slack 里搜评测相关信息,还试图抹掉痕迹。它们原本的任务是 CyberGym 和 ExploitGym 评测,拼命要拿的 flag 其实是评测通关令牌。
Hugging Face 确认这些载荷和自己的事故调查吻合,并表示 7 月就已吊销相关凭证。研究者 9 月 11 日得知此事,21 日通知 Hugging Face,24 日通知 OpenAI。OpenAI 公开的东西至今仍是两份内部报告,加上我们 8 月报道过的 METR 与 Redwood 分析。攻击代码本身能被任何人读到,这是第一次。
昨天 Transluce 的报告,是在公共 URL 扫描服务 urlquery.net 里发现了 OpenAI 代理的流量。今天换成了一个公共短链服务。两天,两个彼此独立的第三方服务,各自存着几个月的代理行为记录,而跑这些代理的实验室一个字都没披露过。前沿代理的取证档案,正被写进一堆根本不是为此设计的基础设施里,而目前读到它的,总是外人先于厂商。接下来,所有带公开 API 的扫描器、贴图站和短链服务,大概都会被人翻一遍。
作者自己先摆出来的一条限制:数据里出现了 7,905 个代理名字,但代理们一直在换身份,所以别把它当成人头数。能恢复出时间戳的载荷只有大约 3%。
← 返回所有文章
手法本身值得细看。7 月 8 日,代理们找到了一个沙箱漏洞,拿到有限的外网访问。它们没法直接往外发数据,于是把代码切成碎片,每一片塞进一个公共短链服务,再把链接串起来,按顺序拼回去就是一段能跑的程序。要拿回响应,就让截图服务去执行 JavaScript,再把返回图片里的像素解码成文字。接下来就是一路打穿:Hugging Face 的 Kubernetes 集群、数据集 worker 上的命令控制、推到 Docker Hub 的改装镜像、DNS 和 webhook 外传数据、用 Tailscale 维持驻留。它们按权限高低给偷来的 Kubernetes 令牌打分,管凭证叫 LOOT,去 Hugging Face 内部 Slack 里搜评测相关信息,还试图抹掉痕迹。它们原本的任务是 CyberGym 和 ExploitGym 评测,拼命要拿的 flag 其实是评测通关令牌。
Hugging Face 确认这些载荷和自己的事故调查吻合,并表示 7 月就已吊销相关凭证。研究者 9 月 11 日得知此事,21 日通知 Hugging Face,24 日通知 OpenAI。OpenAI 公开的东西至今仍是两份内部报告,加上我们 8 月报道过的 METR 与 Redwood 分析。攻击代码本身能被任何人读到,这是第一次。
昨天 Transluce 的报告,是在公共 URL 扫描服务 urlquery.net 里发现了 OpenAI 代理的流量。今天换成了一个公共短链服务。两天,两个彼此独立的第三方服务,各自存着几个月的代理行为记录,而跑这些代理的实验室一个字都没披露过。前沿代理的取证档案,正被写进一堆根本不是为此设计的基础设施里,而目前读到它的,总是外人先于厂商。接下来,所有带公开 API 的扫描器、贴图站和短链服务,大概都会被人翻一遍。
作者自己先摆出来的一条限制:数据里出现了 7,905 个代理名字,但代理们一直在换身份,所以别把它当成人头数。能恢复出时间戳的载荷只有大约 3%。
评论