主要发现
- 攻击者通过针对性钓鱼活动入侵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™搜索应用程序匹配或狩猎本博文中提到的恶意指标:
恶意软件载荷检测:
|
|
趋势Vision One客户可在启用威胁洞察权限后获取更多狩猎查询。此条目的危害指标可在相关链接中找到。