作者:Thinking
編輯:Liz
背景概述
2025 年7 月2 日,一名受害者聯繫到慢霧安全團隊,尋求協助分析其錢包資產被盜的原因。事件起因於他前一天使用了託管在GitHub 上的開源專案—— zldp2002/solana-pumpfun-bot,隨後加密資產被盜。
分析過程
我們隨即著手調查這起事件。首先造訪該專案的GitHub 倉庫:https://github.com/zldp2002/solana-pumpfun-bot,可以看到它的Star 和Fork 數量相對較高,但其各個目錄下的程式碼提交時間均集中在三週前,呈現出明顯的異常,缺乏正常專案應有的持續更新軌跡。
這是一個基於Node.js 的專案。我們首先對其依賴套件進行了分析,發現其引用了一個名為crypto-layout-utils 的第三方套件。
進一步檢查發現,該依賴套件已被NPM 官方下架,而且package.json 中指定的版本並未出現在NPM 官方的歷史記錄中。我們初步判斷該套件為可疑組件,並已無法透過NPM 官方來源進行下載。那麼,受害者又是如何取得這個惡意依賴的呢?
繼續深入項目,我們在package-lock.json 檔案中找到了關鍵線索:攻擊者將crypto-layout-utils 的下載連結替換成了:https://github.com/sjaduwhv/testing-dev-log/releases/download/1.3.1/crypto-layout-utils-tgz。
我們下載了這個可疑的依賴套件:crypto-layout-utils-1.3.1,發現這是一個使用jsjiami.com.v7 進行高度混淆後的程式碼,這增加了分析的難度。
解混淆後我們確認了這是一個惡意的NPM 包,攻擊者在crypto-layout-utils-1.3.1 中實現了掃描受害者電腦檔案的邏輯,如果發現錢包或私鑰相關的內容或檔案就上傳到攻擊者控制的伺服器上(githubshadow.xyz)。
惡意NPM 套件掃描敏感檔案和目錄:
惡意NPM 套件上傳包含私鑰的內容或檔案:
我們繼續探索攻擊手法,專案作者(https://github.com/zldp2002/) 疑似控制了一批GitHub 帳號, 用於Fork 惡意專案並進行惡意程式分發,同時刷高專案的Fork 和Star 數量,引誘更多使用者關注,以便擴大惡意程式的分發範圍。
我們也辨識出多個Fork 專案也存在類似惡意行為,其中部分版本使用了另一款惡意套件bs58-encrypt-utils-1.0.3。
該惡意包自2025 年6 月12 日創建,猜測攻擊者這時候就已經開始分發惡意NPM 和惡意Node.js 項目,但在NPM 下架bs58-encrypt-utils 後,攻擊者改用了替換NPM 包下載鏈接的方式進行分發。
此外,我們使用鏈上反洗錢與追蹤工具MistTrack 分析發現,其中一個攻擊者地址盜幣後,將資金轉移至了交易平台 FixedFloat。
總結
在這次攻擊事件中,攻擊者透過偽裝為合法開源專案(solana-pumpfun-bot),誘導使用者下載並執行惡意程式碼。在刷高項目熱度的掩護下,用戶在毫無防備的情況下運行了攜帶惡意依賴的Node.js 項目,導致錢包私鑰洩漏、資產被盜。
整個攻擊鏈涉及多個GitHub 帳號協同操作,擴大了傳播範圍,提升了可信度,極具欺騙性。同時,這類攻擊透過社會工程與技術手段雙管齊下,在組織內部也很難完全防禦。
我們建議開發者與用戶高度警惕來路不明的GitHub 項目,尤其是在涉及錢包或私鑰操作時。如果確實需要運行調試,建議在獨立且沒有敏感資料的機器環境中運行和調試。
惡意依賴套件相關信息
惡意Node.js 專案的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
asmaamohamed0264/solana-pumpfun-bot
bog-us/solana-pumpfun-bot
edparker89/solana-pumpfun-bot
ii4272/solana-pumpfun-bot
ijtye/solana-pumpfun-bot
iwanjunaids/solana-pumpfun-bot
janmalece/solana-pumpfun-bot
kay2x4/solana-pumpfun-bot
lan666as2dfur/solana-pumpfun-bot
loveccat/solana-pumpfun-bot
lukgria/solana-pumpfun-bot
mdemetrial26rvk9w/solana-pumpfun-bot
oumengwas/solana-pumpfun-bot
pangxingwaxg/solana-pumpfun-bot
Rain-Rave5/solana-pumpfun-bot
wc64561673347375/solana-pumpfun-bot
wj6942/solana-pumpfun-bot
xnaotutu77765/solana-pumpfun-bot
yvagSirKt/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
惡意NPM 套件下載連結:
https://github.com/sjaduwhv/testing-dev-log/releases/download/1.3.1/crypto-layout-utils-1.3.1.tgz
惡意NPM 套件上傳資料的伺服器:
githubshadow.xyz