安全公司披露 GitHub 供应链攻击:88个仓库借 AI 推荐传播木马

Mores的头像Mores
安全公司披露 GitHub 供应链攻击:88个仓库借 AI 推荐传播木马

安全公司 Island 披露了一起与 MicrosoftSystem64 恶意软件家族相关的软件供应链攻击,涉及至少 88 个公开 GitHub 仓库。攻击者通过恶意 npm 依赖链投递跨平台远程访问木马,同时把仓库包装成功能完整、可信度高的软件项目。

调查重点之一是名为 shopify-mcp 的仓库。Island 测试发现,在未提供仓库名称或威胁背景的情况下,该仓库分别出现在 ChatGPT 和谷歌 AI Overview 的推荐结果中。

事件经过

该恶意软件可在 Windows、macOS 和 Linux 系统上执行命令、访问文件、维持持久化并部署额外载荷,其名称来自在上述操作系统中使用的持久化身份。恶意代码通过恶意的 npm 依赖链投递,属于跨平台远程访问木马。

调查的一个重点对象是 Cesarjoquin 账号下名为 shopify-mcp 的 GitHub 仓库。Island 测试了该项目是否会出现在普通的软件搜索中:先要求 ChatGPT 推荐可用于管理 Shopify 商店的 MCP 包,另外单独在谷歌搜索面向 Claude Desktop 的 Shopify MCP 服务器。两次检索都没有提供仓库名称,也没有给出任何威胁背景,该仓库均出现在结果中。

从表面看,这个项目具有可信度,因为它包含详细文档和可用的 Shopify 相关功能,但其依赖项之一与 MicrosoftSystem64 的投递链存在关联。Island 表示,无法确定是哪一个信号导致该仓库出现在 ChatGPT 和谷歌 AI Overview 中,也无法确定该活动是否专门为影响大语言模型推荐而设计。

伪装手法

该活动并不依赖空壳或明显欺诈的仓库。在若干案例中,攻击者复制真实开源项目,保留原有功能,再加以修改,使恶意依赖看起来服务于合理的技术目的。

以 Shopify 项目为例,代码被改动以加入 Redis 连接管理器和令牌缓存,并与 Shopify 的 OAuth 流程对接。这样一来,可疑依赖因为负责访问令牌的存储与读取,显得与应用相关。

顶层依赖随时间变化,从 ioredis-xyz 改为 oscar-redis,后来又改为 oracle-redis,而仓库、文档和可见的应用逻辑保持不变。研究人员称,这使得仓库本身成为持久的传播资产,npm 包名则可以按需替换。对防御方而言,把单一包名当作入侵指标的价值因此被削弱。

伪造的可信度

报告还描述了受影响 GitHub 账号周围被制造出来的合法性。一个与活动相关的账号看起来已经建立很久,资料日期较早,有数百次贡献,仓库也显示大量 fork。但该账号在三天内创建了全部 25 个公开仓库。

部分仓库看似包含多年开发历史,但研究人员找到了对应的上游项目,其提交历史被导入,部分情况下还被重新归属到与活动相关的身份名下。另一些开发历史则是直接生成的:一个仓库包含一个脚本,以程序化方式创建了约 57 个分阶段 Git 提交;另一例中,10 个看似开发里程碑的提交在 11 秒内完成。

这些手法伴随着虚假的受欢迎迹象。在与该活动相关的 88 个公开仓库中,Island 统计到 9,881 个 star 和 65,681 个 fork。在 7 个与 AI 和 MCP 相关的仓库中,673 个连续 fork 间隔里有 664 个落在 179 至 182 秒之间,提示存在自动化过程。fork 归属也呈现异常集中:在一个仓库中,GitHub 返回的 1,238 个 fork 对象里有 1,231 个仅由 22 个组织账号持有,其中 21 个组织各持有恰好 56 个 fork,另一个持有 55 个。

AI 推荐带来的风险

这一发现表明,攻击者滥用开发者与编码代理所用软件发现工具的方式正在发生变化。该活动并未直接入侵人工智能系统,重点在于让代码看起来足够合法,从而被推荐和安装。

对安全团队而言,担忧在于 AI 辅助的软件发现缩短了从搜索工具到安装工具之间的路径。开发者或代表开发者行动的 AI 编码代理,可能把文档、看似存在的维护历史、测试文件和可见的采用度当作仓库可以安全使用的信号。

Island 表示,证据显示这些仓库已经积累了让软件显得成熟且被广泛使用的同类信号。已识别的仓库中,许多以 AI 代理、金融、交易、医疗和开发者工具为主题,若干围绕 MCP 服务器以及面向大语言模型助手使用的软件。

各方说法

Island 安全研究员 Ofek Ronen 表示:“攻击者不需要入侵 AI。它需要构建出 AI 可以合理推荐的软件。”

该活动也补充了针对开发者工作流而非直接面向最终用户的软件供应链攻击研究。其他安全团队此前的报告记录了与同一恶意软件家族相关的恶意 npm 包和依赖链,但 Island 称,较新的发现显示出一个围绕仓库呈现、历史和采用信号构建的更广泛行动。

要点

  • 攻击涉及至少88个公开 GitHub 仓库
  • 恶意代码通过 npm 依赖链投递跨平台木马
  • shopify-mcp 仓库出现在 ChatGPT 与谷歌 AI Overview 推荐中
  • 88个仓库累计获得9881个星标和65681次复刻
  • 研究人员称攻击者无需攻破 AI,只需让软件显得可被推荐

原文链接

更多快讯

全部快讯
  1. 黑客借伪造 GitHub 项目分发带毒 ChatGPT 与 Claude 安装包
  2. 索尼 So-net 确认遭黑客攻击,258万条会员记录外泄
  3. 韩国三家金融机构遭黑客入侵,约10万条信息外泄
  4. 澳洲信号局:国家支持黑客借 AI 加快攻击,上财年事件超1500起
  5. 日本 GMO 互联网与 Park24 因网络攻击向用户赔偿

0 条回复

A文章作者M管理员
上传评论图片

暂无讨论,说说你的看法吧