博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NPM中混入了包含恶意后门的包
阅读量:7125 次
发布时间:2019-06-28

本文共 1112 字,大约阅读时间需要 3 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

NPM团队了一个伪装成Cookie解析器的包。这个包里包含一个恶意后门。还有三个依赖它的包也同时被移除了。这个后门让攻击者可以向运行中的服务器注入任意代码并执行。

\\

NPM报告确认,getcookies包中包含恶意代码,它会分析HTTP头,查找类似gCOMMANDhDATAi这样的数据格式。恶意代码里有三个不同的命令:

\\
  • 0xfffe重置代码缓冲区 \\
  • 0xfffa执行缓冲区中的代码,这是通过执行[vm.runInThisContext][2]实现的 \\
  • default把远程代码加载到内存并执行\

除了getcookies之外,还有三个包也被从注册中心里移除了:express-cookieshttp-fetch-cookies以及虽然不建议使用但仍然非常流行的mailparser

\\

据NPM员工介绍:

\\
\

发布到npm注册中心并且使用恶意模块的包,它们的使用方式都不会触发后门。

\
\\

不过,这仍然保留了这种可能性,使用恶意包的外部应用程序面临着被利用的风险,或者已经被利用了。

\\

颇让人不解的是,每周仍然有大约64000下载量的mailparser包并没有以任何方式使用恶意模块。据NPM安全团队介绍,这可以解释成为将来能够完成攻击所做的准备,或者说是为了提高get-cookieshttp-fetch-cookies的知名度,诱导开发人员使用它们。

\\

这份声明在Node开发人员中引发了。虽然人们普遍认为,这类问题不是NPM特有的,但是,有若干评论者指出,NPM的一些特性让这样的问题更可能发生。尤其是,NPM包往往较小,而且聚焦于一组缩减的特性,导致一个应用程序要依赖大量的外部模块,经常是成百上千。要审计所有的依赖项,确保它们都合法,这变得异常困难。此外,NPM允许开发人员通过最小版本表示依赖,如mailparser@^2.2.0,这意味着,,就可以运行npm install进行安装。这进一步增加了依赖审计的难度。

\\

mailparser已经不再维护了,它已经几个月没有更新了。现在还不清楚,像mailparser这样成功的包为什么会有三个新版本包含一个不使用的依赖。事实上,对于发布在NPM上包含恶意代码的版本2.2.1、2.2.2和2.2.3,中没有任何说明这一变化的信息。因此,不知道是mailparser的作者被诱导添加了恶意依赖,还是某个未知的NPM漏洞被利用,可以在他不知情的情况下发布新版本。InfoQ将继续追踪报道,及时披露最新细节。

\\

查看英文原文

转载地址:http://cxeel.baihongyu.com/

你可能感兴趣的文章
swift 分组tableview 设置分区投或者尾部,隐藏默认间隔高度
查看>>
MySQL案例09:Last_IO_Error: Got fatal error 1236 from master when reading data from binary log
查看>>
js 图片压缩 转成base64
查看>>
文艺小青年
查看>>
[转]制作Chrome扩展
查看>>
Tcpdump抓包
查看>>
正则表达式抓取网页中的邮箱地址
查看>>
关于在主进程返回;线程陷入死循环
查看>>
Java必须了解的“递归”与“IO流”!!!
查看>>
Http协议状态码
查看>>
css3单冒号和双冒号的区别
查看>>
小X与缩写
查看>>
第一次团队会议
查看>>
018-请你说一下设计测试用例的方法
查看>>
android 链接mysql数据库
查看>>
CAKeyframeAnimation 旋转动画
查看>>
学习python的第二天
查看>>
深入详解SQL中的Null
查看>>
c#国际化
查看>>
java代码Calendar类
查看>>