npm包管理机制引质疑:又一装置顺序中发明恶意代码,开发者账户频遭劫持
量子位 出品 | 民众号 QbitAI
npm行不行,包治理机制行不行?
最新的一次npm包被改动事宜,让开辟者的这两个疑问越发猛烈了。
最新中枪的是纯函数式编程言语Pure,这类可编译为Java,能用于开辟Web、服务器端应用顺序的言语,其npm装置顺序中被植入了歹意代码。
发明破绽的顺序员Harry Garrood示意,歹意代码的目标是损坏Pure npm装置顺序,防备它胜利运转。
间隔题目暴露已过去了一段时候,但对于此事的议论照旧热闹。本日,一则《Pure npm装置顺序中的歹意代码》的贴子在Hackernews上敏捷升温,短短几个小时热度凌驾300。
这件事前因后果怎样,能够带来哪些经验?
交代历程出题目
npm,全称Node Package Manager,相当于js的“pip”,是一个包治理工具。
出题目的Pure npm是本月5日上架的版本,歹意代码被添加到Pure npm装置顺序的种种依靠项中。
先是插进去到load-from-cwd-or-npm 3.0.2版本的npm包中,然后插进去到rate-map 1.0.3版本最先的npm包中,假装本身然后得以流传。
代码损坏了Pure npm装置顺序,让用户没法完成下载历程。
7月9日,Garrood发明了歹意代码rate-map,并报告给了npm support。
随后,Garrood动手删除Pure npm装置顺序的一切依靠项,当天宣布了新版本,将歹意代码剔除。
npm包,本是为了轻易治理而降生,但若这个中涌现各中平安风险,对用户来讲得不偿失。
万幸的是,此次的歹意代码仅是为了阻挠顺序装置完成,但假如有人歹意更深,蓄意损坏顺序或许盗取用户隐私及财富呢?
这是很大的平安隐患。
依据Garrood的说法,装置顺序最初是由日本开辟商Shinnosuke Watanabe开辟和庇护的。
Pure庇护职员与Watanabe就装置顺序的庇护题目存在不合,并请求Watanabe将项目标庇护权让渡出来。
Garrood示意,Watanabe“很不宁愿”地让渡了,而7月5日推出的0.13.2版Pure是庇护职员接受以来发出的第一个版本,就是这里出了题目。
可事到如今,罪魁祸首是谁照样一笔糊涂账。没有明白的证据能证实Watanabe的账户是不是被挟制,也多是一位开辟者由于个人不合而蓄意改动。
预先,npm也作出了回应,示意已删除了歹意代码也宣布了防备战略,但未说起其他。
近来一段时候,软件包治理工具一再被黑客改动。
本月初,Rubygems包遭到挟制,6月,npm软件包中的一个破绽被用来盗取加密钱银。客岁11月,月下载量万万的event-stream npm包被黑客改动,对用户财富造成了潜伏影响。
还平安吗?
据npm官方宣布的平安性调查显现,77%的受访者担心OSS/第三方代码的平安性,这也是Pure npm装置顺序泄漏后,引发得最多的议论。
网友hombre_fatal示意,包治理体系中包括不合格的包名称是一件异常憎恶的事,非常让人疑心。
建立者将其定名成“@shinn/Pure”,而编辑器开辟职员在建立时定名为“@whatever/Pure”就好了,如许能够防止许多贫苦。
也有网友示意,题目实在出在Java顺序Balkanization中。rate-map包基本上是一行代码:start val * (end - start)。
也有人对npm的依靠项治理收集的弊病产生了质疑:
一是不能治理软件包,不然friction将大大减缓生态体系;
二是在大部分时候都不能删除/禁用软件包,由于依靠项不会是严厉稳定的;
三是不能禁用子依靠项,不然不利于代码从新运用,增添冗余和包的复杂性。
上述三点,现在照样无解。
也有网友示意,软件包的可靠性应当靠响应社区的人举行庇护。假如某个社区没法庇护它的包不被歹意进击,debian的用户将没法阻挠它。
你怎么看?
传送门
Harry Garrood的声明:
https://harry.garrood.me/blog/malicious-code-in-Pure-npm-installer/
Hackernews议论区:
版权声明
本文仅代表作者观点,不代表本站立场。如有侵权,请邮件248745074@qq.com删除
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.ishunhua.com/hlw/13071.html