2021年底Apache log4j的超级bug让所有Java参与者们着实惊出一身冷汗。


然而log4j的bug热度未过,2022年代码界的第一个超级大瓜便已登场。


开源项目“faker.js”和“colors.js”的作者Marak Squires故意破坏了GitHub和npm上的开源库,向“faker.js”和“colors.js”库中注入了恶意代码,这一举动直接导致使用这两个开源库最新版本文件的开发项目全部“变砖”。


故障表现

如果项目或者程序中使用了被破坏的“faker.js”和“colors.js”版本库文件,会导致应用程序无限输出奇怪的字母和符号。


破坏力巨大

“faker.js”每周在npm上的下载量接近250万,“colors.js”的每周下载量更是高达2240万,由此可见此次恶意破坏事件的影响巨大。


作者因“钱”不满,自毁开源项目

Marak Squires在2020年9月遭遇了一场火灾,当时他租的房子突发大火,所有财产付之一炬,也许是抱着最后一丝希望,他在推特上发表了这样的一段话:


“我遭遇了一场大火,公寓中的财产付之一炬,所有贵重物品都没了,我已无家可归。如果有人能给我的Paypal账户资助点钱,我就不用在大街上受冻了。”


Marak Squires收到的钱应该大大低于他的预期,以至于10天后,他又在Github上发表了一篇博客:


“恕我直言,我不会再用我的免费工作来支持世界500强企业了(包括其他小公司)。你可以发一份年薪六位数的合同给我,或者开源项目就让别人去做吧!”


在“挟代码以令企业”的方法再次失败后,Marak Squires便开启了项目的“自毁”开关。


解决方案

所有海旗派(北京)、金澳(天津)的客户可以放心,我们已经排查了所有的项目,并未发现有项目使用了这两个开源库。


如果您自行使用了这两个开源库的,最新版本的“colors.js”已经得到修复,“faker.js”还只能通过降级到以前的版本(5.5.3)来解决。


结束语

2020年伊始,受新冠疫情影响,世界范围的经济形势普遍不好,人们的收入开始降低。被公认为高收入群体的“程序员”在不断的内卷过程中,收入也一落千丈。钱赚少了,自然心情也就变差,抗击打能力也随之变低。因此这几年程序员“删库跑路”、开源项目创始人“自毁项目”的事件屡见不鲜。


但疫情总会过去,世界总是会朝着好的方向发展,作为技术从业者,更加应该珍惜来之不易的“好口碑”。