TeamPCP 在 GitHub 上开源了 Shai-Hulud 蠕虫病毒,这是一种不寻常的情况,恶意软件在 MIT 许可下“民主化”

2026 年 5 月 12 日星期二,安全公司 Ox 发现恶意软件组织 TeamPCP 在 GitHub 上的两个存储库中发布了自己的恶意软件“Shai-Hulud”蠕虫的源代码。该存储库附有来自 TeamPCP 的消息,并根据 MIT 许可证获得许可。在发布前几个小时,The Register 检查的分叉数量分别为 1 个和 31 个,但在撰写本文时已增加到 5 个和 39 个。

Ox 指出,另一位 GitHub 用户“agwagwagwa”已经分叉了它并提交了拉取请求以添加 FreeBSD 支持。 Shai-Hulud 蠕虫攻击 npm 包并窃取 AWS、GCP、Azure 和 GitHub 凭证以进行自身传播。它于2025年9月被研究人员发现,同年11月出现了增强型变种。截至撰写本文时,该存储库已在线保持超过 12 小时,微软的 GitHub 并未进行干预。

从: 恶意软件团队 TeamPCP 在 GitHub 上开源其 Shai-Hulud 蠕虫病毒

【编辑部评论】

此消息的本质不是恶意软件本身的发布,而是进攻民主化已经越线的事实极为不寻常的是,一款此前在黑市上买卖的攻击工具,如今已在面向开发者的平台上获得了 MIT 许可证,允许任何人对其进行修改和重新分发。

ReversingLabs 的研究人员于 2025 年 9 月 15 日在 npm 注册表中首次观察到 Shai-Hulud 蠕虫。最初的感染源是一个名为“rxnt-authentication”的包,它在短短几天内自我复制到数百个 npm 包中。史上第一个“自我复制供应链蠕虫”敲响了警钟。它的名字取自弗兰克·赫伯特的科幻小说《沙丘》中的巨型沙漠沙虫,顾名思义,它旨在从内到外吞噬发展生态系统。

此后,Snyk 和 ReversingLabs 报告称,攻击者于 2025 年 11 月在 Shai-Hulud 2.0(Second Coming)中创建了超过 25,000 个恶意代码库。此后,亚种不断出现,并在 2026 年观察到了名为“Mini Shai-Hulud”的新浪潮。其中,5 月 11 日发生的 TanStack 攻击被归类为根据 Snyk 分析,CVE-2026-45321 被评为“严重”,这是一次大规模事件,感染了 42 个软件包,其中包括每周下载量达 1270 万次的@tanstack/react-router,还涉及 Mistral AI 和 UiPath。

问题是这些攻击的核心逻辑现在已经开源了。 TeamPCP 自己在其存储库中留下了一条挑衅性的信息,“它是 vibe 编码的吗?是的。”表明他们使用 AI 辅助编码(所谓的“vibe 编码”)开发了恶意软件。提高生成式人工智能时代的攻击者生产力它清楚地讲述了这个故事。

从技术上讲,最可怕的功能是蠕虫内置的自毁机制,称为“死人开关”。据 The Hacker News 报道,在最新变种中,攻击者创建的 npm 令牌被命名为“IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner”,如果开发者尝试撤销它,rm -rf ~/据报道,它旨在删除主目录。以威胁方式将受害者扣为“人质”的攻击方式是一种与勒索软件区别的恶意方式。有。

开源的影响是严重的。正如Ox分析师所说:TeamPCP不再是“传播”恶意软件,而是“能力”本身。即使没有经验的攻击者也可以通过简单地分叉 MIT 许可的代码并替换 C2 服务器和密钥来创建自己的变体。从 The Register 在发布前确认到撰写本文时的短短几个小时内,两个存储库中的分叉总数从 32 个跃升至 44 个,这一事实证明模仿者已经在行动。

这一事件也给运营 GitHub 的微软提出了棘手的问题。自 2025 年 12 月以来,该公司通过扩展 Microsoft Defender 和集成 SBOM(软件物料清单)来加强供应链防御,但这一次存储库在超过 12 小时内未删除。平台运营者的责任范围,换句话说,就是“托管自由到什么程度,共谋到什么程度?”之间的界限。又被问到了。

