近日,據ZDnet訊息,一名黑客獲得了Java庫的許可權,並向其注入了惡意程式碼,用以竊取比特幣和儲存在BitPay Copay錢包應用程式中的比特幣現金。包含惡意程式碼的庫名為Event-Stream,是用於處理Node.js流資料的Java npm包。
event-stream是一個用於處理Node.js流資料的JavaScript npm包,深受開發者喜歡,它在npm.org儲存庫上每週下載量超過200萬,Angular、Vue、Bootstrap、Gatsby等都在使用event-stream。
事件起因
11月21日,@FallingSnow在event-streamgithub的Issuse中釋出了針對植入的惡意程式碼的疑問。
從該Issuse得知,在三個月前event-stream專案的作者@dominictarr由於時間和精力,將其維護工作交給了另一個名為@Right9ctrl的程式設計師。
@Right9ctrl獲得了event-stream 控制權後,注入了惡意程式碼。
惡意程式在預設情況下處於休眠狀態,當BitPay的Copay錢包啟動後,就會自動啟用,竊取使用者錢包內的私鑰併傳送至copayapi.host:8080。
影響範圍和解決措施
如果你使用加密貨幣相關的庫,並且執行npm ls event-stream flatmap-stream,出現flatmap-stream@0.1.1,則代表你的專案很可能受到了影響:
$npm ls event-stream flatmap-stream
...
flatmap-stream@0.1.1
...
目前已經確認9月至11月期間,Copay錢包的所有版本均已被感染。
今天早些時候,BitPay團隊釋出了Copay v5.2.2,已經刪除event-stream和Flatmap-Stream依賴項,惡意的event-streamv3.3.6也已從npm.org中刪除。
由於@Right9ctrl試圖刪除他的惡意程式碼,釋出了不包含任何惡意程式碼的後續版本的event-stream,所以event-stream庫仍然可用。
如果你想繼續使用event-stream,請儘快更新到event-stream最新版本4.0.1。
誰之過?
那麼,這次關乎上千萬開發者的事件應該由誰來負責呢?
GitHub的評論區正在對本事件中涉及到的兩位當事人@dominictarr和@Right9ctrl的行為進行討論。
有人原作者@dominictarr,為什麼會讓@Right9ctrl擁有訪問repo的許可權?
有人質問@Right9ctrl,如果已經意識到了這是一次注入攻擊,那麼為什麼不從npm中抽出event-stream@3.3.6,然後再輸入PSA?
那麼,你覺得是誰之過呢?
參考來源:
更多資訊: