Solana生态再现隐藏私钥窃取恶意机器人 谨慎使用开源项目

robot
摘要生成中

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

2025年7月初,一名用户向安全团队求助,称其加密资产被盗。调查显示,事件源于该用户使用了GitHub上一个名为solana-pumpfun-bot的开源项目,触发了隐藏的盗币行为。

近期,又有用户因使用类似的开源项目audiofilter/pumpfun-pumpswap-sniper-copy-trading-bot导致资产被盗。安全团队对此进行了深入分析。

分析过程

静态分析

分析发现,可疑代码位于/src/common/config.rs配置文件中,主要集中在create_coingecko_proxy()方法内。该方法首先调用import_wallet()获取私钥,然后对私钥长度进行判断:

  • 若长度小于85,打印错误信息并陷入无限循环
  • 若长度大于85,将私钥转换为Keypair对象并封装

随后,恶意代码解码出攻击者服务器地址,构造JSON请求体将私钥发送至该地址。同时,该方法还包含获取价格等正常功能来掩饰其恶意行为。

create_coingecko_proxy()方法在应用启动时被调用,位于main.rs中main()方法的配置文件初始化阶段。

攻击者服务器IP位于美国。该项目近期在GitHub上进行了更新,主要更改了config.rs中的服务器地址编码。

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

动态分析

为直观观察盗窃过程,我们编写脚本生成测试密钥对,并搭建接收POST请求的服务器。将测试服务器地址编码替换原恶意地址,并更新.env文件中的私钥。

启动恶意代码后,测试服务器成功接收到包含私钥的JSON数据。

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

入侵指标

IP: 103.35.189.28

域名: storebackend-qpq3.onrender.com

恶意仓库:

总结

攻击者通过伪装成合法开源项目,诱导用户执行恶意代码。该项目读取本地.env文件中的敏感信息,并将盗取的私钥传输至攻击者服务器。

建议开发者与用户对来路不明的GitHub项目保持警惕,尤其是涉及钱包或私钥操作时。如需运行或调试,应在独立且无敏感数据的环境中进行,避免执行来源不明的程序和命令。

Solana生态再现恶意机器人:配置文件暗藏私钥外传陷阱

SOL0.15%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
盲盒拆穿人vip
· 2小时前
啧啧啧 又见套路
回复0
gas_fee_therapistvip
· 2小时前
solan果然难把控 从细节下手
回复0
GateUser-75ee51e7vip
· 2小时前
炸裂 真的心累了
回复0
口嗨做多王vip
· 2小时前
韭菜多灾多难...别被割了
回复0
MeltdownSurvivalistvip
· 2小时前
不买杂牌开源就对了
回复0
BridgeNomadvip
· 2小时前
不拥有私钥就不拥有加密货币……又一个Solana漏洞,真是无奈
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)