NPM 供應鏈攻擊影響數百個網站和應用程序
NPM供應鏈攻擊可以追溯到2021年12月,當時使用了幾十個包含模糊Javascript代碼的惡意NPM模塊,破壞了數百個下游桌面應用和網站。正如供應鏈安全公司ReversingLabs的研究人員所發現的那樣,在這項被稱為IconBurst的行動背后,威脅行為者會使用仿冒域名去干擾那些正在尋找流行軟件包的開發人員,例如雨傘js和ionic.io NPM 模塊。
如果開發人員被非常相似的模塊命名方案欺騙,威脅行為者將在模塊中添加惡意包,從而把嵌入表單(包括用于登錄的表單)的數據竊取到他們的應用程序或網站。舉個例子,一項活動中使用的一個惡意 NPM 包(icon-package)就有超過 17,000 次下載,旨在將序列化的表單數據泄露到多個攻擊者控制的域。
ReversingLabs的逆向工程師 Karlo Zanki說,“IconBurst 依賴于拼寫錯誤,這是一種攻擊者通過公共存儲庫提供軟件包的技術,這些軟件包的名稱與合法軟件包相似或帶有常見拼寫錯誤。 此外,用于泄露數據的域之間的相似性表明,該活動中的各個模塊都在同一個參與者的控制之下。 ”

IconBurst 惡意 NPM 包的部分列表 (ReversingLabs)
一些惡意模塊仍然可供下載
盡管reveringlabs團隊在2022年7月1日聯系了NPM安全團隊,報告了他們的發現,一些IconBurst惡意包仍然可以在NPM注冊表中使用。
Zanki補充說:“雖然一些已命名的包已經從NPM中刪除了,但大多數仍然可以下載。 由于很少有開發組織有能力檢測開源庫和模塊中的惡意代碼,因此攻擊持續了幾個月才引起我們的注意。 ”
盡管研究人員可以編制一份IconBurst供應鏈攻擊中使用的惡意軟件包列表,但其影響尚未確定,因為無法知道自2021年12月以來,有多少數據和證書通過受感染的應用程序和網頁被盜。 當時唯一可用的指標是每個惡意NPM模塊被安裝的次數,而ReversingLabs的統計數據相當驚人。
Zanki 說:“雖然目前尚不清楚這次攻擊的全部范圍,但我們發現的惡意程序包可能被數百甚至數千個下游移動和桌面應用程序以及網站使用。 捆綁在 NPM 模塊中的惡意代碼在數量未知的移動和桌面應用程序和網頁中運行,收集了無數的用戶數據。 我們團隊確定的 NPM 模塊的總下載量已超過 27,000 次。 ”