写点什么

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:002695
用户头像

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

关注

评论

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

注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

阿里巴巴云原生

阿里云 微服务 云原生 网关

六、《图解HTTP》- 用户身份认证

懒时小窝

HTTP 图解https

Java将PDF拆分为多个 PDF 文件

在下毛毛雨

Java PDF 拆分PDF

共建共享数字世界的根:阿里云打造全面的云原生开源生态

阿里巴巴云原生

阿里云 开源 容器 RocketMQ 云原生

动手实操,让你的 Kubernetes 集群弹起来!

以尘

弹性 ACK Kubernetes 集群 ClusterAutoscaler Erda

Linux实用命令lsof命令

flow

8月月更

Spring Cache设计之美,你品,你细品...

华为云开发者联盟

后端 开发

终、《图解HTTP》读书笔记 - 汇总篇(总结)

懒时小窝

读书笔记 读书 HTTP 图解https #读书

新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付

阿里巴巴云原生

阿里云 Serverless 云原生 合作案例

开源一夏 | AngularJS对于SQL的操作心得以及DOM的研究

恒山其若陋兮

开源 8月月更

二、《图解HTTP》- HTTP协议历史发展(重点)

懒时小窝

HTTP 图解https

干货合集 | 关于制品库,你了解多少?

嘉为蓝鲸

DevOps 研发 制品库

Python图像处理丨带你掌握图像几何变换

华为云开发者联盟

Python 人工智能

C#/VB.NET:在不同Excel工作簿之间复制单元格区域和工作表

Geek_249eec

C# Excel VB.NET 单元格区域 工作表

三、《图解HTTP》- 报文内的 HTTP信息

懒时小窝

HTTP 图解https

巨细靡遗流程控制,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang流程结构详解EP09

刘悦的技术博客

Go 教程 Go web go语言 Go 语言

【SimpleFunction系列二.2】SpringBoot注解整合Redisson分布式锁

莫逸风

分布式锁 redisson 分布式锁 企业级应用

场景品牌易观千帆,助力数智化需求持续升级

易观分析

数字经济 数智化

分布式系统大势所趋,银行运维如何与时俱进?

嘉为蓝鲸

架构 分布式 运维 金融 银行

ASP.NET Core SignalR概述

辣么大

.net SignalR 8月月更

【SimpleFunction系列二.3】Redisson分布式锁8种锁模式剖析

莫逸风

分布式锁 redisson 分布式锁

七、《图解HTTP》- HTTP首部和HTTP协作服务器

懒时小窝

HTTP 图解https

高效能团队的Java研发规范(进阶版)

木小风

编程规范 Java core

开源一夏 | 使用 JavaScript 的响应式计数器动画

海拥(haiyong.site)

开源 8月月更

N、《图解HTTP》读书笔记 - 附录

懒时小窝

资料 图解https 参考数据

五、《图解HTTP》- RSS和网络攻击

懒时小窝

HTTP 图解https

【计算讲谈社】第八讲:AI 技术的“纺织业”是什么?

大咖说

人工智能 商业化

四、《图解HTTP》- 状态码

懒时小窝

HTTP 状态码 图解https

王熙凤穿越到 2022 年,一定会采购的单点登录服务

Authing

私有化输出的服务网格我们是这样做的

阿里巴巴云原生

阿里云 Kubernetes 云原生 服务网格

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