AsyncAPI npm包被投毒:CI/CD管道沦陷传播多阶段僵尸网络

2026年7月,攻击者通过攻陷AsyncAPI官方CI/CD管道,向npm注册表发布四个带毒包(@asyncapi/generator-helpers等),利用OIDC可信发布者绕过传统令牌保护。恶意载荷Miasma支持6种C2通道、凭据窃取、AI工具投毒和蠕虫传播。本文深度解析攻击链、IOC及缓解建议,帮助安全团队防御npm供应链攻击。

⛓️ Critical 供应链攻击

攻击者通过攻陷AsyncAPI项目的CI/CD管道,向四个@asyncapi命名空间的npm包植入恶意代码,分发多阶段僵尸网络加载器Miasma。该恶意软件利用OIDC可信发布者机制发布带有合法SLSA出处证明的恶意包,执行时通过IPFS下载加密第二阶段载荷,具备多C2通道、蠕虫式传播、AI工具投毒和持久化能力。

来源:The Hacker News | 2026-07-15 | 原文链接

🔍 关键发现

  • 四个受影响的npm包:@asyncapi/generator-helpers@1.1.1、@asyncapi/generator-components@0.7.1、@asyncapi/generator@3.3.1、@asyncapi/specs(v6.11.2和v6.11.2-alpha.1)
  • 恶意代码不在install钩子中,而在模块被require()时触发,通过后台Node进程从IPFS下载并执行加密的第二阶段载荷sync.js
  • Miasma框架集成了744个模块,支持HTTP、Nostr relay、IPFS、BitTorrent DHT、libp2p GossipSub P2P网格和以太坊智能合约共6种C2通道
  • 攻击者通过CI/CD管道推送代码(使用占位git身份),利用项目合法GitHub Actions发布管道和OIDC集成发布包,未窃取npm令牌
  • 恶意包携带合法SLSA出处证明,但出处仅证明由授权工作流生成,无法保护被攻陷的推送凭证
  • 恶意软件包含死亡开关:监控被窃令牌,若被撤销则触发目录擦除;并规避俄罗斯语言环境以及CrowdStrike等安全工具

⚔️ 攻击链分析

1. 攻击者获得AsyncAPI官方仓库的推送权限,使用占位git身份向四个仓库的默认分支推送恶意提交。 2. 仓库的合法GitHub Actions发布工作流触发,通过npm OIDC可信发布者集成自动生成具有合法SLSA出处证明的恶意包并发布到npm。 3. 用户安装或更新受影响包后,当Node.js项目require()加载受感染模块时,触发后台Node进程从IPFS下载加密第二阶段载荷(sync.js)。 4. sync.js解密后加载Miasma多阶段框架,执行凭据窃取、AI工具投毒、局域网横向移动以及npm/PyPI/Cargo注册表蠕虫式传播。

🚩 失陷指标 (IOC)

  • ipfs[.]io/ipfs/QmQobZSp1wRPrpSEQ56qnyq7ecZh5Bg5k1fnjt4SUwwHb9
  • @asyncapi/generator-helpers@1.1.1
  • @asyncapi/generator-components@0.7.1
  • @asyncapi/generator@3.3.1
  • @asyncapi/specs@6.11.2
  • @asyncapi/specs@6.11.2-alpha.1

🛡️ 缓解建议

  • ✅ 立即检查项目中是否使用了上述恶意包版本,若存在则视为潜在入侵,进行全盘排查和应急响应
  • ✅ 审查并锁定npm依赖版本,避免自动更新到受影响版本;启用npm audit和依赖扫描工具(如Socket、OX Security等)
  • ✅ 加强CI/CD管道安全:实施严格的代码审查、签名提交、最小权限原则,对发布工作流执行环境使用短期凭证和硬件密钥
  • ✅ 监控isolation、沙箱逃逸检测和异常进程行为,尤其关注从IPFS/外部网络加载JavaScript的后台Node进程

涉及漏洞:[]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ 攻击者如何绕过npm令牌保护?

攻击者未窃取npm令牌,而是通过获取GitHub仓库推送权限,利用项目的OIDC可信发布者集成触发合法工作流发布包,使恶意包带有合法SLSA出处证明。

❓ 恶意代码何时触发执行?

不在npm install时触发,而是在Node.js应用require()被感染的模块时执行,即构建或CI运行时调用该库的瞬间才会激活恶意载荷。

❓ 是否有已知的规避检测行为?

恶意软件会检测系统是否为沙箱/虚拟机,跳过语言设置为俄语的系统,以及CrowdStrike、SentinelOne、Microsoft Defender等安全产品存在的环境,并包含死亡开关防令牌撤销。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)