被后爹坑:开源 JavaScript 库沦为摇钱树
编译:360代码卫士团队
每周下载量超过200万次的 JavaScript 库 Event-Stream被注入恶意代码,从某密币钱包中窃取密币。
Event-Stream旨在简化和 Node.js 流模块的运作,可从 npmjs.com 仓库中获取。尽管恶意代码在上周就被发现,研究人员刚刚才通过解密并反混淆的方法确定了它的目的。
遭“恶后爸”接手
研究人员表示,仍在使用的更早版本的库中包含一个新组件“flatmap-stream”版本 0.1.1,其中包含危险代码。这个新组件是 Event-Stream 的原作者 Dominic Tarr 将其移交给另外一名开发人员 right9ctrl。
Right9ctrl 似乎在收到对 Event-Stream 的访问权限后就提交了恶意更改,并发布了更新后的版本。
Tarr 表示,“他(即 right9ctrl)发邮件跟我说想维护这个模块,于是我就给他了。我并没有从维护这个模块中获得任何东西,这些年我甚至都不使用它了。”他表示,他已不再拥有在 npmjs.com 上对该库的发布权。
Tarr 犯了一个错误,移交了发布权但仓库仍然在他的用户名下。
利用比特币钱包牟利
分析了恶意代码的用户表示,恶意代码的目标是和移动版和桌面版 Copay 比特币钱包 app 相关联的库。
Right9ctrl 的目的是窃取钱包文件,因为使用 Copay 所使用的一个数据包时,恶意代码会成功执行。
被注入的代码试图窃取钱包中的比特币,之后试图连接至 copayapi.host 以及位于马来西亚的 IP 地址 111.90.151.134。
Event-Stream库仍可通过 npm 管理器从 Right9ctrl 处获取,但它并未显示出任何风险。Right9ctrl似乎在两个月前推出了版本4.0.1的更新版本,其中并未包含恶意代码。
Github 上的用户认为 Right9ctrl 这样做的目的是隐藏痕迹,因为多数开发人员会将项目和库的主要版本关联在一起,但并不会直接更新。这样,后门仍然会存在于项目中,但最新的数据包修订版是清洁版本。
至少有一名开发人员表示,flatmap-stream 包已不再能从 npm 中获取。
至于 Copay,它已发布版本 5.2.2,其中并未包含有问题的 JavaScript 库。
推荐阅读
原文链接
https://www.bleepingcomputer.com/news/security/backdoor-in-popular-javascript-library-set-to-steal-cryptocurrency/