JavaScript庫遭入侵,小心Copay錢包中的錢不翼而飛

Editor發表於2018-11-28

近日,據ZDnet訊息,一名黑客獲得了Java庫的許可權,並向其注入了惡意程式碼,用以竊取比特幣和儲存在BitPay Copay錢包應用程式中的比特幣現金。包含惡意程式碼的庫名為Event-Stream,是用於處理Node.js流資料的Java npm包。


JavaScript庫遭入侵,小心Copay錢包中的錢不翼而飛


event-stream是一個用於處理Node.js流資料的JavaScript npm包,深受開發者喜歡,它在npm.org儲存庫上每週下載量超過200萬,Angular、Vue、Bootstrap、Gatsby等都在使用event-stream。



JavaScript庫遭入侵,小心Copay錢包中的錢不翼而飛



事件起因


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?


JavaScript庫遭入侵,小心Copay錢包中的錢不翼而飛


那麼,你覺得是誰之過呢?



參考來源:

  • 騰訊雲
  • zybuluo
  • github



更多資訊:

相關文章