当前位置: 首页 > news >正文

SBOM风险预警 | 恶意NPM组件开展木马投毒攻击,目标针对国内泛互企业

SBOM情报概述

近日(2025.03.17 ~ 2025.03.19),悬镜供应链安全情报中心在NPM官方仓库(www.npmjs.com)中捕获多起针对Windows和Linux平台NPM开发者开展敏感信息窃取及恶意木马投放的供应链投毒事件。攻击者(tt2579)在NPM官方源上连续投放4款恶意组件(包括momo-lib、migu-lib、migu-utils、cmft-utils),共涉及22个不同版本。结合该系列组件包名称以及高版本号等特征,推测攻击者尝试针对国内泛互联网企业(陌陌、咪咕、中移金科等)开展组件包依赖混淆攻击。这些恶意组件会利用代码混淆和沙箱环境识别来进行安全检测对抗,在组件安装过程中会静默执行投毒代码,除了窃取系统敏感信息之外,还负责远程下载或本地释放并执行恶意木马程序。

截至目前,这些恶意组件仍正常托管在NPM官方仓库及国内各大主流镜像源,对于NPM开发者以及潜在目标企业来说都存在较大安全隐患。悬镜安全已于第一时间将该系列恶意投毒包的详细技术分析向XSBOM供应链安全情报订阅用户进行推送预警。

图片

恶意组件列表

根据NPM官方接口统计,该系列恶意组件近一周下载量超过1400次。

图片

恶意组件周下载量

投毒分析

Poisoning Analysis

以 migu-lib 组件包为例,该组件包名猜测为咪咕(migu)公司内部开发包,目前投毒者已连续发布8个不同版本,近一周下载量超过700次。在最新版本(9.10.08)中,其核心恶意代码被混淆保护。一旦安装该恶意包,混淆恶意代码将收集系统信息并植入Windows木马程序到受害者系统中。

图片

migu-lib恶意包主页

安全对抗

组件 package.json 中通过 postinstall 指令实现组件安装过程中执行 node index.js 命令,此外 index.js 文件除了进行常规代码混淆保护外,恶意代码执行时也会进行沙箱环境检测和文件自删除等手段来对抗安全检测。

图片

投毒组件恶意代码主模块

index.js 文件混淆代码还原后如下所示,其主要逻辑是先调用 isSafeEnvironment() 函数检测系统进程中是否存在sandbox沙箱相关的进程,如果不存在则启动定时器,每隔5秒收集外传系统信息及投放执行木马程序。

图片

index.js 混淆代码还原

系统信息外传

