沙虫恶意软件变种攻击红帽 npm 软件包,供应链攻击多数受感染包已移除
沙虫恶意软件变种盯上红帽 npm 软件包,引发供应链攻击,多数受感染包已移除
研究人员发现一种新的沙虫(Shai-Hulud)恶意软件变种,它专门针对与红帽(Red Hat)相关的 npm 软件包,通过软件发布生态系统传播,目的是实现持久化攻击并窃取凭证。
上周末,从红帽的 @redhat-cloud-services npm 命名空间拉取软件包的开发者,意外拉到一个窃取机密的蠕虫程序。多家网络安全机构研究人员发出警告,一场新的供应链攻击已危及 30 多个与红帽云服务相关的 npm 软件包,攻击者借此窃取开发者环境中的凭证、认证令牌和其他机密信息。威兹(Wiz)研究人员将此次攻击活动命名为“瘴气(Miasma)”,认为这是沙虫(Shai-Hulud)恶意软件家族的最新演变。沙虫是自我传播的恶意软件家族,此前多次在针对 npm 生态系统的软件供应链攻击中现身。威兹研究人员在博客文章中指出:“调查显示,至少 32 个软件包版本包含未经授权的修改,与相应的源代码仓库不匹配。这些软件包每周累计下载量约 8 万次。”攻击者通过攻击与红帽云服务相关的软件包,将目标锁定在许多组织已信任的软件生态系统上。不过研究人员也指出,好消息是大多数疑似受感染的软件包已被移除。
沙虫盯上可信软件包
据报道,攻击者入侵红帽云服务相关命名空间下发布的 npm 软件包,并植入能在软件包安装过程中自动执行的恶意软件。这个恶意负载旨在从受感染环境中窃取各种凭证和机密信息。研究人员观察到,攻击者试图收集 npm 认证令牌、环境变量、云凭证以及开发者工作站和 CI/CD 系统中常见的其他敏感信息。威兹分析表明,该恶意软件属于迷你沙虫(Mini Shai-Hulud)家族,这是一种窃取凭证的威胁,今年在 npm 生态系统攻击中多次出现。研究人员表示:“该负载似乎源自 TeamPCP 开源的(迷你)沙虫恶意软件。观察到的修改大多只是表面上的,将与《沙丘》宇宙相关的引用替换成希腊神话主题(如‘斯巴达’),但其底层功能和攻击手法基本保持不变。”这种恶意软件变种会创建包含描述 “瘴气:蔓延的疫病” 的仓库。
供应链再次成为攻击焦点
虽然窃取凭证是直接目标,但研究人员认为,此次攻击活动的更广泛目标似乎是在软件分发生态系统中实现持久化并扩大影响。据威兹称,该恶意软件会主动搜索与软件包发布工作流程相关的凭证。OX 安全公司也指出,代码针对的是能让攻击者突破最初受感染软件包,进而访问更多开发者账户和仓库的机密信息。威兹还发现,攻击者修改了软件包发布工作流程,使恶意版本看起来合法。一个 GitHub Actions 工作流程请求 GitHub OpenID Connect(OIDC)身份令牌,并执行一个经过混淆处理的负载,发布带有有效 SLSA 来源证明的软件包。这使得受感染的版本带有可信的供应链元数据。这种攻击手法借鉴了 TeamPCP 早期对 TanStack 的攻击,该威胁行为者正是开源迷你沙虫恶意软件的幕后黑手。在最近的 “巨齿鲨(Megalodon)” 攻击活动中,也观察到与该威胁行为者代码的相似之处,这表明数月前的供应链攻击影响仍在持续。
对于受影响的组织而言,当务之急是确定是否安装了恶意软件包,以及是否有凭证信息泄露。研究人员建议轮换可能受影响的机密信息,撤销并重新颁发 npm 发布令牌,同时审查仓库和软件包的发布活动。威兹研究人员表示,在发布披露信息时,“大多数” 恶意版本已被撤销。他们还提供了一份包含受感染软件包名称的攻击指标(IOCs)列表,以提供更多支持。
