据开发者justjavac发布的消息,event-stream 被植入比特币后门事件已经在圈内刷屏。
这个事件的起因是 event-stream 项目的作者由于时间和精力有限,将其维护工作交给了另一位开发者 Right9ctrl,该开发者获得了 event-stream 的控制权,将恶意代码注入。据报道,该恶意程序在默认情况下处于休眠状态,当 BitPay 的 Copay 钱包启动后,就会自动激活,它将会窃取用户钱包内的私钥并发送至 copayapi.host:8080。
event-stream包是一个Node.js 流数据的 JavaScript 软件包,每周下载量在200万次以上,截止到目前为止已经有大约800万次的下载量,持续时间为2.5个月。而且 Angular、Vue、Bootstrap、Gatsby 等都在使用 event-stream,所以使用这些库的开发者都应该检查一下自己是否受到了影响。
目前 npm 已经删除了带有恶意版本的 event-stream,如果你想继续使用 event-stream,可更新到最新版本的 event-stream 4.0.1。
如果想查看自己的项目是否受到影响,可以运行:
$ npm ls event-stream flatmap-stream ... flatmap-stream@0.1.1 ...
如果在输出里面包含了 flatmap-stream 则说明你也可能被攻击。
如果使用 yarn 则可以运行:
$ yarn why flatmap - stream
另外今天 Vue 作者尤雨溪(微博@尤小右)在微博回应表示:
关于 npm event-stream 包的安全问题,Vue CLI 对其依赖关系仅在用 UI 终止任务时存在,已创建项目通过纯 CLI 使用的不受影响。为彻底杜绝问题,建议重装全局的 @vue/cli。
最后,GitHub 的评论区都在争论开源项目作者是否应该对类似事件负责,因为它关乎上万开发者和项目的安全,而此事是作者的失职,对此,你怎么看?
https://github.com/dominictarr/event-stream/issues/116