黑客正在利用以太坊智能合约将恶意软件载荷隐藏在看似无害的npm包中,这种策略将区块链转变为弹性命令通道,并增加了清除难度。
ReversingLabs 详细分析了两个npm包——colortoolsv2和mimelib2,它们通过读取以太坊上的合约获取第二阶段下载器的URL,而非在包内硬编码基础设施。这种选择减少了静态指标,在源代码审查中留下的线索更少。
这些包于7月出现,并在披露后被移除。ReversingLabs追踪到其推广源自一个冒充交易机器人的GitHub仓库网络,包括solana-trading-bot-v2,这些仓库具有虚假星标、膨胀的提交历史和傀儡维护者,这一社交层将开发者导向恶意依赖链。
下载量虽低,但方法值得关注。据The Hacker News报道,colortoolsv2有7次下载,mimelib2有1次,这仍符合针对机会主义开发者的策略。Snyk和OSV现已将这两个包列为恶意,为审计历史构建的团队提供了快速检查途径。
历史重演
链上命令通道呼应了研究人员在2024年末追踪的更大规模活动,涉及数百个npm误植域名包。在那波攻击中,包执行安装或预安装脚本,查询以太坊合约,检索基础URL,然后下载名为node-win.exe
、node-linux
或node-macos
的操作系统特定载荷。
Checkmarx 记录了核心合约0xa1b40044EBc2794f207D45143Bd82a1B86156c6b
及钱包参数0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84
,观察到的基础设施包括45.125.67.172:1337
和193.233.201.21:3001
等。
Phylum的反混淆显示,通过ethers.js
对同一合约调用getString(address)
,并记录了C2地址随时间的轮换,这种行为将合约状态转变为恶意软件检索的可移动指针。Socket独立映射了误植域名泛滥情况,并发布了匹配的IOC,包括相同的合约和钱包,证实了跨源一致性。
旧漏洞持续蔓延
ReversingLabs将2025年的包视为技术而非规模的延续,其变化在于智能合约托管的是下一阶段的URL而非载荷本身。
GitHub分发工作,包括虚假星标和琐碎提交,旨在通过随意的尽职调查,并利用假仓库克隆中的自动依赖更新。
加密投资者蓝图:关于持币被套、内部抢先交易和错过阿尔法的5天课程
我们尊重您的隐私。您的邮箱绝不会被共享。订阅即表示您同意我们的服务条款。
加密投资者蓝图:关于持币被套、内部抢先交易和错过阿尔法的5天课程
发送第一课
很好!您的第一课即将送达。
请将[email protected]加入您的邮箱白名单。
通过以下方式保持联系:
该设计类似于早期使用第三方平台进行间接寻址,例如GitHub Gist或云存储,但链上存储增加了不可变性、公开可读性以及防御者难以轻易下线的中立场所。
根据ReversingLabs,这些报告中的具体IOC包括与7月包相关的以太坊合约0x1f117a1b07c108eae05a5bccbe86922d66227e2b
和2024年合约0xa1b40044EBc2794f207D45143Bd82a1B86156c6b
,钱包0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84
,主机模式45.125.67.172
和193.233.201.21
(端口1337或3001),以及上述平台载荷名称。
2025年第二阶段的哈希值包括021d0eef8f457eb2a9f9fb2260dd2e391f009a21
,而对于2024年的攻击波,Checkmarx列出了Windows、Linux和macOS的SHA-256值。ReversingLabs还发布了每个恶意npm版本的SHA-1,这有助于团队扫描构件存储以查找过去的暴露情况。
防范攻击
对于防御,直接的控制是防止在安装和CI期间运行生命周期脚本。npm文档记录了npm ci
和npm install
的--ignore-scripts
标志,团队可以在.npmrc
中全局设置它,然后通过单独步骤有选择地允许必要的构建。
Node.js安全最佳实践页面建议了相同的方法,以及通过锁文件固定版本和更严格地审查维护者和元数据。
阻止对上述IOC的出站流量,并对初始化ethers.js
以查询getString(address)
的构建日志发出警报,提供了实用检测,与基于链的C2设计相一致。
包已消失,模式仍在,链上间接寻址现在与误植域名和虚假仓库一起,成为触及开发者机器的可重复方式。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/38141.html