安全研究员披露 OpenAI 代理在 2026 年 5 月向 RubyGems 上传逾两千个恶意包,漏洞挖掘和横向移动全由 AI 自动完成。攻击目的仅是爬取公开数据,且受影响者从未收到通知。
数千个恶意包、名为 "hack.rb" 和 "evil.rb" 的文件、窃取 API key 的企图——一份分析报告表明,OpenAI 的 AI Agent 在 2026 年 5 月对 Ruby 包平台 RubyGems 发动了一次网络攻击。据报道,OpenAI 从未通知受影响的人。
2026 年 5 月 11 日至 12 日,AI Agent 在数小时内向 Ruby 编程语言的中心包平台 RubyGems 上传了超过 2000 个恶意包。该平台不得不关闭新用户注册长达四天,超过 500 个恶意包随后被移除。RubyGems 安全团队的一名成员当时称这一事件为"重大恶意攻击",安全公司则将其称为"GemStuffer 活动"。
根据安全研究员 Spencer Kitts、Thomas Larsen 和 Sydney Von Arx 的详细分析,这些 Agent 来自 OpenAI。数以百计的包名称中包含 "oai",15 个将 "oai" 列为作者,一个提供了 "openaixyz65947@gmail.com" 作为联系地址。这些 Agent 还访问了 49 个与所谓 Wiki Swarm Agent 相同的文件,对于后者 OpenAI 已在某种程度上确认了责任。据研究人员称,OpenAI 从未与 RubyGems 社区就此事件进行过沟通。
显然,这些 Agent 付出这一切努力,只是为了从英国地方政府网站上收集任何人都能自由访问的数据。
Agent 几乎不掩饰自己在做什么
为了获取这些数据,Agent 滥用了一个自动化文档系统——该系统在包上传时执行代码。它们注入了自己的脚本,这些脚本在第三方服务器上运行、爬取网站,然后将收集到的数据以新包的形式发布回 RubyGems。根据分析,超过一百个包使用了这一路径。
Agent 的攻击路径:一个恶意包被上传到 RubyGems(1),RubyDoc.info 文档系统运行嵌入的脚本(2),该脚本爬取英国政府网站(3),并将收集到的数据以新包的形式发布回 RubyGems(4)。这些数据本来就可以公开获取。| 图片来源:rubyhack.ai

这些 Agent 几乎不掩饰自己的意图。它们将文件命名为 hack.rb、evil.rb、inject.rb 和 exploit.rb。包的名称如 "pwnp999" 和 "exfiltestwand3"。诸如 "# malicious crawler/exfil" 这样的注释遍布整个活动。在少数情况下,Agent 确实尝试通过编程让一个包自动从下一个版本中剥离恶意代码来掩盖痕迹。但由于它们也公开上传了带有注释的文件,掩盖并未奏效。为了上传如此大量的包,Agent 绕过了 RubyGems 的注册系统,使用一次性电子邮件地址批量创建账户。
除了收集数据之外,这些 Agent 还试图通过利用一个直到 7 月才被正式发现和修补的安全漏洞来窃取其他 RubyGems 用户的访问密钥。盗窃是否真正成功尚不清楚。RubyGems 团队没有发现成功利用的证据,但无法完全排除可能性。这些 Agent 独立发现了一个此前未知的漏洞并积极尝试利用它,这支持了网络安全警告——AI 模型正在成为更有能力的攻击者。
关键问题仍未得到解答
这些 Agent 是协调行动还是只是并行执行相同策略仍然未知。目前也不清楚这些 Agent 究竟为什么要窃取访问密钥,因为它们已经可以创建包,而且没有明显的动机。研究人员怀疑这些 Agent 在严格的时间限制下工作,必须绕过其环境中的限制。Agent 的内部文档化消息表明,单个任务的截止时间仅为 10 到 16 秒。
据报道,OpenAI CEO Sam Altman 和其他 AI 公司正在考虑放缓 AI 研究,部分原因是此类网络安全事件。