当前位置:首页 > 技术分析 > 正文内容

比Log4j漏洞还可怕?NPM代码库被开发者“投毒”

ruisui885个月前 (01-26)技术分析44

近日,流行软件包管理工具NPM的两个开源库“color”和“faker”被其开发者“投毒”。这些库的开发者故意引入了一个无限循环,破坏了数千个依赖“color”和“faker”代码库的项目。这两个代码库的用户在更新版本后发现程序开始在控制台疯狂输出乱码!

“color”库在npm上每周下载量高达2000万,有近19000项目依靠它。而“faker”在npm上每周下载量也超过280万次,拥有超过2500名志愿者。

昨天,亚马逊云开发工具包(aws-cdk)等流行开源项目的用户发现他们的应用程序在控制台上输出乱码消息时感到震惊。

这些消息包括文本“LIBERTY LIBERTY LIBERTY”,后跟一系列非ASCII字符:

“勒索警告”还是“恶作剧”?

最初,用户怀疑这些项目使用的库“colors”和“faker”受到了破坏,类似于coa、rc和ua-parser-js库去年被恶意行为者劫持的情况。

但事实上,是color和faker库的开发者故意提交了导致重大错误的代码。

这两个库的开发者名叫Marak Squires,昨天在版本v1.4.44-liberty-2中向colors.js库中添加了一个“新的美国国旗模块”,然后他将其推送到了GitHub和npm(下图)。

代码中引入的无限循环将无限期地持续运行;任何使用“color”库的应用程序,在控制台上都会无休止地输出非ASCII字符乱码。

同样,faker的破坏版本“6.6.6”已发布到GitHub和npm。

Marak的恶作剧似乎是一种报复行为,针对大型公司和开源项目的商业消费者。后两者广泛依赖开源软件和社区,但据Marak称,“他们从不回馈(开源)社区”。

2020年11月,Marak曾警告称,他将不再通过“免费工作”来支持大公司,商业实体应考虑分叉项目或以每年“六位数”的工资来补偿开发人员。

“尊敬的,我不再用我的免费工作来支持财富500强(和其他小型公司)。没有什么可说的了,”Marak之前写道:“以此为契机,向我发送一份每年六位数的合同,或者分叉该项目并让其他人负责。”

本周一,GitHub上的“faker”库的README页面也被Marak加上了一句“Aaron Swartz到底发生了什么?”

Marak所说的Swartz是一位美国程序员、企业家和著名的黑客活动家,他在一场官司之后自杀了。

官司的起因是Swartz从麻省理工校园网上的JSTOR数据库下载了数百万篇期刊文章,向全球公开免费提供。据称下载过程中还通过反复轮换他的IP和MAC地址来绕过JSTOR设置的技术障碍。

结果,Swartz因违反《计算机欺诈和滥用法》并面临刑事指控,最高可处以35年的监禁,结果Swartz不堪压力自杀身亡。

比Log4j漏洞还可怕?留神开源“自杀式投毒”

如果说Log4j漏洞依然属于“疏忽”范畴,那么Marak在自己负责的开源项目中“下毒”的性质则要“恶劣”和“可怕”得多,同时也引发了业界的激烈争论。

开源软件社区的一些成员赞扬了Marak的行为,但更多人则对此感到震惊。

“显然,‘colors.js’的作者因为没有得到报酬而生气......所以他决定每次加载他的代码库时都打印美国国旗,”一位用户在推特上写道。

安全专家VessOnSecurity则认为该行为非常“不负责任”:

“如果开源软件的开发者对商业用户感到不满,可以选择不要发布免费代码。通过破坏自己开发的被广为使用的工具,开源开发者不仅会伤害大企业,还会伤害任何使用它的人。这会导致开源软件的用户不(敢)更新,开源情怀就此破灭。”

Log4j漏洞一波未平

据报道,GitHub已暂停Marak的帐户,并将faker.js软件包恢复到上一个版本。

Marak本人在发推抱怨Github账户被封导致他无法访问自己的超过100个公共和私有项目:

值得注意的是,“销户”是GitHub对开发者最严厉的惩罚之一,前不久GitHub刚对Log4j漏洞PoC的首个披露者给与了类似惩罚(编者:也有人认为是xxx公司主动删除)。

安全专家指出,最近引发全球恐慌的Log4j漏洞披露一波未平,Marak的“疯狂”举动距离无疑将惊魂未定的开源软件用户面临的安全威胁和压力推向了一个新的波峰。

Log4j漏洞之后,人们开始担心大型企业如何习惯于“利用”开源;不停地消耗它,但没有给予足够的回报来支持那些放弃空闲时间来维持这些关键项目的无偿志愿者。这种不对等的价值交换最终导致了Marak的“极端行为”,同时也表明开源可持续发展问题已经到了必须要给个说法或方案的关键时刻。

最后,安全专家建议“colors”和“faker”NPM项目的用户确保他们没有使用不安全的版本。降级到较早版本的color库(例如1.4.0)和faker库(例如5.5.3)是一种解决方案。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/564.html

标签: 卸载npm包
分享给朋友:

“比Log4j漏洞还可怕?NPM代码库被开发者“投毒”” 的相关文章

vue项目-父页面数据变化使子页面更新的几种情况

当操作页面时候,特别是增删改操作之后,数据会有所改变,这个时候我们希望组件中的数据要和最新数据一致,就需要重新更新渲染。以下是针对几种不同情况下方式:一.子页面调用接口后重新渲染1.使用ref方式父组件中用ref=“xxx” 来声明子组件,然后通过在父组件值改变的地方来调用子组件中的方法this.$...

理解virt、res、shr之间的关系(linux系统篇)

前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。...

软件测试-性能测试专题方法与经验总结

本文 从 性能测试流程,性能测试指标,性能监测工具,性能测试工具,性能测试基线,性能测试策略,性能瓶颈分析方法几个维度,进行知识总结和经验分享;详细见下图总结,欢迎大家补充;性能测试经验与思考1. 性能测试流程1.1. 性格规格评审1.2. 资源排期1.2.1. 人力资源1.2.2. 时间计划· 性...

抖音 Android 性能优化系列:启动优化实践

启动性能是 APP 使用体验的门面,启动过程耗时较长很可能使用户削减使用 APP 的兴趣,抖音通过对启动性能做劣化实验也验证了其对于业务指标有显著影响。抖音有数亿的日活,启动耗时几百毫秒的增长就可能带来成千上万用户的留存缩减,因此,启动性能的优化成为了抖音 Android 基础技术团队在体验优化方向...

博信股份新战略后再推新品 TOPPERS E2耳机售价199元

中新网6月21日电 20日,博信股份在北京正式推出新品TOPPERS主动降噪耳机E2,这是博信股份继2月战略暨新品发布会后的第二次新品亮相。价格方面,TOPPERS主动降噪耳机E2零售价199元,并于6月20日下午4点在京东商城公开销售。据介绍,TOPPERS主动降噪耳机E2采用AMS(奥地利微电子...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...