写点什么

NPM 中混入了包含恶意后门的包

  • 2018-05-09
  • 本文字数:1008 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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, mailparserGitHub 库中没有任何说明这一变化的信息。因此,不知道是mailparser的作者被诱导添加了恶意依赖,还是某个未知的 NPM 漏洞被利用,可以在他不知情的情况下发布新版本。InfoQ 将继续追踪报道,及时披露最新细节。

查看英文原文 Package Containing Malicious Backdoor Makes its Way Into NPM

2018-05-09 19:002388
用户头像

发布了 1008 篇内容, 共 403.0 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

云迁移?是技术问题也是团队问题

在天涯的海角

从实时监控到智能洞察:Grafana 和 CnosDB 的无限潜力

CnosDB

时序数据库 开源社区 CnosDB

828 B2B企业节,华为云如何提升生态合作伙伴的综合竞争力?

YG科技

分库表数据倾斜的处理让我联想到了AKF模型 | 京东云技术团队

京东科技开发者

数据库 京东云 企业号9月PK榜

MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响

GreatSQL

greatsql mgr

【转载】JVM实际内存占用超过Xmx的原因,设置Xmx的技巧

虚实的星空

Java

关于身心灵学习的感悟1

程序员在修行

2024第八届浙江智慧城市与智能建筑产品博览会

AIOTE智博会

智慧城市展 智能建筑展

初露头角!Walrus入选服贸会“数智影响力”数字化转型创新案例

SEAL安全

企业数字化转型 数智化 企业号9月PK榜 中国国际服务贸易协会

与中小企业共生共赢,华为云B2B企业节来了

YG科技

高性能MySQL实战(三):性能优化 | 京东物流技术团队

京东科技开发者

京东云 企业号9月PK榜

如何赋能企业数字化转型?华为云有妙招

YG科技

跨平台混合应用:用户和开发者的新选择

没有用户名丶

2024第二十三届浙江国际智能楼宇技术与智慧安防产品展览会

AIOTE智博会

智慧楼宇展 安防展 智慧安防展

分布式锁的3种实现!附代码

王磊

Java

星耀数字中国,先要存下宇宙山河

脑极体

存储

Mac电脑最新2023 Xmind 激活中文版

胖墩儿不胖y

思维导图 Mac软件 mac思维导图 思维导图软件

英文阅读 The manager's path 1.3

程序员在修行

使用消息队列有什么优点?有什么缺点?

程序员在修行

数据通信网络之IPv6以太网单臂路由

timerring

数据通信网络

ARTS 打卡 第一周,初试ARTS

三掌柜

ARTS 打卡计划

Scrum Master,这九个问题你问了吗?

敏捷开发

项目管理 敏捷开发 团队协作 Scrum Master

SPI在Java中的实现与应用 | 京东物流技术团队

京东科技开发者

Java spi 京东云 企业号9月PK榜

使用 NGINX Unit 实施应用隔离

NGINX开源社区

Unit 应用隔离

数字化转型与架构-架构设计篇|如何开发一个各部门都满意的系统?

数字随行

数字化转型

ARTS 打卡第四周

程序员在修行

NPM中混入了包含恶意后门的包_安全_Sergio De Simone_InfoQ精选文章