立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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

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

关注

评论

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

哈银消金以普惠金融服务助力假期经济

Geek_2d6073

按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

实现多线程的方式有哪些?

秃头小帅oi

云原生应用——软件的未来

快乐非自愿限量之名

云原生

技术干货 | YashanDB+Zabbix搭建监控可视化平台,手把手实操!

YashanDB

yashandb 崖山数据库

电子签名软件分析:大家常用的9款对比

爱吃小舅的鱼

软件开发

Java进阶:HashMap底层原理(通俗易懂篇)

快乐非自愿限量之名

Java 前端 开发语言

【YashanDB知识库】执行sql语句时报YAS-04401 data type - expected, but BLOB got异常

YashanDB

yashandb 崖山数据库 yashandb知识库

通义灵码企业代码补全增强使用实践

阿里巴巴云原生

阿里云 云原生 通义灵码

从孤岛到协同,集成式财务规划的未来

智达方通

业财融合 全面预算管理 财务管理 财务预算

Flink全新周边正式上线!议题征集正在进行中!

Apache Flink

大数据 flink 实时计算 Apache Flink FFA

通义灵码企业代码补全增强使用实践

阿里云云效

阿里云 云原生 通义灵码

掌握 C++17:结构化绑定与拷贝消除的妙用

不在线第一只蜗牛

c++

基于低代码平台的合同管理系统开发

EquatorCoco

皮阿诺七星服务,提升家居定制新体验

新消费日报

摊牌了!一文教会你轻松上手豆包MarsCode 编程助手!

豆包MarsCode

人工智能 AI 代码 教程 分享工具

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里云云效

阿里云 云原生

软件测试学习笔记丨Charles 实战

测试人

软件测试

不想一直走前端,试试产品吧

高端章鱼哥

Kotlin协程的取消机制:深入理解和优雅实现

伤感汤姆布利柏

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里巴巴云原生

阿里云 云原生

国科云域名解析课堂:一个域名可以解析到多个IP地址吗?

国科云

搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问

贝锐

NAS 群晖 #docker

利用观测云实现云资源FinOps优化

观测云

云服务 FinOps

828华为云会议Flexus版重磅亮相,让每一场会议都高效!

轶天下事

数字化转型背景下低代码开发模式变革的研究

不在线第一只蜗牛

低代码 数字化

望繁信科技与华恒生物正式签约,共同开启流程数字化转型新篇章

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能

openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才

华为云开源

时序数据库 开源社区 openGemini 华为云开源

“软件驱动未来·数字闪耀金陵”2024南京软博会,官宣定档!

AIOTE智博会

软件博览会 软件展会 软博会 南京软博会

面试官:如何打破双亲委派机制?

快乐非自愿限量之名

从低代码到AI赋能,企业科技创新的下一个风口

天津汇柏科技有限公司

低代码 AI 人工智能

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