Mini Shai‑Hulud 是一个自传播的软件供应链攻击,通过窃取 CI/CD 密钥和 GitHub Actions OIDC 令牌发布恶意 npm 包,使其看起来像合法发布。[1][2] 2026 年 5 月 19 日的一次攻击波中,攻击者利用被攻破的维护者账号,在约 22 分钟内向 323 个 npm 包发布了 637 个恶意版本。[5][7] 由于这些恶意包带有有效的 SLSA provenance 与 Sigstore 签名,传统的“签名即可信”验证机制被绕过,给整个开源生态带来新的安全挑战。[1][10]

Create a landscape editorial hero image for this Studio Global article: What happened in the Mini Shai-Hulud npm supply chain attack on May 19, 2026, how were more than 630 malicious package versions published so. Article summary: Mini Shai-Hulud was a fast-moving npm/PyPI supply-chain worm campaign attributed to TeamPCP that abused maintainer access, CI/CD secrets, GitHub Actions OIDC trust, and provenance signing to publish malicious packages th. Topic tags: general, general web. Reference image context from search candidates: Reference image 1: visual subject "# ‘Mini Shai-Hulud’ malware compromises hundreds of open-source packages in sprawling supply-chain attack. A rapidly spreading malware campaign has infected hundreds of software pa" source context "‘Mini Shai-Hulud’ malware compromises hundreds of open-source packages in sprawling supply-chain attack | CyberScoop" Reference imag
开源软件供应链建立在“信任”之上:信任维护者账号、信任 CI/CD 自动构建流程、信任软件签名机制。Mini Shai‑Hulud 事件证明,这些信任关系一旦被攻破,就可能被快速武器化。
2026 年 5 月,名为 TeamPCP 的攻击团体发动了一次协调的供应链攻击,入侵 npm 和 PyPI 生态中的大量开源包,并通过自动化发布流程传播恶意版本。最引人关注的一次攻击发生在 2026 年 5 月 19 日:攻击者在大约 22 分钟内向 323 个 npm 包发布了 637 个恶意版本,这些包属于 @antv 数据可视化生态。
更令人担忧的是,这些恶意包竟然带有 有效的构建来源证明(provenance)和签名,使其在技术上看起来像合法软件发布。
Mini Shai‑Hulud 并不是一次单点事件,而是一系列持续的攻击行动。
研究人员发现,2026 年 5 月 10 日至 5 月 12 日之间,攻击者已经攻破 19 个命名空间中的 170 多个 npm 和 PyPI 包,并发布 400 多个恶意版本。
受影响的软件库包括多个被广泛使用的项目,例如:
这些库在开发生态中拥有大量下游依赖,因此哪怕短时间被污染,也可能影响非常广泛的项目。
部分受影响的包历史累计下载量 超过 5.18 亿次,意味着潜在影响范围覆盖整个开发者生态系统。
随后的一波攻击专门针对 AntV 数据可视化生态。相关 npm 包每周约有 1600 万次下载,攻击者在该生态中发布了数百个恶意版本。
攻击速度之所以如此惊人,核心原因是 滥用了自动化发布机制。
在 5 月 19 日的攻击波中,报告称攻击者攻破了与 atool 包相关的 npm 维护者账号,随后利用该权限向大量关联包自动发布新版本。
npm 维护者通常会使用脚本或 CI 流水线批量发布版本,一旦账号被控制,攻击者就可以:
因此攻击者无需逐个包手动入侵,只需利用自动化流程,就能在短时间内发布 数百个恶意包版本。
这次攻击最具技术意义的部分,是对现代安全发布机制的利用。
许多开源项目如今采用 GitHub Actions Trusted Publishing(可信发布):
在被攻破的项目中,攻击者能够:
由于发布动作是通过项目自己的 CI 管道完成的,这些包看起来完全像官方构建产物。
这打破了一个常见假设:即使没有长期凭证,CI 发布流程仍然可能被攻击者利用。
现代供应链安全通常依赖两个关键机制:
这些机制用于证明软件是由可信的构建流程生成的。
然而 Mini Shai‑Hulud 的攻击方式是:
结果是:恶意包也带着有效的 SLSA Level 3 provenance 和签名。
从验证系统的角度看,这些包完全正常——因为它们确实是通过真实 CI 工作流发布的。
问题不在签名机制,而在于:构建环境本身已经被攻击者控制。
攻击中的恶意代码主要用于窃取开发环境和基础设施凭证。
报告显示其目标包括:
通过窃取这些凭证,攻击者可以进一步入侵更多代码仓库或发布管道,使攻击像 蠕虫一样在开源生态中扩散。
Mini Shai‑Hulud 暴露了现代软件供应链的一些关键风险。
1. “可信基础设施”本身可能被利用。
OIDC 发布、SLSA provenance 和签名机制并不能阻止攻击者,一旦他们控制了生成软件的 CI 流水线。
2. 一个维护者账号就能影响数百个包。
AntV 事件显示,单个账号被攻破即可在短时间内生成数百个恶意版本。
3. 依赖关系会放大攻击范围。
很多 npm 包是其他项目的依赖,恶意更新可能通过 传递依赖(transitive dependencies) 扩散到成千上万个项目。
4. 攻击活动具有持续性。
研究人员将 Mini Shai‑Hulud 与 TeamPCP 更早的行动联系起来,例如对 Checkmarx Jenkins 插件的攻击和针对多个开源生态的渗透。
由于这些技术依赖常见的 CI/CD 工作流程,安全研究人员警告:未来可能出现模仿攻击或变种。
Mini Shai‑Hulud 传达了一个重要现实:
即使软件有签名和来源证明,也不代表它一定安全。
如果攻击者已经控制了生成软件的 CI 环境,那么所有自动化安全机制都可能被绕过。
因此越来越多组织开始加强以下防护措施:
随着软件开发越来越依赖自动化构建和签名发布,CI 基础设施和开发者身份安全 正成为软件供应链防御的核心。
Mini Shai‑Hulud 事件表明:一旦这种信任被攻破,影响可以在几分钟内扩散到整个开源生态。
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
Mini Shai‑Hulud 是一个自传播的软件供应链攻击,通过窃取 CI/CD 密钥和 GitHub Actions OIDC 令牌发布恶意 npm 包,使其看起来像合法发布。[1][2]
Mini Shai‑Hulud 是一个自传播的软件供应链攻击,通过窃取 CI/CD 密钥和 GitHub Actions OIDC 令牌发布恶意 npm 包,使其看起来像合法发布。[1][2] 2026 年 5 月 19 日的一次攻击波中,攻击者利用被攻破的维护者账号,在约 22 分钟内向 323 个 npm 包发布了 637 个恶意版本。[5][7]
由于这些恶意包带有有效的 SLSA provenance 与 Sigstore 签名,传统的“签名即可信”验证机制被绕过,给整个开源生态带来新的安全挑战。[1][10]