关于node依赖库 event-stream 的3.3.6版本病毒

event-stream这个库,有很多比如vue-cli 、 gulp 之类的很多工具都在使用这个库。

其实这个新闻在公布的第二天,我们就处理了,但是没来得及发文章。

 事情的缘由是这样的:

2018年11月21日,名为 FallingSnow的用户在知名JavaScript应用库event-stream在github Issuse中发布了针对植入的恶意代码的疑问,表示event-stream中存在用于窃取用户数字钱包的恶意代码。

大约三个月前,由于缺乏时间和兴趣,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线上环境、办公网环境进行安全评估。

9月1日至今已被下载2225w次

npm 已经将恶意的Flatmap-Stream进行下架处理,已经无法从npm中再进行相关的安装,以减小影响。

但已经安装的Event-Stream请及时处理,很有可能已经在遭受影响。

修复建议;

可以通过如下方式对自己所使用的event-stream进行检测

$ npm ls event-stream flatmap-stream
...
flatmap-stream@0.1.1
...

可以对event-stream进行降级版本到3.3.4以缓解此事件带来的影响

降级方式如下

npm install event-stream@3.3.4

再通过上述命令可以检查是否降级成功

 

根据flatmap-stream/package.json导出的main

"main": "index.min.js",

在这其中有一段index.js所没有的额外代码

process["env"]["npm_package_description"];的获取测试

这段代码的主要作用翻译如下

解密的n[0] 

解密的n[1] 

其中

恶意代码主要作用 通过重新覆盖bitcore-wallet-client/lib/credentials.jsgetKeysFunc方法进行信息的发送

所使用的信息如下:

发送信息所使用的公钥

"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxoV1GvDc2FUsJnrAqR4C\nDXUs/peqJu00casTfH442yVFkMwV59egxxpTPQ1YJxnQEIhiGte6KrzDYCrdeBfj\nBOEFEze8aeGn9FOxUeXYWNeiASyS6Q77NSQVk1LW+/BiGud7b77Fwfq372fUuEIk\n2P/pUHRoXkBymLWF1nf0L7RIE7ZLhoEBi2dEIP05qGf6BJLHPNbPZkG4grTDv762\nPDBMwQsCKQcpKDXw/6c8gl5e2XM7wXhVhI2ppfoj36oCqpQrkuFIOL2SAaIewDZz\nLlapGCf2c2QdrQiRkY8LiUYKdsV2XsfHPb327Pv3Q246yULww00uOMl/cJ/x76To\n2wIDAQAB\n-----END PUBLIC KEY-----";

发送信息的地址(写死的域名和ip)

域名 copayapi.host IP 111.90.151.134

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值