只有几行代码的库,坑了数百万个项目

新闻 前端
上周末,一个 npm 小项目的更新给整个 npm 生态系统制造了一场混乱,影响到了数百万 JS 项目。

 只有几行代码的库,坑了数百万 JS 项目

上周末,一个 npm 小项目的更新给整个 npm 生态系统制造了一场混乱,影响到了数百万 JS 项目。

[[324536]]

这个库就是 is-promise ,仅包含了几行代码,其功能是让开发者测试一个 JS 对象是否是 Promise,其它 JS 项目可通过一行代码调用使用该库。

尽管这个库没几行代码,但它却是最流行的 npm 包之一,超过 340 万个项目使用。

上周末 is-promised 发布了一个更新,结果由于它不符合正确的 ES 模块标准,导致使用该库的其它项目在构建时出错。问题并没有导致现有 JS 项目崩溃,而主要无法编译新版本。

许多知名的 JS 项目都受到影响,其中包括 Facebook 的 Create React App,Google 的 Angular.js 框架,Google 的 Firebasse-tools,亚马逊的 AWS Serverless CLI,Nuxt.js 等等。

难道程序员连代码都不会写了吗?

npm 生态系统的依赖问题,早在 2016 年就引发过类似事件,有一个 NPM 库开发者撤回了他的代码(代码并不多,也就几行),导致诸多重量级应用(比如 React 和 Babel)都出问题了。

四年前,这个事情就引发激烈讨论。曾有人为此发出疑问:难道程序员连代码都不会写了吗? 

举例来说,有一个叫 isArray 的软件包,当时其一天的下载量有 88 万,2016 年2 月有 1800 万次下载量,它本身就只有一行代码。

NPM 生态系统中的许多开发者,看起来宁愿复用其他人写好的代码而不是自己写。这种做法存在严重的安全隐患,因为一个被广泛使用的软件包存在bug,你的代码也会受到影响,而你却无法自己去修正。

 

责任编辑:张燕妮 来源: 程序员的那些事
相关推荐

2022-05-10 09:38:46

加密货币诈骗网络安全

2009-01-08 09:49:00

2021-11-12 16:16:57

僵尸网络BotenaGo设备

2013-10-03 16:55:31

2013-10-04 11:39:46

2023-06-26 15:20:47

2021-09-05 05:59:00

BrakTooth漏洞蓝牙设备

2011-12-21 09:58:18

云计算云应用云集成

2022-08-08 11:52:13

云平台云架构

2020-12-11 05:51:58

漏洞网络攻击网络安全

2009-03-25 09:07:25

微软Windows 7操作系统

2009-08-07 10:41:34

2021-09-17 11:03:25

HP OMEN漏洞攻击

2014-12-12 09:43:13

阿里巴巴安全漏洞信息泄露

2021-12-09 18:59:53

提权漏洞漏洞攻击

2021-12-10 11:47:47

WiFi漏洞路由器

2024-11-04 13:50:00

开源模型

2010-02-20 17:51:05

2018-07-05 14:12:55

显卡库存降价

2022-05-05 14:01:02

DNS高危漏洞uClibc
点赞
收藏

51CTO技术栈公众号