npm生态危机:Shai-Hulud蠕虫开启供应链攻击新纪元

⛓️ Critical 供应链攻击

Palo Alto Unit42报告显示,自2025年9月Shai-Hulud蠕虫事件后,npm供应链攻击进入高威胁阶段。攻击者通过窃取npm令牌和GitHub PAT实现蠕虫式传播,并针对SAP开发者生态系统发起Mini Shai-Hulud攻击,利用多阶段载荷窃取云凭证、CI/CD密钥和开发者工作站敏感信息。

来源:Palo Alto Unit42 | 2026-04-24 | 原文链接

🔍 关键发现

  • Shai-Hulud蠕虫标志着npm攻击从‘滋扰’时代进入高后果威胁格局,攻击频率和技术深度急剧加速
  • 2026年4月出现两波攻击:@bitwarden/cli伪装包和针对SAP CAP模型的Mini Shai-Hulud,后者影响约57万周下载量
  • 攻击者使用Bun JavaScript运行时执行混淆载荷,通过GitHub公共提交搜索API作为隐蔽C2通道实现自我传播

⚔️ 攻击链分析

1. 攻击者发布伪装成合法包的恶意npm包(如@bitwarden/cli或@cap-js/sqlite),通过preinstall钩子在安装时自动执行setup.mjs引导程序;2. 引导程序下载Bun运行时并执行execution.js,该脚本窃取GitHub令牌、npm令牌、云服务凭证等敏感信息;3. 窃取的令牌通过GitHub提交消息死信传递,攻击者利用这些令牌将恶意代码注入受害者可发布的npm包中,实现蠕虫式传播;4. 恶意代码还向受害者仓库注入.vscode/setup.mjs和.claude/execution.js等文件,实现持久化控制。

🚩 失陷指标 (IOC)

  • @bitwarden/cli@2026.4.0
  • @cap-js/sqlite@2.2.2
  • @cap-js/postgres@2.2.2
  • @cap-js/db-service@2.10.1
  • mbt@1.2.48
  • github.com/oven-sh/bun (v1.3.13)
  • OhNoWhatsGoingOnWithGitHub (C2关键词)

🛡️ 缓解建议

  • ✅ 立即轮换所有npm令牌和GitHub个人访问令牌(PAT),并审查近期发布的包是否存在异常
  • ✅ 在CI/CD管道中实施最小权限原则,限制npm publish权限并使用短期令牌
  • ✅ 部署运行时安全监控,检测preinstall钩子执行、Bun运行时下载等异常行为
  • ✅ 审查并清理本地和云缓存中的恶意依赖,尤其关注@cap-js/*和@bitwarden/cli相关包

涉及漏洞:[]


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

[!] CONTACT_CHANNELS

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

> PING_AUTHOR (@A1RedTeam)