Injective 開發人員使用的軟體工具惡意版本旨在收集錢包私鑰和恢復助記詞,引發了對透過受影響版本處理敏感錢包資訊的應用程式的擔憂。駭客入侵了用於為 Injective 區塊鏈建構錢包和應用程式的軟體套件,並添加了能夠秘密收集加密錢包憑證的程式碼。
安全公司 Socket 在 @injectivelabs/sdk-ts 的 1.20.21 版本中發現了惡意程式碼,該套件有助於應用程式連接 Injective 並管理與錢包相關的功能。該套件每週通常有大約 50,000 次下載,但該數字包含所有版本,並不代表受此事件影響的人數。
Socket 表示,受入侵的版本被下載了大約 310 次。然而,下載並不自動意味著錢包金鑰已洩露。危險程式碼需要在應用程式處理私鑰或恢復助記詞時執行。目前尚未發布受影響錢包的確認數量,也沒有公開證據表明資金被盜。
此事件不涉及 Injective 區塊鏈本身的 breaches。相反,攻擊者針對開發人員使用的可信軟體元件,這種方法通常被稱為軟體供應鏈攻擊。
開發人員通常依賴現成的軟體套件,而不是從頭編寫應用程式的每個部分。這些套件可以處理連接區塊鏈、建立錢包和簽署交易等任務。在這種情況下,惡意程式碼被放置在官方 Injective 套件中,並設計為在應用程式處理敏感錢包資訊時啟動。Socket 表示,它可以捕獲私鑰或助記詞恢復短語,並試圖將數據發送出去,同時將活動偽裝成普通的技術報告。
私鑰賦予其持有者對相關加密錢包的控制權。恢復助記詞可用於在另一台設備上恢復同一個錢包。與普通帳戶密碼不同,這些憑證在洩露後無法簡單重置。
私鑰洩露已成為最具破壞性的加密攻擊形式之一,因為犯罪分子可以直接控制錢包,而無需破解底層區塊鏈。最近的一項安全審查發現,私鑰事件佔其檢查數據集中記錄損失的約 40%。Injective 事件也顯示了為什麼攻擊者越來越多地針對用戶已經信任的軟體和平台。熟悉的套件名稱、既定的開發人員帳戶或公认的應用程式可以使惡意活動看起來合法,並降低用戶質疑的可能性。
Socket 表示,未經授權的更改是透過一位有貢獻 Injective 項目歷史的開發人員的 GitHub 帳戶提交的。真實帳戶所有者後來發現了該活動並撤銷了更改。現有報告未識別攻擊者或解釋帳戶是如何被訪問的。
竊取錢包的程式碼位於主要 Injective SDK 套件的 1.20.21 版本中。然而,Injective npm 集合中的其他 17 個套件發布時連結到了相同的受影響版本。這意味著一些開發人員可能間接收到了受感染的軟體。應用程式可能安裝了一個 Injective 套件,而該套件在後台自動引入了受影響的 SDK。
因此,此事件不應描述為 18 個單獨感染的套件。現有證據顯示,主要 SDK 包含惡意功能,而 17 個相關套件直接或間接依賴於該版本。Socket 表示,在發現入侵並發布乾淨版本後,受影響的版本被標記為已棄用。然而,在 Socket 報告時,受感染版本尚未完全從 npm 中移除,相關發布材料仍可透過 GitHub 獲得。
關於事件的確切日期,報告也有所不同。Socket 發布的時間線指的是 6 月 8 日,而一些次要報告將活動定在 7 月。由於月份尚未獨立解決,確切日期應歸因於來源,而不是作為無爭議的事實陳述。
建議直接使用或透過另一個 Injective 套件使用 1.20.21 版本的開發人員,假設受影響軟體處理的錢包憑證可能已洩露。
建議採取的行動包括:
如果憑證已被複製,僅更新套件可能無法保護錢包。一旦另一方獲得私鑰或恢復助記詞,舊錢包就不應再被視為安全。錢包用戶還必須檢查他們批准的權限。在另一起案件中,攻擊者在受害者簽署惡意權限請求後盜取了約 $92,000 的 Tether Gold,這表明犯罪分子並不總是需要直接獲取種子短語來拿走資產。
雖然該案件使用了不同的技術,但它突顯了同樣的更廣泛問題:加密安全性不僅取決於區塊鏈,還取決於圍繞錢包的軟體、批准和服務。目前沒有證據表明 Injective 區塊鏈被駭客入侵,每個 Injective 錢包都處於風險之中,或有確認數量的加密貨幣被盜。已知危險僅限於安裝了受感染套件並透過它處理錢包憑證的應用程式。

