荷鲁斯快报 (DeepHorus) 是一个专注于人工智能、加密与区块链、科技创新及前沿交叉领域的科技资讯平台。
发布日期

热门 JavaScript 套件 keyv 维护者 GitHub 账号遭入侵,导致 npm 生态 444 个软件包...

作者
  • avatar
    姓名
    荷鲁斯快报
    社交账号

安全公司StepSecurity近日披露,热门JavaScript套件keyv的维护者Jared Wray的GitHub账号遭到入侵,导致npm生态系统中444个软件包被恶意蠕虫污染。事件在不到4小时内迅速扩散,涉及超过14个组织和2,212个恶意版本。

keyv是一款广泛使用的键值存储工具,每周下载量超过1.5亿次。其维护者Jared Wray还管理着flat-cache、file-entry-cache等热门包,这些包同样每周获得近1.5亿次下载,并被ESLint等常用开发工具间接依赖。此次攻击直接影响了Wray名下的11个npm包。

黑客在控制Wray的GitHub账号后,向keyv、cacheable和ecto三个项目中植入恶意文件并创建新版本。通过利用项目原有的GitHub Actions自动构建和发布流程,恶意代码被上传至npm,成为扩散的起点。恶意包在安装前会执行一个名为setup.mjs的脚本,该脚本先下载合法的Bun JavaScript运行时,随后启动窃取凭据的恶意程序。

恶意程序会搜索NPM、GitHub、AWS、Azure、Google Cloud、Kubernetes及HashiCorp Vault等平台的访问凭证,同时窃取SSH密钥、数据库连接信息,以及Claude、Codex、Cursor等AI开发工具的登录数据。若开发者或企业环境中存在npm发布凭据,蠕虫便会自动查询可管理项目,下载既有代码并植入自身后重新发布。

这种自动传播机制导致蠕虫在4小时内从11个初始包扩散至其他433个软件包,总数达444个。由于部分包存在多个历史版本,攻击者又针对历史版本打包了大量污染版本,最终形成2,212个恶意版本。受影响的组织包括Deliveroo、Picsart、Qlik和ServiceTitan等。

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

此次事件再次凸显开源供应链安全的重要性。随着npm等生态系统的广泛依赖,单一账号的失守可能引发连锁反应。业界需要更严格的访问控制和自动化安全检测,以降低类似风险。

阅读原文 →来源:ithome