ReversingLabs的資安研究人員在ETHCode的更新中發現兩行惡意程式碼。ETHCode是一款開源以太坊開發工具,約有6,000名開發者使用。這兩行惡意程式碼是透過一個成功繞過AI安全審查和人工審核的GitHub pull request植入,之後發佈給開發者使用。
重點整理:
- 一名無GitHub貢獻紀錄的駭客透過包含4,000行更新、共43次commit的pull request,將惡意程式碼植入ETHCode
- 惡意程式碼設計用來下載並執行腳本,恐導致加密貨幣資產遭竊或智慧合約被攻擊
- GitHub的AI審查員及開發團隊皆未能識破此次複雜攻擊,此案引發對開源安全作業流程的憂慮
調查揭露攻擊細節
這個惡意pull request於6月17日由名為Airez299的用戶送出,他在平台上沒有任何過往貢獻紀錄。ReversingLabs研究人員發現,攻擊者用與現有檔案相似的名稱隱蔽惡意程式,並混淆實際程式碼結構。
第一行惡意程式碼能和合法檔案無縫融合,第二行則是觸發機制,最終會建立一個PowerShell功能,從公開檔案寄存服務下載並執行批次腳本。
GitHub自動AI審查員與7finney團隊(負責維護ETHCode的組織)皆參與了此龐大程式碼更新的審查。過程中僅對部分細節提出修正建議,人工與自動審查系統都未將嵌入的惡意碼標記為可疑。
攻擊規模波及數千系統
ETHCode是一套提供以太坊開發者建構、部署EVM相容智慧合約的完整工具更新。這次受感染的版本本會依標準更新機制自動推送至用戶系統。
ReversingLabs研究員Petar Kirhmajer向Decrypt表示,尚未發現惡意程式碼真的被用來竊取代幣或資料,但受影響範圍仍不容小覷。
Kirhmajer於研究部落格中指出:「這個pull request可能已流入數千名開發者的系統。」ReversingLabs持續調查被下載腳本的實際功能,基於推測認為這些腳本「目的是要竊取受害者機器上的加密資產,或破壞使用此擴充功能開發中的以太坊合約。」
此案屬於一次精密的供應鏈攻擊,利用了開源開發流程中的信任機制。
產業專家警告大規模開源漏洞
以太坊開發者暨NUMBER GROUP聯合創辦人Zak Cole強調,這類攻擊反映出加密貨幣開發生態系的廣泛安全挑戰,許多開發者安裝開源套件時未進行充分安全審查。
Cole向Decrypt表示:「現在真的太容易讓人偷偷植入惡意程式了。不只是npm套件,也可能是瀏覽器擴充等等。」
加密貨幣產業高度依賴開源開發,導致惡意攻擊面持續擴大。Cole舉例去年12月的Ledger Connect Kit事故與Solana web3.js函式庫中的惡意軟體作為警示。
Cole補充:「程式量太多,能審查的人太少。大多數人只因為某個工具很熱門或很久沒出事,就以為它安全,其實不然。」
他也指出,隨著更多開發者使用開源工具,可攻擊面還會再擴大,同時國家支持的駭客也參與其中。
Cole說:「還得記住,有整座倉庫都是DPRK(北韓)駭客,他們每天的工作就是進行這類攻擊。」
開發者資安建議
雖然這次攻擊手法細膩,資安專家認為成功入侵的機率實際上仍很低。Kirkhmajer根據研究經驗估算,「成功案例極為罕見」。
ReversingLabs建議開發人員在下載或導入程式碼前,先驗證貢獻者的身分及貢獻歷程。也應檢視package.json與相關相依聲明,以評估新程式碼關聯。
Cole建議透過依賴鎖定等措施,避免自動導入未經測試的更新。他也推薦使用自動掃描工具,辨識可疑行為模式或陌生維護人員資訊。
開發者還應注意那些突然更換維護者或釋出不尋常更新的套件。Cole強調,應區分不同開發用途的環境。
Cole結語:「也不要在同一台機器上同時跑簽章工具或錢包與做開發。當作一切都可能不安全,除非你親自檢查或在沙盒測過。」
結語
此事件揭示開源加密貨幣開發的持續安全挑戰——高明攻擊者善於利用信任機制,大規模散布惡意軟體至開發者系統。雖然目前尚無證據顯示惡意程式確實執行,但事件突顯整個產業亟需提升安全意識及驗證流程。

