恶意 NPM 包窃私钥,Solana 用户资产遭盗

2025-07-06 22:56:48 分享资讯

作者:Thinking

编辑:Liz

背景概述

2025 年 7 月 2 日,一名受害者联系到慢雾安全团队,寻求协助分析其钱包资产被盗的原因。事件起因于他前一天使用了一个托管在 GitHub 上的开源项目 —— zldp2002/solana-pumpfun-bot,随后加密资产被盗。

分析过程

我们随即着手调查此次事件。首先访问该项目的 GitHub 仓库:https://github.com/zldp2002/solana-pumpfun-bot,可以看到它的 Star 和 Fork 数量相对较高,但其各个目录下的代码提交时间均集中在三周前,呈现出明显的异常,缺乏正常项目应有的持续更新轨迹。

恶意NPM包窃私钥,Solana用户资产遭盗

这是一个基于 Node.js 的项目。我们首先对其依赖包进行了分析,发现其引用了一个名为 crypto-layout-utils 的第三方包。

恶意NPM包窃私钥,Solana用户资产遭盗

进一步核查发现,该依赖包已被 NPM 官方下架,而且 package.json 中指定的版本并未出现在 NPM 官方的历史记录中。我们初步判断该包为可疑组件,并已无法通过 NPM 官方源进行下载。那么,受害者又是如何获取到这个恶意依赖的呢?

恶意NPM包窃私钥,Solana用户资产遭盗

继续深入项目,我们在 package-lock.json 文件中找到了关键线索:攻击者将 crypto-layout-utils 的下载链接替换成了:https://github.com/sjaduwhv/testing-dev-log/releases/download/1.3.1/crypto-layout-utils-1.3.1.tgz。

恶意NPM包窃私钥,Solana用户资产遭盗

我们下载了这个可疑的依赖包:crypto-layout-utils-1.3.1,发现这是一个使用 jsjiami.com.v7 进行高度混淆后的代码,这增加了分析的难度。

恶意NPM包窃私钥,Solana用户资产遭盗

恶意NPM包窃私钥,Solana用户资产遭盗

解混淆后我们确认了这是一个恶意的 NPM 包,攻击者在 crypto-layout-utils-1.3.1 中实现了扫描受害者电脑文件的逻辑,如果发现钱包或私钥相关的内容或文件就上传到攻击者控制的服务器上(githubshadow.xyz)。

恶意 NPM 包扫描敏感文件和目录:

恶意NPM包窃私钥,Solana用户资产遭盗

恶意 NPM 包上传包含私钥的内容或文件:#p#分页标题#e#

恶意NPM包窃私钥,Solana用户资产遭盗

我们继续探索攻击手法,项目作者(https://github.com/zldp2002/) 疑似控制了一批 GitHub 账号, 用于 Fork 恶意项目并进行恶意程序分发,同时刷高项目的 Fork 和 Star 数量,引诱更多用户关注,以便扩大恶意程序的分发范围。

恶意NPM包窃私钥,Solana用户资产遭盗

我们还识别出多个 Fork 项目也存在类似恶意行为,其中部分版本使用了另一款恶意包 bs58-encrypt-utils-1.0.3。

该恶意包自 2025 年 6 月 12 日创建,猜测攻击者这时候就已经开始分发恶意 NPM 和恶意 Node.js 项目,但在 NPM 下架 bs58-encrypt-utils 后,攻击者改用了替换 NPM 包下载链接的方式进行分发。

恶意NPM包窃私钥,Solana用户资产遭盗

此外,我们使用链上反洗钱与追踪工具 MistTrack 分析发现,其中一个攻击者地址盗币后,将资金转移至了交易平台 FixedFloat。

恶意NPM包窃私钥,Solana用户资产遭盗

总结

本次攻击事件中,攻击者通过伪装为合法开源项目(solana-pumpfun-bot),诱导用户下载并运行恶意代码。在刷高项目热度的掩护下,用户在毫无防备的情况下运行了携带恶意依赖的 Node.js 项目,导致钱包私钥泄露、资产被盗。

整个攻击链条

本资讯链接: - 壹佰财经
声明:投资有风险,入市须谨慎。本资讯不作为投资建议。