嘶吼RoarTalk 前天
npm供应链攻击“Shai-Hulud”持续发酵:187款npm包遭攻陷 含自传播恶意载荷
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

网络安全研究人员发现,一场持续进行的供应链攻击已导致至少 187 款 npm 包被攻陷,这些包中植入了具备自传播能力的恶意载荷,可进一步感染其他 npm 包。

这场被命名为 "Shai-Hulud" 的协同式蠕虫攻击于近日启动,最初攻陷的是周下载量超 200 万次的 @ctrl/tinycolor npm 包。此后攻击范围大幅扩大,目前已波及 CrowdStrike 公司 npm 命名空间下的多个包。

从 tinycolor 到 CrowdStrike:攻击范围逐步扩大

目前,高级后端软件工程师 Daniel Pereira 向社区发出警示,称全球最大的 JavaScript 包仓库 npmjs.com 正遭受大规模软件供应链攻击,并提醒所有人避免安装 @ctrl/tinycolor 项目的最新版本。

Pereira 提醒大家注意持续的 npm 供应链攻击

过去 24 小时内,Pereira 曾试图通过更隐秘的渠道联系 GitHub,告知其这场持续的攻击—— " 已有大量代码仓库成为目标 ",若公开披露可能会让更多人面临风险。

软件供应链安全公司 Socket 随即对此次攻击展开调查,初步确认至少 40 款 npm 包遭攻陷。如今,Socket 与 Aikido 的研究人员均发现了更多受影响的包,使得受攻陷包的总数达到至少 187 款。 

安全公司 StepSecurity 也发布了技术分析报告,包含反混淆后的代码片段与攻击流程图,基本印证了 Socket 的初步调查结果。

受影响的包中,包括多个由 CrowdStrike 的 npmjs 账号 "crowdstrike-publisher" 发布的包。

随后,CrowdStrike 发言人回应称:在第三方开源仓库(即公共 npm 仓库)中检测到多款恶意 Node 包后,已迅速将其移除,并主动轮换了公共仓库中的密钥。这些包并未用于 Falcon 传感器(CrowdStrike 的核心产品),因此该平台未受影响,客户安全仍有保障。

自传播蠕虫利用 TruffleHog 窃取密钥

遭攻陷的 npm 包版本中,包含一套针对 " 同一维护者名下其他包 " 的自传播机制。Socket 研究人员解释称,恶意软件会先下载该维护者发布的所有包,修改包内的 package.json 文件,植入名为 bundle.js 的脚本(代码片段如下),重新打包后再发布,从而 " 实现对下游包的自动木马化感染 "。

bundle.js 文件下载 TruffleHog 以提取密钥

bundle.js 脚本会调用 TruffleHog ——这是一款合法的密钥扫描工具,开发者与安全人员常用来检测代码仓库或其他数据源中意外泄露的敏感信息(如 API 密钥、密码、令牌等)。

但该恶意脚本滥用了这款工具,在主机中搜索令牌与云服务凭证。脚本会验证并利用开发者凭证与持续集成(CI)凭证,在代码仓库中创建 GitHub Actions 工作流,再将窃取到的信息通过硬编码的 Webhook(链接为 hxxps://webhook [ . ] site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7)外传。

攻击名称 "Shai-Hulud" 源自遭攻陷包中恶意软件使用的工作流文件 "shai-hulud.yaml",其灵感来自科幻小说《沙丘》系列中的巨型沙虫。

在已发现的其他受攻陷包中,恶意软件与此前版本完全一致,均通过 bundle.js 执行以下操作:

1. 下载并运行合法密钥扫描工具 TruffleHog;

2. 在主机中搜索令牌、云凭证等敏感密钥;

3. 验证发现的开发者凭证与 CI 凭证是否有效;

4. 在代码仓库中创建未授权的 GitHub Actions 工作流;

5. 将敏感数据通过硬编码的 Webhook 端点外传。

攻击背景:近期大规模供应链攻击频发

除了攻击目标包含热门 npm 包外,此次供应链攻击的 " 时间节点 " 也尤为特殊——它发生在同一月份的两起高关注度供应链攻击之后。

9 月第一周,一场名为 "s1ngularity" 的攻击中,AI 驱动的恶意软件攻陷了 2180 个 GitHub 账户。尽管目前仍在调查此次攻击的根本原因,但包括 Pereira 在内的业内人士推测,此次攻击的幕后黑手可能与 "s1ngularity" 的攻击者为同一伙人。

本月早些时候,热门 npm 包 chalk 与 debug 的维护者也在另一场独立攻击中遭遇钓鱼,导致其管理的项目被攻陷。

这些攻击产生的连锁反应已深入软件依赖链,可能影响到广泛使用的项目,例如谷歌 Gemini CLI。

安全建议

这些持续发生的攻击,暴露了现代软件供应链的脆弱性——一个恶意拉取请求或一个遭攻陷的维护者账户,就可能引发连锁反应,影响数百个项目。

尽管谷歌、CrowdStrike 等厂商强调其核心平台未受影响,但此次事件仍凸显出一个迫切需求:开发者必须加强对软件构建流程与流水线的安全防护。

针对受影响的用户,建议采取以下措施:

1. 审计自身环境与日志,排查是否存在攻陷痕迹;

2. 轮换所有敏感密钥与 CI/CD 令牌;

3. 检查依赖树,移除包含恶意版本的包;

4. 将依赖包版本锁定到可信发布版本;

5. 限制发布凭证的权限范围。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

供应链 开源 传感器 网络安全
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论