返回论坛

深度技术分析:伪装成Solana工具的GitHub恶意项目如何窃取用户钱包资产

查找币 学术研究 安全研究 Web3安全 区块链安全

查找币安全研究院

钱包恢复评估 | 链上取证分析 | Web3 事件响应
以合法授权、证据保全、隐私保护和可复核流程为前提,不要求用户在线提交完整私钥或助记词。

查看研究院 研究报告中心
## 事件概述 2025年7月2日,查找币安全团队接到一名受害者的紧急求助——其加密钱包资产在运行一个名为 `zldp2002/solana-pumpfun-bot` 的GitHub开源项目后,短时间内被洗劫一空。经过团队深入分析,我们发现这是一起精心策划的供应链攻击事件,攻击者利用伪装成合法Solana工具的恶意NPM包,实现了对用户私钥的精准窃取。 ## 攻击链分析 ### 1. 项目特征异常:Star与Fork的“虚假繁荣” 我们首先对目标GitHub仓库进行了全面审计。该仓库的Star和Fork数量看似可观,但深入分析后发现一个关键异常:**所有代码提交时间高度集中在三周前**,完全不符合正常开源项目持续迭代、修复Bug的规律。这种“一次性提交”模式,是典型的恶意项目特征——攻击者在短时间内完成代码部署,随后通过刷量手段制造热度,引诱更多受害者。 ### 2. 依赖包溯源:被下架的恶意组件 该项目基于Node.js开发,我们对其依赖包进行审计时,发现了一个名为 `crypto-layout-utils` 的第三方包。进一步核查显示: - **该包已被NPM官方下架** - `package.json` 中指定的版本号在NPM历史记录中**完全不存在** - 无法通过NPM官方源下载 这一发现立即引起了我们的警觉。那么,受害者是如何成功安装这个“不存在”的依赖包的呢? ### 3. package-lock.json中的关键线索 在 `package-lock.json` 文件中,我们找到了攻击者的核心操作手法: ```json "crypto-layout-utils": { "resolved": "https://github.com/sjaduwhv/testing-dev-log/releases/download/1.3.1/crypto-layout-utils-1.3.1.tgz", ... } ``` 攻击者将依赖包的下载链接**直接替换为GitHub Release上的恶意文件**。这意味着,即使用户执行标准的 `npm install` 命令,也会从攻击者控制的服务器下载恶意代码,完全绕过了NPM官方的安全审查。 ### 4. 恶意代码分析:高度混淆与私钥窃取 我们下载了 `crypto-layout-utils-1.3.1.tgz` 并进行分析。该包使用了 `jsjiami.com.v7` 进行高度混淆,这是一种专业的JavaScript代码混淆工具,显著增加了逆向分析的难度。 经过解混淆处理,我们确认了恶意代码的核心逻辑: - **文件扫描机制**:恶意代码会遍历用户的文件系统,搜索与钱包、私钥相关的关键词 - **敏感数据上传**:一旦发现包含私钥或助记词的文件,立即通过HTTP请求上传至攻击者控制的服务器(域名:`githubshadow.xyz`) - **隐蔽性设计**:恶意代码仅在项目运行时被触发,不会留下明显的系统痕迹 ### 5. 攻击者基础设施分析 我们进一步追踪发现,GitHub账号 `zldp2002` 疑似控制了一批账号,用于: - **Fork恶意项目**:创建多个“副本”项目,扩大传播范围 - **刷高Star和Fork**:制造项目“受欢迎”的假象 - **变体分发**:部分Fork项目使用了另一个恶意包 `bs58-encrypt-utils-1.0.3` `bs58-encrypt-utils` 自2025年6月12日创建,表明攻击者至少从该日期开始分发恶意NPM包。在被NPM下架后,攻击者迅速切换策略,改为直接替换下载链接的方式进行分发。 ### 6. 资金流向追踪 使用查找币链上反洗钱与追踪系统,我们分析了其中一个攻击者地址的资金流向: - **盗币地址**:将受害者的SOL和其他代币汇集 - **中转地址**:通过多个中间地址进行资金清洗 - **最终目的地**:资金被转移至交易平台 **FixedFloat** ## 技术总结与防御建议 本次攻击事件展示了现代供应链攻击的典型特征: 1. **社会工程学**:利用GitHub开源社区的信任机制,通过刷量制造“可信”假象 2. **技术隐蔽性**:通过替换NPM依赖下载链接,绕过官方安全审查 3. **代码混淆**:使用专业混淆工具增加分析难度 4. **多账号协同**:控制多个GitHub账号扩大传播范围 ### 安全建议 - **谨慎运行GitHub项目**:特别是涉及钱包操作的项目,务必检查其提交历史、依赖来源 - **隔离运行环境**:在独立、无敏感数据的机器上运行可疑项目 - **依赖审计**:检查 `package-lock.json` 中的依赖下载链接,确认其来源为官方NPM源 - **代码审查**:对第三方依赖进行代码审计,特别是使用混淆工具的项目 - **实时监控**:部署文件系统监控,及时发现异常文件读取行为 ## 恶意项目清单 ### 已知恶意GitHub仓库(部分) - `2723799947qq2022/solana-pumpfun-bot` - `2kwkkk/solana-pumpfun-bot` - `790659193qqch/solana-pumpfun-bot` - `7arlystar/solana-pumpfun-bot` - `918715c83/solana-pumpfun-bot` - `AmirhBeigi7zch6f/solana-pumpfun-bot` - `VictorVelea/solana-copy-bot` - `Morning-Star213/Solana-pumpfun-bot` - `warp-zara/solana-trading-bot` - `harshith-eth/quant-bot` ### 恶意NPM包 - `crypto-layout-utils` - `bs58-encrypt-utils` ### 恶意下载链接 - `https://github.com/sjaduwhv/testing-dev-log/releases/download/1.3.1/crypto-layout-utils-1.3.1.tgz` ### 数据接收服务器 - `githubshadow.xyz` --- 本文由查找币安全团队整理发布
在论坛中查看和回复