综合自:CSDN、https://www.theregister.co.uk/2018/11/26/npm_repo_bitcoin_stealer/等
昨日,不少开发者“原地爆炸”,因为一个每周 npm 下载量超过 200 万的 package 被注入了恶意代码,黑客利用该恶意代码访问热门 JavaScript 库,目标是 copay(开源比特币钱包)及其衍生产品的用户,以此窃取用户的数字货币。事情是这样的:
数月前,在 GitHub 上这个库的维护者@dominictarr 因为缺乏时间和兴趣无法继续维护这个库了,于是就将该库转让给了一个完全不认识却又想要维护的陌生人@right9ctrl ,接而不少开发者的噩梦就此开始了。
9 月 9 日,right9ctr 在event-stream添加了一个 flatmap-stream 依赖项,然后在 9 月 16 日,通过自己实现代码来删除依赖项,但是,后一种更改并没有自动推送到用户。
今年 10 月 5 日,flatmap-stream 0.0.1 版本被一个名为“hugeglass”的用户推送到了 NPM。释出的更新中该模块就被加入了窃取比特币钱包并转移出余额的功能。
11月20日:Ayrton Sparling 终于发现 Nodemon 软件包上的错误是受到 flatmap-stream 软件包攻击的结果,并引发了事件流的问题,并指责 right9ctrl 是造成该问题的主因,将项目维护随意交给另一个用户。
因此,自 10 月 5 日以来,任何通过 event-stream 库并使用被植入恶意代码 flatmap-stream 的开发者都可能受到恶意脚本的攻击。而据统计,自 2018 年 9 月更新以来,恶意包已下载近 800 万次。
你中招了么?
如果,你也使用该npm包,想知道自己是否受影响,可运行以下代码:
如果在输出里面包含了 flatmap-stream 则说明你也可能被攻击。目前,npm已经删除了带有恶意代码的 event-stream 版本,如果想继续使用,需更新到 event-stream 3.3.4 版本。
最后,GitHub 的评论区都在争论开源项目作者是否应该对类似事件负责,因为它关乎上万开发者和项目的安全,而此事是作者的失职,对此,你怎么看?
●本文编号470,输入编号直达本文
●输入m获取文章目录
领取专属 10元无门槛券
私享最新 技术干货