NPM供應鏈攻擊刷屏:發生了什麼?如何規避風險?

原標題:一夜間「供應鏈攻擊」刷屏:發生了什麼?如何規避風險?

原作者:Azuma,Odaily 星球日報


北京時間 9 月 9 日,Ledger首席技術官 Charles Guillemet 於 X 發文預警表示:「目前正在發生一起大規模供應鏈攻擊,一名知名開發者的 NPM 賬號遭到入侵。受影響的軟件包下載量已超過 10 億次,這意味著整個 JavaScript 生態系統都可能面臨風險。」

Guillemet 補充表示:「惡意代碼的工作原理是在後臺靜默篡改加密貨幣地址,以此竊取資金。如果你使用硬件錢包,請仔細核對每一筆簽名交易,你就是安全的。如果你沒有使用硬件錢包,請暫時避免進行任何鏈上交易。目前尚不清楚攻擊者是否已經在直接竊取軟件錢包的助記詞。」

發生了什麼?

根據 Guillemet 所援引的安全報告內容,本次事件發生的直接原因在於:知名開發者 @qix 的 NPM 賬戶遭到入侵,導致數十個軟件包被髮布惡意版本,包括 chalk、strip-ansi 和 color-convert 等,惡意代碼可能已經在開發者或用戶自動安裝依賴時擴散至終端。

Odaily 注:受損軟件包的周下載量數據。

簡而言之,這是一起經典的供應鏈攻擊案例——即攻擊者通過在開發工具或依賴系統中植入惡意代碼(如 NPM 包)來進行作惡。所謂 NPM,全稱為 Node Package Manager,它是 JavaScript/Node.js 生態裡最常用的軟件包管理工具,其主要作用包括管理依賴、安裝和更新軟件包、共享代碼等等。

NPM 的生態規模極大,目前已有數百萬個軟件包,幾乎所有 Web3 項目、加密錢包、前端工具都會依賴 NPM——也正是因為 NPM 依賴數量龐大且鏈路複雜,所以它是供應鏈攻擊的高危入口,攻擊者只要在一個常用軟件包裡植入惡意代碼,就可能影響成千上萬的應用和用戶。

如上圖的惡意代碼擴散流程圖所示:

· 某項目(藍色框)會直接依賴一些常見的開源庫,比如 express。

· 這些直接依賴(綠色框)又會依賴其他間接依賴(黃色框,如 lodash)。

· 如果某個間接依賴被攻擊者偷偷植入了惡意代碼(紅色框),它會順著依賴鏈條進入到該項目中。

這對加密貨幣意味著什麼?

該起安全事件與加密貨幣行業的直接關係在於,黑客向上述受汙染的軟件包中植入的惡意代碼是一個精密的「加密貨幣剪貼板劫持程序」,通過替換錢包地址和劫持交易來竊取加密資產。

Stress Capital 創始人 GE(@GuarEmperor)於 X 就此進行了更詳細的解釋,黑客所注入的"剪貼板劫持程序「採用了兩種攻擊模式——被動模式下使用「萊文斯坦距離算法(Levenshtein distance algorithm)」替換錢包地址,由於視覺上近似因此極難察覺;主動模式下則會在檢測瀏覽器內的加密錢包,在用戶簽署交易前篡改目標地址。

由於本次攻擊針對的是 JavaScript 項目基礎層庫,意味著即使間接依賴這些庫的項目也可能受到影響。

黑客獲利情況如何?

黑客所植入的惡意代碼也披露了其攻擊地址,黑客在以太坊上的主要攻擊地址為 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976,資金上則主要來源於以下三個地址:

· 0xa29eEfB3f21Dc8FA8bce065Db4f4354AA683c0240

· x40C351B989113646bc4e9Dfe66AE66D24fE6Da7B

· 0x30F895a2C66030795131FB66CBaD6a1f91461731

Arkham 方面已就本次攻擊事件製作了跟蹤頁面,在該頁面可實時查詢黑客攻擊獲利情況及轉移情況。

截至發文,黑客攻擊歲僅獲利 496 美元,但考慮到目前尚未確定惡意代碼的已擴散範圍,預計該數據可能還會繼續上升——開發者本人現已收到通知,正在與 NPM 安全團隊積極合作解決問題,惡意代碼目前已從大部分受影響的軟件包中移除,所以情況正在得到控制。

該如何規避風險?

Defillama 創始人 @0xngmi 於 X 表示,本次事件雖然聽起來很危險,但實際影響範圍實際並沒有那麼誇張——因為本事件只會影響自被黑的 NPM 軟件包發佈以來推送過更新的網站,其他項目仍將使用舊版本;且大多數項目都會固定它們的依賴關係,所以即使它們推送更新,仍會繼續使用舊的安全代碼。

不過,由於用戶側無法真正知道某個項目是否固定了依賴項,或者它們是否有一些動態下載的依賴項,所以目前首先需要由項目方出面自檢並進行披露。

截至發文,包括 MetaMaskPhantomAave、Fluid、Jupiter 等多個錢包或應用端項目方均已披露自身不受本次事件影響,故理論上用戶可放心使用已確認安全的錢包正常訪問已確認安全的協議,但對於其他尚未進行安全披露的錢包或項目,暫時避免使用可能會是更安全的做法。


Twitter:https://twitter.com/BitpushNewsCN

比推 TG 交流群:https://t.me/BitPushCommunity

比推 TG 訂閱: https://t.me/bitpush

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論