collectSystemInfo() 函数负责收集系统版本、系统用户、主机名、工作目录、网络信息等数据后,调用 reportData()  函数将系统信息通过 HTTP 方式 POST 发送到攻击者服务器上(http://149.104.26.89/api/collect)。

图片

系统信息收集及窃取

恶意木马投放

deployPayload() 函数负责恶意木马程序投放执行操作,如果当前系统是Windows系统,则从攻击者服务器上下载木马程序(http://149.104.26.89/cmd.dat)到系统临时目录伪装成cmd.exe并执行。

图片

木马程序下载执行

如果目标系统是Linux系统,则将内嵌在index.js文件中的base64编码的ELF木马程序解码释放到系统临时目录下,并伪装成bash程序执行。如下图所示红色方框部分为内嵌在index.js文件中的恶意ELF木马程序base64编码数据。

图片

恶意EXE程序base64编码数据

如下图所示,Windows系统EXE木马程序及Linux系统ELF木马程序在VirusTotal上都被多款杀软引擎检出为恶意木马。

图片

Windows恶意EXE木马程序检测结果

图片

Linux恶意ELF木马程序检测结果

IoC 数据

本次捕获的NPM投毒组件包涉及的IoC数据如下表所示:

图片

排查方式

Investigation Method

以 migu-lib 恶意组件为例,开发者可通过命令 npm list migu-lib 在项目目录下使用查询是否已安装存在恶意投毒的组件版本,如果已安装请立即使用 npm uninstall migu-lib 进行卸载。此外还需关闭系统网络并排查系统是否存在异常进程。

此外,也可使用 OpenSCA-cli 工具将受影响的组件包按如下示例保存为db.json文件,直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到投毒包影响。

[     {         "product": "momo-lib",         "version": "[0.0.10]",         "language": "javascript",         "id": "XMIRROR-MAL45-D3D19312",         "description": "恶意NPM组件窃取系统信息及投放木马程序",         "release_date": "2025-03-17"     },  {         "product": "cmft-utils",         "version": "[0.0.99, 0.99.99, 1.0.5, 1.0.98, 1.98.98, 9.98.98]",         "language": "javascript",         "id": "XMIRROR-MAL45-FAE53422",         "description": "恶意NPM组件窃取系统信息及投放木马程序",         "release_date": "2025-03-17"     },  {         "product": "migu-lib",         "version": "[0.0.11, 0.0.98, 1.0.2, 1.0.3, 1.0.98, 1.1.98, 1.2.98, 9.10.98]",         "language": "javascript",         "id": "XMIRROR-MAL45-1383E426",         "description": "恶意NPM组件窃取系统信息及投放木马程序",         "release_date": "2025-03-17"     },  {         "product": "migu-utils",         "version": "[0.0.98, 0.9.98, 1.9.98, 2.3.98, 2.4.98, 2.9.98, 9.9.98]",         "language": "javascript",         "id": "XMIRROR-MAL45-7AA9AB83",         "description": "恶意NPM组件窃取系统信息及投放木马程序",         "release_date": "2025-03-19"     }]

悬镜供应链安全情报中心是国内首个数字供应链安全情报研究中心。依托悬镜安全团队强大的供应链SBOM管理与监测能力和AI安全大数据云端分析能力,悬镜云脉XSBOM数字供应链安全情报预警服务通过对全球数字供应链投毒情报、漏洞情报、停服断供情报等进行实时动态监测与溯源分析,可为用户智能精准预警“与我有关”的数字供应链安全情报,提供情报查询、情报订阅、可视化关联分析等企业级服务。

相关文章:

  • 前端面试整理
  • 三步打造Temu多账号独立IP环境
  • 2025年01月13日字节(本地生活)前端面试
  • centos 7 搭建FTP本地用户
  • 数据库取证分析
  • 【Git】--- 分支管理
  • vue 点击放大,图片预览效果
  • vue项目配置服务器代理,解决请求跨域问题
  • el-table下的复选框关联勾选
  • thinkphp8.0\swoole的websocket应用
  • MySQL: 创建两个关联的表,用联表sql创建一个新表
  • 电机控制常见面试问题(十八)
  • vulntarget_a 训练笔记
  • 人工智能赋能:生成式游戏的未来趋势
  • 响应式 Web 设计:HTML 与 CSS 协同学习的进度(二)
  • 2025-03-24 学习记录--C/C++-PTA 习题7-7 字符串替换
  • 预测蓝桥杯16届嵌入式省赛客观题
  • 【进阶编程】Avalonia、MAUI、Uno Platform、Flutter、Electron、Qt 和 Tauri 的详细对比
  • CPP中的numeric库中的accumulate求和函数说明
  • Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)
  • 日中友好议员联盟代表团访问中国人民对外友好协会
  • 恒瑞医药赴港上市获证监会备案,拟发行不超8.15亿股
  • 杭州打造商业航天全产业链,请看《浪尖周报》第22期
  • 百岁太极拳大师、陈氏太极拳第十一代嫡宗传人陈全忠逝世
  • 申花四连胜领跑中超联赛,下轮榜首大战对蓉城将是硬仗考验
  • 伊朗外长:美伊谈判进展良好,讨论了很多技术细节