新聞

惡意Rust套件偽裝以太坊工具,鎖定Web3開發者發動跨平台攻擊

2025 / 12 / 08
編輯部
惡意Rust套件偽裝以太坊工具,鎖定Web3開發者發動跨平台攻擊
資安研究人員近期揭露一起針對 Web3 開發者的供應鏈攻擊事件。駭客組織將惡意 Rust 套件(crate)偽裝成以太坊虛擬機(EVM)工具,在開發者系統上秘密植入惡意程式,並根據作業系統類型執行不同的攻擊載荷。

惡意套件偽裝成開發工具

這個名為「evm-units」的惡意套件於 2025 年 4 月中旬上傳至 Rust 官方套件庫 crates.io,由用戶「ablerust」發布,並在過去八個月內累積超過 7,000 次下載。同一作者發布的另一個套件「uniswap-utils」獲得超過 7,400 次下載,且將 evm-units 列為相依套件,使惡意程式碼得以自動執行。

資安業者 Socket 研究員 Olivia Brown 指出,該套件表面上會回傳以太坊版本號碼,讓受害者毫無察覺。然而在背景運作時,套件會根據受害者的作業系統與防毒軟體執行狀態,下載並執行惡意載荷。

針對不同平台的攻擊手法

惡意程式透過看似無害的函式「get_evm_version()」觸發攻擊。該函式會解碼內建的 Base64 編碼字串,連線至外部網域「download.videotalks[.]xyz」,並根據作業系統下載對應的攻擊程式。

在 Linux 系統上,惡意程式將腳本下載至 /tmp/init,透過 nohup bash 在背景執行,並將所有標準輸入輸出流導向空值。在 macOS 系統上,程式下載名為 init 的檔案,使用 osascript 配合 nohup 在背景執行。

Windows 系統的攻擊手法更為複雜。惡意程式會將載荷儲存為 PowerShell 腳本檔案(init.ps1),並檢查系統中是否執行「qhsafetray.exe」程序(這是中國資安廠商奇虎 360 開發的 360 Total Security 防毒軟體的執行檔)。若未偵測到該程序,惡意程式會建立 Visual Basic Script 包裝器來執行隱藏的 PowerShell 腳本;若偵測到防毒程式,則直接呼叫 PowerShell。

鎖定亞洲加密貨幣市場

專家指出,檢測奇虎 360 防毒軟體是一個罕見且明確的跡象,顯示攻擊者鎖定中國市場。奇虎 360 是中國的網路安全公司,而亞洲正是全球最大的零售加密貨幣活動市場之一,這與加密貨幣竊取攻擊的典型特徵相符。

從套件名稱可見端倪:EVM 和 Uniswap 都是以太坊生態系統的核心元素。Uniswap 是建立在以太坊區塊鏈上的去中心化加密貨幣交易協定。攻擊者刻意偽裝成以太坊開發工具,目標明確指向 Web3 領域的開發者。

供應鏈攻擊的擴散機制

更嚴重的是,惡意相依套件被整合進另一個廣泛使用的套件(uniswap-utils)中,使惡意程式碼在初始化時自動執行。研究人員發現,uniswap-utils 套件本身看似正常,用於處理多條鏈上的 Uniswap 池位址。然而,它在程式碼中使用了 #[ctor::ctor] 註解,導致 evm-units 的惡意函式在初始化階段自動執行。

這種供應鏈攻擊手法讓惡意程式能在開發者未直接安裝 evm-units 的情況下,透過相依套件自動感染系統。攻擊者將跨平台的第二階段載入器嵌入看似無害的函式中,形成典型的軟體供應鏈攻擊模式。

防護建議

Socket 資安團隊於 12 月 2 日通報後,crates.io 團隊立即停用 ablerust 帳號,並於當日 22:01 UTC 刪除相關惡意套件。Rust 官方部落格指出,這些套件在 crates.io 上沒有任何下游相依套件。

資安專家建議開發者採取以下防護措施:
  • 使用 Socket 等工具掃描所有相依套件,而非僅檢查直接相依項目
  • 在 CI/CD 流程中啟用相依套件防護機制,確保惡意套件在進入生產環境前被攔截
  • 持續監控現有的相依套件,因為套件可能在後續版本中變成惡意程式
  • 留意套件中的可疑行為,例如作業系統特定的載荷下載、PowerShell 或 Bash 執行,以及隱藏的初始化掛鉤
  • 優先使用經過驗證的套件來源,並定期審查專案中使用的第三方程式庫
開發者為加速開發進度,經常直接採用第三方程式庫,卻忽略深入檢視相依套件的原始碼。惡意攻擊者正是利用這種信任關係,在看似無害的套件中植入後門、資料竊取機制或遠端程式碼執行功能。

本文轉載自 TheHackerNews、HelpNetSecurity