HackerNews 09月18日
NPM生态系统遭受蠕虫式供应链攻击,超180个包感染
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

近期,NPM生态系统遭遇了一场名为Shai-Hulud的严重供应链攻击。该攻击利用了超过40个开发者账户,向NPM注册表发布了700多个恶意包版本,影响了超过180个NPM包,其中包括下载量巨大的@ctrl/tinycolor、ngx-bootstrap等。恶意软件通过post-install脚本窃取机密信息、环境变量和云密钥,并将GitHub令牌用于创建公共仓库或将私有仓库公开。该攻击的独特之处在于其蠕虫式传播能力,一旦受损包在环境中发现新的NPM令牌,就能自动发布其可访问的任何包的恶意版本,进一步扩大感染范围。攻击主要针对Linux和macOS环境,并窃取GitHub、NPM、AWS、Google Cloud、Atlassian和Datadog等平台的凭证。虽然大部分泄露的机密已被撤销,但攻击者仍可能利用受损账户重启攻击。

🐛 **蠕虫式传播的恶意软件:** Shai-Hulud攻击的核心是其自复制恶意软件,它能够利用受损的NPM令牌在环境中自动发布其他受信任包的恶意版本,从而实现蠕虫般的传播。当一个包被感染后,它会主动寻找并传播到其他包,使得攻击范围迅速扩大。

🔑 **多平台机密窃取与泄露:** 该恶意软件通过post-install脚本,利用TruffleHog等工具识别并窃取包括GitHub令牌、环境变量、云密钥(AWS、Google Cloud)、Atlassian密钥和Datadog API密钥在内的敏感信息。一旦获取GitHub令牌,攻击者会创建公共仓库来转储这些机密,或将私有仓库公开,导致大量敏感数据泄露。

📈 **广泛的NPM生态系统影响:** 此次攻击影响了超过180个NPM包,包括@ctrl/tinycolor(每周下载量超200万)、ngx-bootstrap(每周下载量30万)等流行包,以及CrowdStrike的安全包。攻击还导致了超过700个带有“Shai-Hulud迁移”标签的公共GitHub仓库的创建,显示了其对NPM生态系统的深度渗透。

🛡️ **防御与应对措施:** 为了防范此类攻击,用户应警惕NPM上有新版本但在GitHub上未及时更新的包,并建议固定依赖项以防止意外更新。一旦发现入侵迹象,应立即撤销并重新发放所有GitHub和NPM令牌、SSH和API密钥,并重新安装仓库中的所有包。同时,持续审计依赖项、实施强大的身份验证和访问控制、监控异常行为至关重要。

⚠️ **持续的供应链安全挑战:** Shai-Hulud攻击是近期针对NPM生态系统的第三次重大供应链攻击,表明此类攻击并非孤立事件,而是持续存在的威胁。组织需要全面了解其软件供应链,建立透明的软件材料清单(SBOM),并具备快速响应漏洞评估的能力,以应对不断演变的攻击向量。

HackerNews 编译,转载请注明出处:

在一次新的供应链攻击中,超过180个NPM包被一种自复制恶意软件击中,该恶意软件用于窃取机密、在GitHub上发布这些机密,并将私有仓库变为公开仓库。

作为攻击的一部分,黑客入侵了超过40个开发者账户,并在NPM注册表上发布了700多个恶意包版本。

这次攻击在9月15日被Loka高级软件工程师Daniel dos Santos Pereira发现,但攻击始于9月14日,当时只有不到十几个恶意包被发布。到当天结束时,大约有50个包版本被发布。

到了9月16日,这次被命名为Shai-Hulud的攻击(基于代码将机密信息转储到的公共仓库的名称)已经影响了超过180个包,Ox Security警告说。

一些受影响的包包括@ctrl/tinycolor(每周下载量超过200万)、ngx-bootstrap(每周下载量30万)、ng2-file-upload(每周下载量10万)以及多个CrowdStrike NPM包(这些包被立即移除)。

这些包被注入了一个post-install脚本,该脚本旨在获取TruffleHog机密扫描工具以识别和窃取机密,并收集环境变量和IMDS暴露的云密钥。

该脚本还会验证收集到的凭据,如果识别到GitHub令牌,就会使用它们创建一个公共仓库,并将机密信息转储到其中。

此外,它还会推送一个GitHub Actions工作流,将每个仓库中的机密信息泄露到一个硬编码的webhook(由于超出允许的回调限制而被停用),并将私有仓库迁移到标记为“Shai-Hulud迁移”的公共仓库。

