当前位置: 首页 > 科技观察

拒嫖,开源项目作者删库跑路,上千应用无限输出乱码

时间:2023-03-18 14:40:21 科技观察

日前,开源库“faker.js”和“colors.js”打开电脑,发现自己的应用输出乱码,那一刻,他们都惊呆了。更令人震惊的是,开发人员发现“faker.js”和“colors.js”的作者MarakSquires本人应对此混乱负责。一夜之间,MarakSquires主动删除了“faker.js”和“colors.js”项目仓库中的所有代码,导致正在使用这两个开源项目的数千名开发者直接崩溃。npm上“faker.js”和“colors.js”faker.js的每周下载量接近250万,color.js的每周下载量约为2240万。这次删除的影响是极其严重的。使用这两个项目开发的工具包括AWSCDK等。如果在构建和测试应用程序时真实数据量远远不够,Faker等工具将帮助开发者生成虚假数据。faker.js是一个Node.js库,可以生成很多字段的假数据,包括地址,业务,公司,日期,财务,图片,随机数,姓名等。faker.js支持英文,中文信息的生成和其他语言,并包含丰富的API。之前的版本通常每月迭代更新一次。faker.js不仅可以在服务器端使用JavaScript,还可以在浏览器端使用JavaScript。现在,faker.js项目的所有提交信息都已更改为“endgame”。在README中,作者写了这样一句话:“WhatreallyhappenedwithAaronSwartz?”Swartz是一位杰出的开发人员,他帮助建立了CreativeCommons、RSS和Reddit。2011年,斯沃茨被指控从学术数据库JSTOR窃取文件并意图免费访问这些文件。Swartz于2013年自杀,Squires提到Swartz可能指的是围绕他死亡的谜团。MarakSquires向colors.js提交了恶意代码,添加了一个“新的美国国旗模块”,然后发布到GitHub和npm。然后他在GitHub和npm上发布了faker.js6.6.6,这两种行为都导致了同样的破坏性事件。损坏的版本导致应用程序无限输出奇怪的字母和符号,从三行文字“LIBERTYLIBERTYLIBERTY”开始,然后是一系列非ASCII字符:Currently,color.jshasbeenupdatedwithaworkingversion。faker.js项目尚未恢复,开发者只能通过降级到之前的5.5.3版本来解决问题。为了解决这个问题,Squires还在GitHub上发布了一个更新来解决“zalgo问题”,它指的是损坏文件生成的故障文本。“我们注意到v1.4.44-liberty-2版本的颜色中存在一个zalgo错误,”Squires以讽刺的语气写道。“我们正在努力解决这个问题,很快就会有解决方案。”在将更新推送到faker.js两天后,Squires在推特上表示,他存储了数百个项目的GitHub帐户已被暂停。.Squires于1月4日发布了faker.js的最新提交,于1月6日将其阻止,并将colors.js的“自由”版本推送至1月7日。然而,从faker.js和colors.js的更新日志来看,他的账户似乎已经解封。目前尚不清楚Squires的账户是否再次被暂停。到目前为止,故事还没有结束。挖出了Squires2020年11月的一篇GitHub帖子,他在帖子中写道,他不想再做免费工作了。“恕我直言,我不想再用我的免费工作来支持财富500强(和其他小公司),以此为契机给我发一份六位数的年度合同,或者分叉项目并让其他人涉及其中。Squires的大胆举动引起了人们对开源开发人员道德和财务困境的关注,这可能是MarakSquires行动的目标。许多网站、软件和应用程序都依赖开源开发人员来创建必要的工具和组件,所有免费和无偿开发人员经常不知疲倦地修复其开源软件中的安全问题。开发人员如何看待软件工程师SergioGómez:“从GitHub中删除自己的代码违反了他们的服务条款?什么鬼?这是绑架。我们需要开始去中心化托管免费软件源代码。”“我不知道发生了什么,但我把我所有的项目都托管在GitLab私有实例上,从不相信任何互联网服务提供商。”有网友认为faker.js团队的反应有点夸张,并表示:“没有人将通过仅生成一些虚假数据的软件包赚很多钱。faker.js确实为开发人员生成假数据节省了一些时间,但我们也可以让实习生编写类似的程序来生成数据。这对企业不利,没那么重要。”甚至有人认为马拉克的行为是冲动的、不理智的,并且与他此前“卖房买NFT”的传闻联系在一起,认为马拉克需要学会控制自己的情绪:这种说法非常快部分观点部分网友表示,一些人原本同情开源项目“白送”,现在转而认为是Marak恶意删库,并指出:“停止维护或删除项目是他的权利完全,但故意提交有害代码是错误的。”当然,也有人抱怨开源软件(FOSS)开发者的待遇:“希望相关基金会为FOSS开发者提供资金支持”,软件的可靠性和稳定性也至关重要。重要的。有人说:一些大公司不尊重开源项目的版权,滥用开源项目对FOSS开发者绝对不公平。但Marak对faker.js的做法并不可取,不是正面例子,也有Marak个人的负面原因。你觉得这怎么样?