从经济角度来看,这一点也不容忽视。一项行业预测估计,2025 年软件供应链攻击造成的损失将达到 600 亿美元,2031 年将达到 1380 亿美元,规模可见一斑。另一方面,npm 生态系统也是许多日本 Web 服务、SaaS 和 FinTech 通过 JavaScript 框架广泛使用的基础。@tanstack/react-router 每周下载 1270 万次的事实表明,我们日常使用的服务在不知不觉中就被列入了“污染候选名单”。显示。

从长远来看,防守者心态的改变是不可避免的。虽然 pnpm、Yarn Berry 和 Bun 等“消费者端”包管理器已经实施了默认禁用生命周期脚本和“发布冷却期”等措施,但 npm CLI 本身在这方面仍然落后。尽管有很多对策可供选择,例如 OIDC 的可信发布、SLSA Provenance 和基于 WebAuthn 的 2FA,但仍然很少有开发组织能够全部使用它们。

在监管方面,美国的EO 14028(网络安全行政命令)和欧盟的CRA(网络弹性法案)正在朝着强制提交SBOM的方向发展,而在日本,经济产业省已发布了《软件管理实施SBOM(软件物料清单)指南》(2024年8月发布2.0版)。编辑部认为,这次开源事件可以作为一个契机,让我们更加认识到建立这样一个系统的必要性。

innovaTopia 之所以报道这篇文章,是因为这不仅仅是一次安全事件。通过人工智能、开源文化、许可、平台责任和这是人类对代码的信任动摇的转折点。。 Shai-Hulud 的开源是一个具有象征意义的事件,它标志着软件开发的人类基础设施已经进入了攻击和防御之间不对称的下一阶段。

【术语解释】

谢胡鲁德
弗兰克·赫伯特的科幻小说《沙丘》中出现的阿拉吉斯星球上巨型沙虫的名字。恶意软件研究人员将自我复制的 npm 蠕虫命名为它从内到外吞噬开发生态系统的方式。

npm(节点包管理器)
世界上最大的 JavaScript 包注册表,是所有 Node.js 开发人员依赖代码重用的基础。

供应链攻击
这是一种不直接针对目标组织,而是通过插入恶意代码来间接渗透到该组织信任的软件、库、供应商等的攻击方式。

自己复制型ワーム(self-propagating worm)
一种恶意软件,通过滥用受感染环境的权限,自动复制并传播到其他软件包和环境,而不需要人类手动传播。

振动编码
一种向生成人工智能提供“氛围”级指令并让它在不了解语法或规范细节的情况下编写代码的方法。当强调速度时,质量和可维护性往往会被放在次要位置。

C2服务器(命令和控制服务器)
外部服务器,充当攻击者的命令中心,向受感染的设备发送命令并接收被盗数据。

死人开关
一种在满足某些条件时(例如,当攻击令牌被撤销时)自动激活破坏性操作的机制。在这种情况下,会触发主目录删除。

生命周期脚本
在安装 npm 包(安装前/安装后)之前和之后自动执行的脚本。它已成为攻击者最大的攻击面。

OIDC(OpenID Connect)/可信发布
一种通过 CI/CD 工作流程中的短期凭证发布包的机制,无需存储 API 令牌。引入它是为了防止令牌泄漏。

SLSA 出处
一种以加密方式证明“哪个存储库、来自哪个提交、通过哪个工作流程”构建了包的机制。然而,如果构建过程本身被劫持,它就会变得无效。

SBOM(软件物料清单)
清晰显示软件中包含的所有组件和依赖项的“物料清单”。强制提交正在根据美国 EO 14028 和欧盟 CRA 进行。

网络身份验证 / 2FA
除了密码之外,还使用物理密钥或生物识别身份验证来验证您的身份的身份验证方法。 WebAuthn 具有很高的网络钓鱼抵抗能力,被认为比 TOTP(基于时间的一次性密码)更安全。