网络安全公司Socket在GitHub上发现了超过700个带有Shai-Hulud迁移标签的公共仓库,这些仓库都是在攻击发生时创建的。

使用受害者受损账户创建的公共GitHub仓库来发布被盗机密,这与几周前的s1ngularity供应链攻击中看到的模式相似。事实上,安全公司Wiz表示,Shai-Hulud的首批受害者也是s1ngularity攻击的已知受害者。

使这次攻击与众不同的是恶意代码,它使用任何识别到的NPM令牌来枚举和更新受损害维护者控制的包,并将恶意post-install脚本注入其中。

“这次攻击是一种自我传播的蠕虫。当一个受损的包在受害环境中遇到额外的NPM令牌时,它将自动发布它可以访问的任何包的恶意版本,”Wiz指出。

根据StepSecurity对Shai-Hulud攻击流程的技术分析,该蠕虫针对Linux和macOS执行环境,并故意跳过Windows机器。

JFrog指出,相同的窃取数据的有效载荷的多个变体已被注入到受损包的恶意版本中。该代码被看到针对GitHub、NPM、AWS和Google Cloud凭证,以及Atlassian密钥和Datadog API密钥。

“尽管主要功能相同,但一些版本存在细微差异,表明攻击者在活动过程中进行了迭代调整。例如,一些版本将‘Shai-Hulud’仓库设为私有,隐藏起来避免被发现。另一个版本还试图窃取Azure凭证,”JFrog说。

根据GitGuardian的说法,作为这次攻击的一部分,共有278个机密被公开泄露,其中包括从本地机器收集的90个和通过恶意工作流被泄露的188个。大多数机密被迅速撤销,但仍有数十个,主要是GitHub API令牌,仍然有效。

安全公司警告说,恶意代码的自我传播潜力可能会使这场活动再持续几天。

为了避免被感染,用户应该警惕那些在NPM上有新版本但在GitHub上没有的包,并建议固定依赖项以避免意外的包更新。

Wiz表示,它没有观察到新的Shai-Hulud仓库的创建,但由于蠕虫通过使用受害者维护者的凭证来发布新包来自动化传播,任何受损账户都可能被用来重新启动攻击。

“这个循环允许恶意软件持续感染维护者可以访问的每一个包。每个发布的包都成为了一个新的传播载体:一旦有人安装它,蠕虫就会执行、复制,并进一步传播到生态系统中,”安全公司Aikido指出。

Wiz称Shai-Hulud是“迄今为止观察到的最严重的JavaScript供应链攻击之一”,而ReversingLabs警告说,NPM生态系统中的包依赖关系放大了活动的影响。

ReversingLabs表示,受影响的各方包括“科技公司创始人和首席技术官;提供软件开发服务的公司;为非营利组织工作的开发人员;在赌博硬件和软件以及创建办公开发套件的公司中担任技术领导的开发人员;人工智能公司的开发人员;安全供应商——包括一家领先的端点检测和响应(EDR)供应商;学生开发人员;以及其他每天依赖NPM构建软件的人。”

为了检测潜在的入侵,NPM用户被建议检查其GitHub账户下创建的新仓库或分支,搜索包含其组织名称的名为Shai-Hulud或Shai-Hulud迁移的公共仓库,审查GitHub审计日志,并查找可疑的API调用。

如果他们发现任何入侵迹象,用户应该撤销并重新发放所有GitHub和NPM令牌,以及SSH和API密钥、环境变量机密,并重新安装其仓库中的所有包。

Shai-Hulud是在s1ngularity攻击和最近Josh Junon(Qix)被入侵之后,针对NPM生态系统的第三次重大供应链攻击,Josh Junon是18个NPM包的维护者,这些包每周的总下载量超过25亿次。

“这些攻击并非异常,只要攻击向量仍然有效,就会继续发生。组织需要确切了解其软件环境中包含的内容,并在出现问题时做好采取行动的准备。这意味着审计依赖项,纳入软件材料清单(SBOM)以提供透明度并能够快速进行漏洞评估,通过特权访问管理实施强大的身份验证和访问控制,监控异常行为,并保护机密,以便被盗凭证不能被武器化,”Keeper Security首席信息安全官Shane Barney说。

 

 


消息来源:securityweek

本文由 HackerNews.cc 翻译整理,封面来源于网络;

转载请注明“转自 HackerNews.cc”并附上原文

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

NPM 供应链攻击 Shai-Hulud 恶意软件 安全 GitHub Supply Chain Attack Malware Security
相关文章