【導讀】:NPM 成也依賴,坑也依賴!2016 年 3 月,NPM 就炸鍋一次。一個 NPM 模塊的開發者撤回了自己的代碼,導致諸如React 和 Babel 等大量重要項目出問題了。
今天NPM圈又炸鍋了,因為一個廣泛使用的依賴庫 event-stream 在被原維護者Dominic Tarr轉讓給right9ctrl之后被植入了竊取比特幣的后門。這意味著使用到該模塊的開發者們,其設備或許早在不知情的情況下變成了挖礦設備了。
我們是怎么一步一步掉坑的?
event-stream 是一個用于處理 Node.js 流數據的 JavaScript npm 包,它使得創建和使用流變得容易,正是因此,它也受到了廣大開發者的歡迎,目前這個庫每周有 200 萬的下載量。
數月前,event-stream庫的作者者@dominictarr 因為缺乏時間和興趣無法繼續維護這個庫了,于是就將該庫轉讓給了一個完全不認識卻又想要維護的陌生人@right9ctrl ,噩夢就此開始了。
@dominictarr:
(@right9ctrl)他發郵件給我,說他想維護這個模塊,于是我把模塊所有權移交給了他。我沒有從這個模塊得到任何回報,而且我已經好久不使用這個模塊了,大概有好幾年了吧。
9 月 8 日,新維護者@right9ctrl 開始了初步動作,首先釋出了event-stream3.3.6 版本的更新,并在其中加入了一個全新的模塊——flatmap-stream,彼時這個模塊中并沒有惡意功能。
9 月 16 日,@right9ctrl 重寫了代碼并刪除了對flatmap-stream 的依賴,之后又推出新版本,這意味著更新不會自動升級。
10 月 5 日,flatmap-stream 0.0.1 版本被一個名為“hugeglass”的用戶推送到了 NPM。而這次釋出的更新中該模塊就被加入了竊取比特幣錢包并轉移出余額的功能。
因此,自 10 月 5 日以來,任何通過event-stream 庫并使用被植入惡意代碼 flatmap-stream 的開發者都可能受到惡意腳本的攻擊。而據統計,自2018 年 9 月更新以來,惡意包已下載近 800 萬次。且原作者也無奈地表示,自己也沒有權限去修改。
event-stream原作者的回應
收到其他開發者的譴責后,event-stream 原作者Dominic Tarr在 GitHub 上發表聲明做出了回應。
https://gist.github.com/dominictarr/9fd9c1024c94592bc7268d36b8d83b3a
大意如下:
使用者將維護的負擔壓在作者身上,而他開發這個庫不是出于利他動機,是因為好玩。從開發中學習并獲得樂趣,將維護交給另一個人是因為分享也是一種學習。
為什么要把這個軟件包項目交給一個陌生人?
因為當它不再有趣,你從維護中得不到任何東西。一開始他并沒有從 right9ctrl 身上感受到惡意,他以為這是一位真心想幫助他的人。
與其他貢獻者分享 commit access/publish 權力在 node/npm 社區是很流行的。
他認為有兩種方法解決這個問題:給維護者錢,或者使用者也應該承擔部分維護的責任。
如何知道是否中招了?該怎么辦?
目前對于開發者受到此漏洞的影響程度尚未可知,但是當前我們的首要任務還是檢查自己是否使用了相關的惡意庫,例如運行以下代碼:
如果在輸出里面包含了 flatmap-stream 則說明你也可能被攻擊。
倘若確認受到了影響,接下來你首先要做的是從應用程序中刪除惡意軟件包,可以通過恢復到 event-stream版本 3.3.4 來執行此操作。
-
模塊
+關注
關注
7文章
2784瀏覽量
49750 -
比特幣
+關注
關注
57文章
7007瀏覽量
142920
原文標題:可怕!月下載量 800 萬的開源庫被植入比特幣后門
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
智能眼鏡銷量暴漲800% 2025年全球智能眼鏡出貨量預計將達到1280萬臺
UFI濾清器液壓系統公司(UFI Filter Hydraulics)3D零部件產品數據庫
超百萬安卓流媒體曝安全漏洞,被暗中從事電詐活動
摩爾線程支持DeepSeek開源通信庫DeepEP和并行算法DualPipe
沐曦GPU跑通DeepSeek開源代碼庫FlashMLA
超過150萬個大模型,DeepSeek全球最受歡迎

評論