Flamingo Finance 已確認其未受到最近兩起 npm 供應鏈入侵事件的影響。第一起事件針對加密貨幣用戶,攻擊者向 18 個廣泛使用的 JavaScript 套件中註入了錢包劫持程式碼。
幾天后,另一項活動利用自我複製的蠕蟲病毒破壞了 40 多個軟體包。
什麼是供應鏈攻擊?
當惡意程式碼被引入到其他人所依賴的軟體元件中時,就會發生供應鏈攻擊。由於開源庫在無數專案中重複使用,因此一次入侵就可能在整個生態系統中廣泛傳播。
現代開發實踐只會加劇風險。應用程式通常依賴數百個小型程式庫,而這些程式庫僅由少數人維護。隨著人工智慧輔助編碼自動引入更多軟體包,依賴項的數量(以及攻擊面)持續成長。
惡意軟體的工作原理
在這起以加密貨幣為重點的事件中,攻擊者控制了一個維護者帳戶,從而獲得了npm的發布存取權限,並利用該帳戶推送惡意程式碼。該事件被安全公司Aikido和Socket偵測到,並指出此攻擊可能影響每週數十億次下載。
第一個惡意軟體使用了基於瀏覽器的攔截器。它勾住了fetch
、 XMLHttpRequest
和錢包 API 等核心函數,掃描 EVM 轉帳請求。當偵測到交易時,它會悄悄地將目標位址替換為攻擊者控制的位址,並使用相似的位址來避免引起懷疑。
幾天後發現的蠕蟲病毒卻另有目的。它從開發者環境中竊取 npm 令牌、SSH 金鑰和其他憑證,然後將自身重新發佈到其他軟體包中。雖然它並非直接針對加密貨幣,但它展現了單一漏洞在註冊表中造成連鎖反應的速度之快。
對加密貨幣用戶的影響
攻擊者最初的目標鎖定在相容以太坊的錢包上,例如Metamask。儘管受感染的錢包範圍廣泛,但區塊鏈監控器追蹤到流向攻擊者地址的資金不足 500 美元。
專家認為快速的檢測和回應限制了損失。
Flamingo Finance 表示,它並未受到影響,因為其去中心化交易所不依賴 EVM 的直接轉帳流程。相反,它只使用 EVM 進行跨鏈操作,而惡意軟體並未嘗試利用這一點。
結構性風險
這兩起事件都凸顯了開源供應鏈的脆弱性。一次憑證被盜就可能暴露數十億次下載。許多此類軟體包由個人或小型團隊維護,缺乏資源來抵禦針對性攻擊。
研究人員呼籲加強保護措施,包括強制維護人員使用硬體金鑰、更嚴格的發布權限以及新版本的加密認證。如果沒有這些改進,網路釣魚和憑證竊盜仍將是攻擊者的可靠切入點。
保持安全
開發人員的防禦措施包括強制執行硬體支援的身份驗證、限制發布權限、輪換憑證、固定依賴版本以及掃描建置異常。
在 CI/CD 管道中採用來源證明可以進一步減少風險。
最終用戶可以透過將更新延遲到新版本經過審核、盡量減少與錢包連接的應用程式和擴展的數量以及使用硬體或多重簽名錢包來存儲大量餘額,從而降低風險。