NPM供应链攻击技术分析
关键要点
攻击者通过针对性钓鱼攻击入侵Node Package Manager(NPM)维护者账户,向广泛使用的JavaScript包中注入恶意代码。某些恶意包通过劫持Web API和操纵网络流量,秘密转移加密货币资产。
攻击的一个有效载荷是Shai-hulud蠕虫,通过受感染的包传播,窃取云服务令牌,部署秘密扫描工具,并传播到其他账户。根据Trend Micro的遥测数据,北美和欧洲的组织受到Cryptohijacker有效载荷的影响最为严重,目前尚未检测到Shai-Hulud蠕虫。
攻击背景
9月15日,NPM仓库遭受持续供应链攻击,攻击者执行高度针对性的钓鱼攻击入侵NPM包维护者账户。获得特权访问后,攻击者向广泛使用的JavaScript包中注入恶意代码,威胁整个软件生态系统。该攻击破坏了多个关键NPM包,包括应用程序开发和加密功能相关的包。
受影响的包类型
恶意修改针对关键的JavaScript库,包括支持开发框架和加密功能的库。受影响的包具有极高的全球下载量——每周超过26亿次,影响了庞大的Web应用程序和依赖项目生态系统。
Shai-hulud攻击链分析
攻击链流程
Shai-Hulud攻击链始于伪装成NPM安全警报的钓鱼邮件,诱骗开发者泄露凭证。攻击者入侵开发者的NPM账户并上传恶意包。安装时,该包执行JavaScript和嵌入的Unix shell脚本以建立持久性并开始窃取信息。
使用被盗的GitHub访问令牌,恶意软件通过GitHub API进行身份验证,检查用户权限,并列出受害者可访问的所有仓库(包括私有仓库)。它将私有仓库克隆到攻击者账户,在每个仓库中创建新分支,并部署恶意工作流以自动化数据窃取。
技术特点
- 自我传播:通过恶意安装后脚本进行核心传播
- 网络活动:与远程服务器通信进行数据外泄
- 递归威胁向量:设计具有持久性,不仅一次性入侵项目
技术方法论
恶意工作流注入分析
Shai-Hulud蠕虫通过向目标仓库注入恶意的GitHub Actions工作流,实现自动化传播和秘密外泄。工作流系统收集CI/CD运行时环境暴露的所有秘密,将其打包并通过HTTPS请求发送到攻击者控制的端点。
GitHub仓库克隆分析
蠕虫自动化克隆、迁移和暴露组织中的私有GitHub仓库到攻击者基础设施的过程。包括仓库发现、目标仓库创建、完整镜像克隆等步骤。
通过TruffleHog进行凭证收集
Shai-Hulud利用TruffleHog自动化在受感染环境中发现凭证和秘密。工作流包括获取最新版本的TruffleHog二进制文件、下载和提取、安装和环境准备、秘密扫描和清理。
安全建议
- 审计依赖项:重点关注最近更新的包
- 撤销和轮换凭证:特别是NPM账户相关凭证
- 监控扫描工具使用:检查异常仓库扫描活动
- 保持安全通告更新:关注官方NPM仓库和可信来源
- 加强访问安全策略:应用最小权限原则,强制执行多因素认证
威胁检测
Trend Vision One™可检测和阻止本文所述的威胁指标,为客户提供定制的威胁狩猎查询、威胁洞察和情报报告。检测查询示例:
|
|