Categories
程式開發

發布當天就被發現? npm 刪除偽裝成Twilio 的惡意庫


最近,npm 安全團隊從npm 網站上刪除了一個JavaScript 庫,因為該庫中包含惡意代碼,這些惡意代碼可以在開發者的計算機上打開後門。

Sonatype 發布的報告表示,該惡意JavaScript 庫是“twilio-npm”,一個看起來像是Twilio 相關庫的惡意庫。該庫於上週五首次在npm 網站上發布,在發布的當天就被Sonatype 團隊發現了其惡意行為,於是npm 安全團隊將這一軟件包列入黑名單並刪除。

雖然twilio-npm 的惡意代碼在發布當天就被發現了,npm 也已經盡快將其刪除,但是該庫仍已經被下載超過370 次,並且自動包含在通過npm 命令行程序構建和管理的JavaScript 項目中。該庫的惡意行為是被Sonatype 的安全研究員Ax Sharma 發現的,Ax Sharma 說,在這個山寨的Twilio 庫中發現的惡意代碼會在所有下載並使用該庫的開發者電腦上打開TCP 反向Shell。反向Shell 程序打開了“4.tcp.ngrok [。] io:11425的連接,從而可以接收被感染用戶的計算機上運行的命令。

Sharma 表示,反向Shell 程序只能在基於UNIX 的操作系統上工作。

npm 安全小組發布了一篇公告表示:“任何安裝或運行了此軟件包的計算機都應被認為完全受到了威脅。該計算機上存儲的所有機密和密鑰都應該立即轉移至另一台計算機。 ”

發布當天就被發現? npm 刪除偽裝成Twilio 的惡意庫 1

圖為npm 發布的公告

在過去的三個月中,npm 已經先後三次刪除惡意軟件包,而此次則為第四次。

8 月,npm 員工刪除了一個名為“ fallguys ”的惡意npm(JavaScript)庫,該庫聲稱提供了“ Fall Guys:Ultimate Knockout ”遊戲API的接口,可實際上,在開發者把該庫加入到自己的項目中後,該庫會運行其惡意代碼,竊取用戶瀏覽器和Discord 的敏感文件。

9 月,npm 員工刪除了4 個npm 庫,原因是這些庫中的惡意代碼收集用戶的詳細信息並將這些信息上傳至GitHub。這四個庫包括:

readernlodashsloadyamlloadyml

10 月,npm 移除了4 個npm 庫,原因是這些庫中的惡意代碼會向遠程服務器建立連接並洩露用戶數據。

《NPM 移除4 個惡意軟件包:洩露用戶數據已有數月,4 個包分工明確》

有開發者對此表示無奈:“為什麼npm 總是會被心懷不軌的人盯上?”總的來說,使用別人的依賴庫還是要謹慎,盡量選擇有大公司背書的依賴庫,有能力的開發者,自己造輪子不香嗎?

對此你有什麼看法呢?歡迎在下方留言和大家一起討論。