摘要:Sonatype研究实验室披露六款npm包存在隐蔽恶意行为,攻击者通过以太坊钱包动态传递命令服务器地址。其中三款知名库被攻陷,另三款为定制化恶意包,均采用链上指令隐藏技术,实现远程控制与代码执行。

币圈界报道:
六款npm包现隐蔽后门,攻击者利用以太坊动态下达指令
Sonatype研究实验室发布最新报告,揭示六个npm包中潜藏的恶意加载器,其命令服务器地址由攻击者的以太坊钱包动态提供。这些包中包括三个曾被广泛使用的知名库,已被攻击者悄然接管。所有使用受影响版本的用户应立即卸载相关包,并排查是否已触发后续恶意行为。
三款主流库账户遭入侵,代码被植入隐蔽加载器
研究人员Adam Reynolds指出,这六个恶意包分为两类。第一类是真实库的官方发布账户被攻破,攻击者借此发布了被篡改的版本。受影响的包包括@kolbo/mcp@1.57.1、agentgui@1.0.1127以及godot-kit@1.0.1786316795。攻击者将恶意加载器注入原有文件末尾,确保原始功能不受影响,从而降低检测风险。
三款定制恶意包伪装成实用工具,隐蔽性极强
其余三个包为专门设计的恶意程序,分别命名为envpack-conf@1.0.1、postcss-initial-provider@3.0.4和tailwindcss-motion-advanced@1.0.1。前者提供配置辅助功能,后者为可运行的PostCSS插件,最后一个则将加载器嵌入压缩后的工具文件中,有效规避静态分析。
链上指令提取机制:以太坊交易作为远程控制信道
所有六个恶意包共享同一套负载逻辑与以太坊钱包地址。当用户运行代码时,加载器会查询该钱包最近一次出账交易的接收者字段,从中提取字节数据并解析为两个IPv4地址,分别作为主备命令与控制服务器。此交易仅用于存储指令,不涉及资金转移,极大降低了被察觉的可能性。
加载器同时向多个以太坊RPC节点发起请求,并在失败时切换至Blockscout API。一旦定位到服务器,它将在/0x/cls与/0x/ls端点尝试连接。若标准GET请求无响应,则转而检查X-Payload-B64头部。解码后的数据经Base64与XOR处理后,将在当前Node.js进程中执行,或以子进程形式启动。
NullReceiver:精简版链上指令投递框架现身
该攻击模式曾在OpenSourceMalware发现的Tailwind CSS克隆项目(bianira-ui与fluid-type-ui)中出现,被命名为NullReceiver。该组织将其与朝鲜关联的Contagious Interview行动联系起来,该行动被认为由Lazarus集团主导。Sonatype已确认相关以太坊钱包匹配。
相较于早期的EtherHiding技术,NullReceiver解决了其关键缺陷。后者将秘密信息写入交易数据字段,并固定发送至公开销毁地址,形成可监控的参照点。而NullReceiver不产生任何出账记录,也不重复使用目标地址。在已有样本中,解码后的字节生成166.88.134.62,并拼出字符串“helloipbot!!”,作为攻击者身份标识。
2025年9月,ReversingLabs曾披露npm下载器colortoolv2与mimelib2,其恶意链接同样通过以太坊智能合约隐藏,与Stargazer's Ghost Network活动有关联。
开发者应对建议:立即清除受感染包并溯源排查
Sonatype表示,相关攻击活动仍在持续调查中。受影响的开发人员应立即移除被标记的npm包,并深入检查系统中是否存在第二阶段恶意负载被执行的痕迹,防止进一步横向渗透。
声明:本站所有文章内容,均为采集网络资源,不代表本站观点及立场,不构成任何投资建议!如若内容侵犯了原著者的合法权益,可联系本站删除。
