报告编号:B6-2018-112701
报告来源:360-CERT
报告作者:360-CERT
更新日期:2018-11-27
0x00 事件背景
2018年11月21日,名为 FallingSnow的用户在知名JavaScript应用库event-stream在github Issuse中发布了针对植入的恶意代码的疑问,表示event-stream中存在用于窃取用户数字钱包的恶意代码。
360-CERT从该Issuse中得知,大约三个月前,由于缺乏时间和兴趣,event-stream原作者@dominictarr将其开发交给另一位名为@Right9ctrl的程序员。
随后,Right9ctrl发布了包含新依赖关系的Event-Stream 3.3.6 - Flatmap-Stream0.1.1。 其中,Flatmap-Stream v0.1.1 正是是包含恶意代码的npm package。 据分析,该package中的恶意代码主要作用是:它将窃取用户的钱包信息,包括私钥,并将其发送到copayapi.host的8080端口上,目前npm官网已经下架处理。
在实际生产应用中,event-stream库属于一个跨平台的应用,影响面会比较广泛。
360-CERT建议相关用户,特别是互联网企业,应该针对自身IDC线上、研发、办公网环境进行安全评估。
0x01 影响范围
Event-Stream 3.3.6版本
这是一个非常受欢迎的JavaScript库,在npm.org存储库上每周下载量超过200万。
恶意依赖已经存在了2.5个月内未被发现。
9月1日至今已被下载2225w次
npm 已经将恶意的Flatmap-Stream进行下架处理,已经无法从npm中再进行相关的安装,以减小影响。
但已经安装的Event-Stream请及时处理,很有可能已经在遭受影响。
360CERT判断此次事件的影响范围大,危害等级高。建议广大用户及时根据修复建议进行修复和自查。
0x02 修复建议
可以通过如下方式对自己所使用的event-stream进行检测
$ npm ls event-stream flatmap-stream ... flatmap-stream@0.1.1...
可以对event-stream进行降级版本到3.3.4以缓解此事件带来的影响
降级方式如下
npminstallevent-stream@3.3.4
再通过上述命令可以检查是否降级成功
360CERT将在CERT官网随后给出收影响package的相关统计,敬请期待。
0x03 时间线
2018-11-21 @FallingSnow在项目Issue中提出问题
2018-11-27 360CERT发布预警报告
0x04 参考链接
- 黑客植入后门在流行的JavaScript库进行比特币资金窃取
- Malicious code found in npm package event-stream downloaded 8 million times in the past 2.5 months | Snyk
- I don't know what to say. · Issue #116 · dominictarr/event-stream
- add flat map · dominictarr/event-stream@e316336
- npm-stat: event-stream
声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。