NPM供应链攻击深度解析:恶意软件Shai-hulud与加密货币劫持

本文详细分析了针对Node Package Manager的供应链攻击,攻击者通过钓鱼手段入侵维护者账户,在广泛使用的JavaScript包中注入恶意代码,并部署具有自我复制能力的Shai-hulud蠕虫,窃取云服务令牌和加密货币资产。

主要发现

  • 攻击者通过针对性钓鱼活动入侵Node Package Manager维护者账户,向广泛使用的JavaScript包注入恶意代码
  • 部分恶意包通过劫持Web API和操纵网络流量秘密转移加密货币资产
  • 攻击载荷之一Shai-hulud蠕虫通过受感染包传播,窃取云服务令牌,部署秘密扫描工具,并扩散到其他账户
  • 根据趋势科技遥测数据,北美和欧洲组织受Cryptohijacker载荷影响最严重,目前尚未检测到Shai-hulud蠕虫

攻击概述

9月15日,NPM仓库遭受持续供应链攻击,攻击者执行高度针对性钓鱼活动入侵NPM包维护者账户。获得特权访问后,攻击者向广泛使用的JavaScript包注入恶意代码,威胁整个软件生态系统。此次攻击破坏了多个关键NPM包,包括应用程序开发和加密功能相关的包。

根据StepSecurity,此次事件背后的恶意行为者使用了与上月Nx供应链攻击类似的技术。截至9月16日,Socket研究人员已识别近500个受影响的NPM包。

受影响的包类型

恶意修改针对关键的JavaScript库,包括支持开发框架和加密功能的包。受此次攻击影响的包具有极高的全球下载率——每周超过26亿次,影响了庞大的Web应用程序和依赖项目生态系统。

加密货币资产窃取

攻击者劫持Web API并操纵网络流量,将资金从合法渠道秘密转移到其控制的钱包,针对与受感染包交互的组织和最终用户。

Shai-hulud攻击链分析

其中一个载荷是自我复制的蠕虫,以《沙丘》中的沙虫命名。该蠕虫在NPM注册表中被检测到。

攻击链: Shai-hulud攻击链始于伪装成NPM安全警报的钓鱼邮件,诱骗开发者泄露凭据。攻击者入侵开发者的NPM账户并上传恶意包。安装时,该包执行JavaScript和嵌入的Unix shell脚本以建立持久性并开始窃取信息。

使用被盗的GitHub访问令牌,恶意软件向GitHub API验证身份,检查用户权限,并列出受害者可访问的所有仓库——包括私有仓库。它将私有仓库克隆到攻击者账户,在每个仓库中创建新分支,并部署恶意工作流以自动化数据窃取。

接着,恶意软件下载并安装TruffleHog以扫描和收集文件中的更多秘密。它将所有被盗仓库设为公开并镜像其完整历史。敏感数据随后通过自动化Web请求外泄给攻击者。

此攻击链显示单个受感染账户如何导致恶意代码传播、凭据窃取和大规模数据泄露 across 组织的整个开发环境。

Shai-hulud的独特之处

传统软件供应链威胁通常涉及单次使用载荷或针对性凭据窃取。Shai-hulud通过其在NPM生态系统中自我复制的能力脱颖而出,利用安装后脚本中的可用功能建立二次和三次感染。一旦受感染包被安装,蠕虫自动尝试传播到新目标,创建倍增威胁,在初始部署后不依赖人工干预。

关键特征

  • 自我传播:表现为蠕虫,利用开源社区中现有信任关系自动感染其他NPM包和项目
  • 自主性:无需直接持续操作员输入即可运行,使其更持久且难以控制
  • 环境影响:通过深度嵌入开发和CI/CD环境,获得对更多凭据、令牌和敏感构建秘密的潜在访问

技术方法

  • 安装后滥用:核心传播机制围绕恶意安装后脚本,部署受感染包时执行任意代码
  • 网络活动:蠕虫可与远程服务器通信以外泄数据或接收更新
  • 递归威胁向量:为持久性设计——不仅一次性地危害项目,还在依赖项更新时保持潜在风险

对NPM和开源的风险

NPM的核心优势和风险在于其庞大的社区驱动包网络。Shai-hulud的自我复制蠕虫设计专门针对此社区信任,突显单个恶意行为者如何快速影响 disproportionately 大的开发者和软件项目部分。

安全建议

为保护开发工作流和敏感资产免受持续NPM供应链攻击的风险,组织应通过以下最佳实践优先采取主动安全立场:

  • 审计依赖项,重点关注最近更新的包
  • 撤销和轮换凭据,特别是NPM账户凭据
  • 监控Trufflehog和类似扫描工具的使用证据
  • 及时关注官方NPM注册表和可信来源的安全公告
  • 加强访问和安全策略,如对所有影响仓库和自动化的账户应用最小权限原则,并在所有开发者和CI/CD访问点强制多因素认证

威胁检测

趋势科技客户可使用趋势Vision One™搜索应用程序匹配或狩猎本博文中提到的恶意指标:

恶意软件载荷检测

1
malName: (*CRYPTOHIJACK* OR *SHULUD*) AND eventName: MALWARE_DETECTION

趋势Vision One客户可在启用威胁洞察权限后获取更多狩猎查询。此条目的危害指标可在相关链接中找到。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计