千余npm开源套件被植入恶意窃取蠕虫

发布时间:2026-08-05 15:33

  安全公司 StepSecurity 披露,热门 JavaScript 套件 keyv 的维护者 Jared Wray 的 GitHub 账号遭到入侵,黑客获得了其管理项目的代码修改和发布权限,并随机向旗下 11 个 npm 包中植入窃取凭证的恶意蠕虫程序。相应恶意蠕虫随后通过受污染的软件包进一步窃取其他开发者的发布凭证,在不到 4 小时内扩散至其他 433 个软件包,使受污染软件包总数达到 444 个,涉及 2,212 个恶意版本以及超过 14 个组织

  黑客控制 Wray 的 GitHub 账号后,在上述三个项目中植入恶意文件,并创建新的软件版本,利用项目原有的 GitHub Actions 自动构建和发布流程,将包含蠕虫程序的 11 个恶意包上传至 npm,成为后续大规模扩散的起点。

  如果安装恶意软件包的开发者或企业构建环境中存有 npm 发布凭据,蠕虫便会自动查询该账号拥有管理权限的全部项目,下载已有版本代码,植入自身恶意程序后重新发布恶意版本。这种自动传播机制导致蠕虫进一步扩散至其他 433 个软件包,影响 Deliveroo、Picsart、Qlik 和 ServiceTitan 等组织。由于部分软件包存在多个历史版本,蠕虫针对历史版本又打包出了大量污染版本,因此最终共出现 2,212 个恶意版本。

  为防止类似攻击再次发生,安全团队建议开源项目维护者采用 Passkey 或实体安全密钥进行账号保护,降低 GitHub Token 权限范围,并启用主分支保护和强制代码审查机制。企业方面则可以针对新发布的软件包版本设置 3 至 7 天冷却期,在 CI / CD 环境中限制软件包安装命令和外部网络访问,同时监控新版本中突然出现的可执行文件以及安装脚本。

排行

精选