Shai-Hulud供应链攻击再升级 数百款知名npm包遭恶意篡改
胡金鱼 2025-11-28 04:1:0 Author: www.4hou.com(查看原文) 阅读量:19 收藏

胡金鱼 新闻 刚刚发布

664

收藏

导语:目前所有遭篡改的包仍可在npm上下载,但在部分情况下,npm平台会弹出“最新版本未经授权发布”的警告信息,这表明平台的自动审查机制已检测到异常。

在新一轮Shai-Hulud供应链攻击中,攻击者在npm仓库(Node Package Manager)植入了数百款经过恶意篡改的知名软件包,涉及Zapier、ENS Domains、PostHog、Postman等热门项目。

这些恶意软件包被上传至npm平台,核心目的是窃取开发者凭证及持续集成/持续部署(CI/CD)密钥,窃取到的数据会以编码形式自动上传至GitHub。截至本文发布时,GitHub上已检索到27600条与此次攻击相关的记录条目。

Shai-Hulud_npm_27k.jpg

在新Shai-Hulud行动中被窃取秘密的GitHub仓库

Shai-Hulud恶意软件最早于9月中旬现身npm生态,当时它通过自我传播型载荷感染了187个软件包,并利用TruffleHog工具窃取开发者密钥。其攻击手法为:自动下载合法软件包,修改package.json文件以注入恶意脚本,再通过被盗的维护者账号将篡改后的包重新发布到npm。

专注于开发者安全的平台Aikido Security的恶意软件研究员Charlie Eriksen较早发现了这轮新攻击——起初检测到105个带有Shai-Hulud特征的恶意篡改包,此后仅按包名统计,数量已增至492个。随后该研究员发出预警,指出此次供应链攻击窃取的密钥已泄露至GitHub。

然而攻击规模仍在呈指数级扩张,目前恶意包数量已突破2.7万个。云安全平台Wiz的研究人员发现,攻击者共使用了约350个独立的维护者账号,并透露“过去几小时内,每30分钟就有1000个新仓库被创建”。

GitHub上出现的这些仓库,实则表明使用了恶意npm包且环境中存储有GitHub凭证的开发者设备已遭入侵。

CI/CD安全公司Step Security对新版Shai-Hulud恶意软件的技术分析显示,其恶意载荷主要存在于两个文件中:一个是setup_bun.js,这是一个伪装成Bun安装程序的恶意投放器;另一个是bun_environment.js,文件大小达10MB。

Step Security指出,该文件采用“极致的代码混淆技术”,例如包含数千条记录的大型十六进制编码字符串、反分析循环,以及用于提取代码中所有字符串的混淆函数。

该恶意软件的攻击流程分为五个阶段,包括窃取密钥(GitHub与npm令牌、AWS、GCP、Azure等云平台的凭证),以及一个破坏性步骤——覆盖受害者的整个主目录。

为自部署软件提供防护解决方案的公司Koi Security统计显示,若计入同一软件包的所有受感染版本,Shai-Hulud已影响超800个npm包。

研究人员确认,新版Shai-Hulud变体的破坏性步骤仅在满足四个特定条件时才会触发:当恶意软件无法通过GitHub认证、无法在GitHub创建仓库、无法获取GitHub令牌,或无法找到npm令牌时,便会删除用户的主目录。

据Wiz透露,恶意代码会收集开发者及CI/CD密钥,并将其上传至“名称包含Shai-Hulud标识”的GitHub仓库。该恶意代码仅在软件包预安装阶段执行,并会创建以下四个文件:cloud.json、contents.json、environment.json、truffleSecrets.json。窃取的密钥会被上传至自动生成的GitHub仓库,这些仓库的描述统一为“Shai-Hulud: The Second Coming”。

Shai-Hulud_compromised-GitHub.jpg

GitHub账户托管来自沙丘行动的仓库

此外,攻击者似乎还获取了部分GitHub账号的控制权,目前正利用这些账号创建包含上述四个文件的仓库。

尽管GitHub会在攻击者创建仓库后立即进行删除,但攻击者创建新仓库的速度极快,难以彻底拦截。

在Aikido Security发现的186个感染新版Shai-Hulud恶意软件的包中,包含多个来自Zapier、ENS Domains、PostHog和AsyncAPI的软件包。其中,遭篡改的Zapier包是构建Zapier集成功能的官方工具包,对Zapier开发者至关重要;而ENS Domains相关包则是钱包、去中心化应用(DApps)、交易所及ENS Manager应用广泛使用的工具库,主要用于处理.eth域名(如将域名解析为以太坊地址、关联IPFS内容、验证域名有效性,以及与官方ENS智能合约交互)。

目前所有遭篡改的包仍可在npm上下载,但在部分情况下,npm平台会弹出“最新版本未经授权发布”的警告信息,这表明平台的自动审查机制已检测到异常。

npm.jpg

npm上的警告信息

研究人员建议开发者:获取完整的受感染包列表,将所用包降级至安全版本,并立即更换密钥及CI/CD令牌。

Wiz的研究人员则建议安全团队:首先识别出受感染的包并替换为合法版本,同时督促企业更换所有与npm、GitHub及云服务商相关的凭证。

Aikido Security还建议开发者,若条件允许,在持续集成过程中禁用npm的postinstall(安装后)脚本。

值得注意的是,Shai-Hulud此次卷土重来的背景是在npm平台遭遇多起高影响供应链攻击后。GitHub已推出额外的安全措施以防范此类攻击,但这些措施目前仍在逐步落地中。

文章来源自:https://www.bleepingcomputer.com/news/security/shai-hulud-malware-infects-500-npm-packages-leaks-secrets-on-github/如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/VW39
如有侵权请联系:admin#unsafe.sh