CISA警告:Shai-Hulud自复制蠕虫已入侵npm仓库500多个软件包
美国CISA警告称,代号"Shai-Hulud"的自复制蠕虫已渗透500多个npm软件包,通过滥用开发者凭证和发布流程传播恶意代码。该蠕虫窃取GitHub个人访问令牌及云服务API密钥,并利用被盗凭证注入恶意代码至其他软件包。CISA建议立即检查依赖包、轮换凭证、部署入侵检测系统并固定依赖版本以应对威胁。 2025-9-23 23:40:43 Author: www.freebuf.com(查看原文) 阅读量:25 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

美国网络安全与基础设施安全局(CISA)针对全球最大JavaScript软件包仓库npmjs.com遭受的大规模软件供应链攻击发布紧急安全警报。代号"Shai-Hulud"的自复制蠕虫已渗透500多个npm软件包,通过滥用开发者凭证和npm发布流程注入恶意代码进行主动传播。

自复制型供应链威胁

该蠕虫疑似通过被入侵的维护者账号获得初始访问权限后,会部署复杂载荷扫描环境变量和本地配置文件中的敏感凭证。其专门窃取GitHub个人访问令牌(PAT)以及AWS、GCP和Azure的API密钥,利用CI/CD流程中令牌意外持久化的常见漏洞。

窃取的凭证会被同时传输至攻击者控制的终端节点,并通过GitHub/user/repos API上传至名为"Shai-Hulud"的公开代码仓库。随后蠕虫使用自动化循环流程,利用被盗令牌认证npm仓库,通过npm CLI将恶意JavaScript代码注入受影响开发者依赖树中其他软件包的入口文件(通常是index.js)。

完成注入后,蠕虫会执行npm version patch && npm publish --access public命令发布携带木马的版本,实现持续传播。其自我复制机制利用了传递依赖特性——任何依赖受感染软件包的项目都可能成为新的宿主。

缓解措施

CISA建议立即采取以下检测和修复措施:

  • 检查所有package-lock.json和yarn.lock文件,识别2025年9月16日后发布的软件包。使用npm audit和静态分析工具标记异常代码变更或额外的postinstall脚本
  • 轮换所有开发者凭证并撤销暴露的GitHub PAT。对所有开发者账户(特别是GitHub和npm登录)强制执行防钓鱼多因素认证(MFA)
  • 部署入侵检测/防御系统(IDS/IPS)规则监控异常SSH和HTTPS连接。拦截流向已知可疑终端(包括webhook.site域名)的出站流量,审计防火墙日志中非常规DNS查询和陌生IP段的出口流量
  • 移除不必要的GitHub应用和OAuth权限。启用分支保护规则、密钥扫描和Dependabot安全更新。审计webhook和仓库级密钥的未授权变更
  • 将依赖项固定至2025年9月16日前发布的已知安全版本。在package.json中设置严格语义版本范围(如"lodash": "4.17.21")防止意外更新至受感染版本

加强整个开发流程的警惕性对遏制蠕虫传播、维护npm生态安全至关重要。

参考来源:

CISA Warns of Shai-Hulud Self-Replicating Worm Compromised 500+ Packages in npm Registry

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/450136.html
如有侵权请联系:admin#unsafe.sh