JavaScript库遭入侵,小心Copay钱包中的钱不翼而飞
近日,据ZDnet消息,一名黑客获得了Java库的权限,并向其注入了恶意代码,用以窃取比特币和存储在BitPay Copay钱包应用程序中的比特币现金。包含恶意代码的库名为Event-Stream,是用于处理Node.js流数据的Java npm包。
event-stream
是一个用于处理Node.js流数据的JavaScript npm包,深受开发者喜欢,它在npm.org存储库上每周下载量超过200万,Angular、Vue、Bootstrap、Gatsby等都在使用event-stream。
事件起因
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-stream v3.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?
那么,你觉得是谁之过呢?
参考来源:
腾讯云
zybuluo
github
- End -
往期热门资讯:
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com