NodeCordRAT恶意软件
网络安全分析师发现了三个恶意 npm 软件包,它们旨在传播一种此前未被记录的远程访问木马 (RAT),该木马现已被追踪为 NodeCordRAT。这些软件包已于 2025 年 11 月从 npm 注册表中移除,并且全部由名为“wenmoonx”的帐户发布。
已识别的恶意软件包:
- bitcoin-main-lib(约 2,300 次下载)
- bitcoin-lib-js(约193次下载)
- bip40(约970次下载)
攻击者故意选择与知名 bitcoinjs 生态系统中的合法存储库非常相似的名称,这显然是为了误导开发者,增加意外安装的可能性。
目录
感染链和有效载荷传递
当安装 bitcoin-main-lib 或 bitcoin-lib-js 时,攻击就开始了。这两个软件包都包含一个精心构造的 package.json 文件,其中定义了一个 postinstall.cjs 脚本。该脚本会在后台静默安装 bip40,而 bip40 正是恶意代码的载体。
一旦执行,bip40 就会部署最终有效载荷:NodeCordRAT,这是一个功能齐全的远程访问木马,内置数据收集功能。
什么是NodeCordRAT?
NodeCordRAT 的名称源于其两个核心设计选择:使用 npm 作为传播机制,以及使用 Discord 作为命令与控制 (C2) 平台。安装后,该恶意软件会对受感染的系统进行指纹识别,从而在 Windows、Linux 和 macOS 主机上生成唯一的标识符。
该木马程序能够窃取敏感信息,包括:
- Google Chrome 凭据
- API令牌
- 加密货币钱包密钥,例如 MetaMask 数据和助记词
所有收集到的数据都会通过 Discord 的基础设施传输回攻击者。
基于 Discord 的命令与控制
NodeCordRAT 不依赖传统的 C2 服务器,而是使用硬编码的 Discord 服务器和令牌来建立隐蔽的通信通道。通过该通道,攻击者可以发出指令并接收窃取的数据。
支持的攻击者命令包括:
- !run – 通过 Node.js 的 exec 函数执行任意 shell 命令
- !screenshot – 截取完整的桌面屏幕截图并将其导出为 PNG 文件
- !sendfile – 将指定的本地文件上传到 Discord 频道
通过 Discord API 进行数据泄露
数据泄露完全通过 Discord 的 REST API 进行。恶意软件利用嵌入的令牌,将窃取的内容直接发布到私有频道,并通过该端点附加文件:
/channels/{id}/messages
这种方法允许威胁行为者将恶意流量与合法的 Discord 活动混合在一起,使得在允许使用 Discord 的环境中检测变得更加困难。
安全隐患
此次攻击活动凸显了开源生态系统和可信协作平台持续遭受滥用的现象。攻击者伪装成常见的比特币相关库,并利用安装后脚本,构建了一条便捷的感染路径,能够传播跨平台远程访问木马(RAT),该木马专注于窃取凭证和远程控制。
对于开发团队和安全专业人员来说,此次事件强调了严格审查依赖项、监控安装时脚本以及对 Discord 等消费者平台的出站流量进行异常检测的重要性。