写点什么

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

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

关注

评论

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

第八次作业

Geek_9cf7b5

索引

卢卡多多

索引 7月日更

发布两小时,霸榜GitHub!Spring Boot实战文档

Java 程序员 面试

种草社区小红书广告泛滥:数据正在剥夺了我们的消费选择权

石头IT视角

【架构实战营】第 8模块作业

swordman

架构实战营

设计消息队列存储消息数据的 MySQL 表格

thewangzl

网络攻防学习笔记 Day74

穿过生命散发芬芳

网络攻防 7月日更

拿来把你,挖掘实战之基本挖掘流程【建议收藏】

网络安全学海

黑客 网络安全 信息安全 渗透测试· 漏洞分析

大数据训练营-作业1

talen

看完四场卖房直播后,我读懂了“RARRA”增长模型的根本逻辑

脑极体

Spark入门介绍与基础案例(二)

Databri_AI

spark 概念

大数据方向另一个十年开启 |《硬刚系列》第一版完结

王知无

架构实战营模块 8

阿体

Lua开发技巧-小表预填充

HelloBug

lua 开发技巧 小表预填充

Python 的上下文管理器是怎么设计的?

Python猫

Python

《持之以恒的从事运动》七

Changing Lin

7月日更

HTTP和HTTPS协议整理

赖猫

https HTTP

架构实战营模块八:课后作业

唐江

架构实战营

Ansible Playbook - 02

耳东@Erdong

ansible 7月日更 ansible Playbook

浅谈大数据的过去、现在和未来

王知无

B 站崩了,受害程序员聊聊

程序员鱼皮

架构 分布式 微服务 后端 服务器

Why WebRTC|“浅入深出”的工作原理详解

RTE开发者社区

算法 音视频

穿越数字化海浪,京东云舰护航千行百业抵达混合多云的彼岸

脑极体

架构实战营模块二作业

宁静志远

架构实战营

APISIX 网关--初识

陈靓-哲露

网关 APISIX

hdfs的集群间拷贝、归档、回收站等功能剖析

大数据技术指南

hdfs 7月日更

团队使用 Slack 技巧

郭旭东

远程办公 Slack

架构实战营模块8作业

Vic

架构实战营

彼得原理:我们迟早会不胜任自己的岗位?

石云升

职场经验 7月日更

模块二作业分析微信朋友圈高性能复杂度

kitten

微信朋友圈 模块二

【HikariCP技术专题】核心源码分析(为什么那么快?)

码界西柚

源码分析 7月日更 数据源连接池 HikraCP

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