以太坊智能合約暗藏陷阱!npm 套件被植入針對開發者的惡意程式

安全研究人員警告,一種新型攻擊正悄悄利用 以太坊智能合約 作為命令與控制(C2)通道,將惡意軟體隱藏在看似無害的 npm JavaScript 套件中,專門針對開發者電腦下手。這種方法不僅增加了追蹤與移除的難度,還利用區塊鏈的不可變性與公開性,讓防禦方更難封鎖。

惡意 npm 套件如何利用以太坊傳遞攻擊指令

ReversingLabs 發現,兩個名為 colortoolsv2 和 mimelib2 的 npm 套件會讀取以太坊上的特定智能合約,以獲取二階段惡意下載器的 URL,而不是將基礎設施硬編碼在套件中。

這種設計降低了靜態檢測的可能性,並在程式碼審查中留下更少線索。雖然這兩個套件的下載量極低(分別為 7 次與 1 次),但其攻擊思路對供應鏈安全構成了重大威脅。

GitHub 偽裝與社交工程引導安裝

調查顯示,這些惡意套件的推廣來自一個偽裝成交易機器人的 GitHub 儲存庫網絡,例如 solana-trading-bot-v2。

攻擊者透過虛假星標、誇大的提交歷史與傀儡維護者帳號,誘導開發者在不經意間安裝惡意依賴。

這種方法與 2024 年末的 npm 網域搶注攻擊如出一轍,當時數百個套件在安裝階段會查詢以太坊合約,取得基礎 URL,再下載針對 Windows、Linux、macOS 的惡意可執行檔。

鏈上命令通道的技術細節

安全公司 Checkmarx 與 Phylum 發現,攻擊者使用的核心合約地址為 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b,並透過 ethers.js 調用 getString(address) 取得最新的 C2 伺服器地址。

這些 C2 節點包括 45.125.67.172:1337 與 193.233.201.21:3001,會隨時間變動以躲避封鎖。

由於智能合約資料不可刪改,這種鏈上存儲方式比傳統的 GitHub Gist 或雲端儲存更難被下架。

防禦建議:阻斷生命週期腳本與網路請求

專家建議,開發團隊應在 npm 安裝與 CI 流程中啟用 --ignore-scripts 參數,防止惡意生命週期腳本自動執行,並透過鎖定檔案固定套件版本。

同時,應在防火牆或安全代理中封鎖已知惡意 IP 與合約地址,並監控建置日誌中對 getString(address) 的可疑呼叫。

Node.js 官方安全指南也建議對維護者身份與套件元資料進行更嚴格的審核,以降低供應鏈攻擊風險。

结语

雖然這次事件影響的下載量不大,但它揭示了一種更隱蔽且難以防禦的攻擊模式——利用區塊鏈作為持久化命令通道,結合社交工程與開源供應鏈滲透,對開發者與企業構成長期威脅。未來,鏈上惡意軟體與傳統供應鏈攻擊的結合,可能成為資安領域的新常態。

ETH-0.28%
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)