📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
Solana生态再现恶意代码 GitHub项目暗藏私钥窃取陷阱
Solana生态再现恶意机器人:配置文件隐藏私钥泄露陷阱
2025年7月初,一名用户向安全团队求助,请求分析其加密资产被盗原因。调查发现,事件源于该用户使用了一个托管在GitHub上的开源项目,触发了隐藏的盗币行为。
近期,又有用户因使用类似的开源项目导致资产被盗,并联系安全团队。对此,团队进一步深入分析了该攻击手法。
分析过程
静态分析
通过静态分析,发现可疑代码位于/src/common/config.rs配置文件中,主要集中在create_coingecko_proxy()方法内。该方法首先调用import_wallet(),进而调用import_env_var()来获取私钥。
import_env_var()方法用于获取.env文件中的环境变量配置信息。如果环境变量不存在,会进入错误处理分支并持续消耗资源。
PRIVATE_KEY等敏感信息存储在.env文件中。import_wallet()方法获取私钥后,会对其长度进行判断:
随后,恶意代码对私钥信息进行封装以支持多线程共享。
create_coingecko_proxy()方法在获取私钥后,对恶意URL地址进行解码。解码后的真实地址为:
恶意代码将私钥转换为Base58字符串,构造JSON请求体,通过POST请求发送至上述URL,同时忽略响应结果。
此外,该方法还包含获取价格等正常功能,用以掩盖恶意行为。方法名称也经过伪装,具有迷惑性。
create_coingecko_proxy()方法在应用启动时被调用,位于main.rs中main()方法的配置文件初始化阶段。
据分析,该服务器的IP地址位于美国。
该项目在GitHub上于2025年7月17日进行了更新,主要更改集中在src目录下的配置文件config.rs中。攻击者服务器地址的编码被替换为新的编码。
动态分析
为直观观察盗窃过程,编写Python脚本生成测试用的Solana公私钥对,并在服务器上搭建HTTP服务器接收POST请求。
将生成的测试服务器地址编码替换原攻击者设置的恶意服务器地址编码,并将.env文件中的私钥替换为测试私钥。
启动恶意代码后,测试服务器成功接收到了恶意项目发送的JSON数据,其中包含私钥信息。
入侵指标(IoCs)
IP地址:103.35.189.28
域名:storebackend-qpq3.onrender.com
恶意仓库:
类似实现手法的其他仓库:
总结
本次攻击中,攻击者通过伪装成合法开源项目,诱导用户下载并执行恶意代码。该项目会读取本地.env文件中的敏感信息,并将盗取的私钥传输至攻击者控制的服务器。这类攻击通常结合社会工程学技术,用户稍有不慎便可能中招。
建议开发者与用户对来路不明的GitHub项目保持高度警惕,尤其是涉及钱包或私钥操作时。如需运行或调试,建议在独立且无敏感数据的环境中进行,避免执行来源不明的恶意程序和命令。