麻省理工学院许可证
它是一个具有代表性的开源许可证,只要保留版权声明,就允许几乎无限制的商业使用、修改和重新分发。极具讽刺意味的是,TeamPCP 这次选择了这个选项。

CVE/CVSS
CVE 是给定漏洞的通用识别号,CVSS 是用 0 到 10 的范围表示其严重性的分数。任何高于 9.0 的都被归类为“严重”。

[参考链接]

牛安全(外部)
第一个发现并宣布 Shai-Hulud 开源的 AppSec 公司。我们提供一个集成平台。

逆向实验室(外部)
一家安全研究公司,于2025年9月在全球率先发现Shai-Hulud蠕虫病毒。主要产品为Spectra Assure。

GitHub(外部)
微软旗下全球最大的源代码共享平台。还负责管理 npm 注册表。

npm(公式)(外部)
JavaScript/TypeScript 的中央包注册表。它每周处理数十亿次下载。

微软安全(外部)
安全部门继续通过 Microsoft Defender 提供 Shai-Hulud 检测和对策指南。

坦斯塔克(外部)
一组以React Router等知名的OSS库。2026年5月,该包被污染。

米斯特拉尔人工智能(外部)
来自法国的生成式人工智能初创公司。 TanStack 攻击链中的软件包受到影响。

UiPath(外部)
一家引领 RPA 市场的公司。它是 Mini Shai-Hulud 攻击的目标之一。

PNPM(外部)
快速且节省磁盘的包管理器。我们提前实现了消费者侧防御功能。

(外部)
来自 Meta 的 npm 替代包管理器。从 Berry 开始,默认情况下会阻止脚本执行。

好的(外部)
快速的 JavaScript 运行时和包管理器。它也被 Shai-Hulud 变体所利用。

登记册(外部)
一家总部位于英国的 IT 专业媒体,成立于 1994 年。安全报道备受信赖。

经济产业省《SBOM介绍指南ver2.0》公开页面(外部)
日本政府的官方 SBOM 指南发布页面。这是国内供应链措施的基础。

[参考文章]

Shai-Hulud 开源:恶意软件创建者将自己的代码泄露到 GitHub(Ox Security)(外部)
TeamPCP 发现开源的主要信息。它详细说明了提交日期的伪造以及三个相关账户的存在。

新的 Shai-hulud 蠕虫病毒传播:需要了解什么(ReversingLabs)(外部)
最详细的Shai-Hulud 2.0规模分析。它记录了 795 个包裹和 27,000 多个存储库的污染情况。

TanStack npm 软件包受到 Mini Shai-Hulud(Snyk)的关注(外部)
对 2026 年 5 月 11 日 TanStack 攻击的详细分析。它报告了 42 个软件包的污染和每周 1270 万次下载以及 TeamPCP 的别名。

Shai-Hulud 2.0:检测、调查和防御供应链攻击的指南(微软安全博客)(外部)
Microsoft 确认 Mini Shai-Hulud 于 2026 年 5 月 11 日回归。披露了 170 多个 npm 和 2 个 PyPI 软件包中的 404 版本污染。

Shai-Hulud 蠕虫攻击解释:npm 供应链漏洞内部(Mirrorfolio)(外部)
本文预测,供应链攻击造成的损失将在 2025 年增至 600 亿美元,到 2031 年将增至 1380 亿美元。

Mini Shai-Hulud 蠕虫危害 TanStack、Mistral AI、Guardrails AI 及更多软件包(黑客新闻)(外部)
本文阐明了 dead man switch 的规范以及撤销令牌时执行 rm -rf ~/` 的设计。

[编者后记]

我们每天npm install除了这个命令之外,来自世界各地的未知维护者的善意也堆积起来。这次事件就是利用了这条信任链的事件。在攻击者充分利用人工智能和开源文化的时代,每个开发人员和我们每个使用服务的人应该将什么视为“正常”,并质疑什么被视为“正常”?

您使用什么标准来为您的项目选择依赖库?请随时与当地开发商讨论此问题。