据 Checkmarx 称,与 MALFEX 活动相关的恶意软件包在 NPM 注册表中的下载量已超过 4 万次。该活动始于 2023 年 8 月,此后攻击者发布了 12 个软件包,其中 8 个被证实为恶意软件包。
其中 5 个软件包已从注册表中移除,但截至 10 月 1 日,仍有 3 个可以安装,分别是 function-flag、function-color 和 cdn-img-fetch。其中,function-flag 尤为突出,因为它自 2025 年 7 月起一直具有恶意性,下载量超过 3.7 万次,却没有任何将其标识为恶意软件包的安全公告警告。
三种投递恶意软件的路径
Checkmarx 确定了三条相互独立的执行路径。这些路径不共享同一套基础设施,但都归属于同一个攻击者。第一条路径使用远程控制软件 Overlord RAT 的加载器,并配合在执行 npm install 时运行的混淆脚本。这些脚本可以在 Windows、macOS 和 Linux 上运行,但最终载荷仅能在 Windows 上运行。
Overlord RAT 赋予操作者监视和控制系统的能力,包括截屏、记录按键、监控窗口、访问远程命令行、搜索文件,以及使用隐藏桌面在不被察觉的情况下执行恶意活动。
第二条路径在软件包加载时执行恶意代码,将信息窃取程序 movinlike 投放到受害者设备上。该恶意软件以窃取数据为目的,针对 8 个 Discord 客户端、7 个常用浏览器以及加密货币钱包。
第三条路径也是持续时间最长的一条路径,在 function-flag 的每个恶意版本中使用独立下载器,从不同网站获取载荷。该感染机制经过设计,即使载荷下载失败,软件包安装也会完成;而在 macOS 和 Linux 上,该例程会静默失败。因此,实际影响主要集中在 Windows 系统上。
这对开发团队意味着什么?
Open Source Vulnerabilities 计划针对 6 个恶意软件包发布了警报,分别是 tlxbnhd、tldriver、mxdriver、img-to-native、native-runner 和 cdn-img-fetch。但关于 cdn-img-fetch 的警报仅涵盖该软件包 4 个恶意版本中的 2 个,因此在审查安装日志时,不能仅依赖该警报。
Checkmarx 表示,这些恶意软件包中没有任何一个是合法或广泛使用的软件包的依赖项,因此暴露范围仅限于直接安装了这些名称的软件系统。该公司也未发现特定的地域或机构目标;任何安装了窃取程序软件包的人都可能成为目标。
这场活动表明,安装过程顺利完成并不能证明软件包是安全的,尤其是在载荷于安装期间或加载时执行,或者下载静默失败的情况下。受影响团队最重要的工作仍是检查依赖文件、NPM 日志和 Windows 环境中是否存在这些名称,同时注意,移除部分软件包或出现一条警报,并不一定涵盖所有恶意版本。