我是今天上午朋友说的时候才发现的这个问题,
这篇推文及其附带的 GitHub 链接大体是说每周 npm 下载量超过 200 万的 package 被注入了恶意代码,黑客利用该恶意代码访问热门 JavaScript 库,目标是 copay(开源比特币钱包)及其衍生产品的用户,以此窃取用户的数字货币。
这个被注入恶意代码的 package 名为event-stream
,它是一个用于处理 Node.js 流数据的 JavaScript 软件包,而且 Angular、Vue、Bootstrap、Gatsby 等都在使用 event-stream,所以使用这些库的开发者都应该检查一下自己是否受到了影响。
如果你使用加密货币相关的库,并且运行npm ls event-stream flatmap-stream
,出现flatmap-stream@0.1.1
,如下所示:
npm ls event-stream flatmap-stream
如果出现:恭喜你的钱包中奖了
...
flatmap-stream@0.1.1
...
未中奖:
这个事件的起因是 event-stream 项目的作者由于时间和精力有限,将其维护工作交给了另一位开发者 Right9ctrl,该开发者获得了 event-stream 的控制权,将恶意代码注入。据报道,该恶意程序在默认情况下处于休眠状态,当 BitPay 的 Copay 钱包启动后,就会自动激活,它将会窃取用户钱包内的私钥并发送至 copayapi.host:8080。
目前 npm 已经删除了带有恶意版本的 event-stream,如果你想继续使用 event-stream,可更新到最新版本的 event-stream 4.0.1
原文事件:https://github.com/dominictarr/event-stream/issues/116