一对广泛使用的开源库遭开源开发人员破坏,对大量项目造成严重影响

该开发人员推送了触发无限循环的损坏更新

一名开发人员似乎故意破坏了 GitHub 和软件注册表 npm 上的一对开源库——“faker.js”和“colors.js”。这两个库被成千上万的用户包含在项目中,而库的损坏也导致这些项目无法运转。这两个库目前似乎仍然受到错误代码的影响,但可以通过降级到旧版本(faker.js v5.5.3 colors.js v1.4.0)来临时解决这个问题。GitHub 已经发布了关于影响 colors.js 的问题的安全公告,但似乎没有发布针对 faker.js 的公告。

这两个库的开发者 Marak Squires 通过在 GitHub 上修订文件的方式向 colors.js 提交了恶意代码,添加了“新的 American flag 模块”,并推出了 faker.js 6.6.6 版本,触发了同样的破坏性事件。遭受破坏的版本导致应用程序无限输出奇怪的字母和符号,前三行写着“LIBERTY LIBERTY LIBERTY”。

更奇怪的是,faker.js 自述文件也被更改为“What really happened with Aaron Swartz?Swartz 是一名杰出的开发人员,他协助建立了 Creative CommonsRSS Reddit 2011 年,Swartz 被指控从学术数据库 JSTOR 中窃取文件,目的是让人们可以免费访问这些文件,后来他在 2013 年自杀。Squires 提到 Swartz 可能是想让人们关注围绕 Swartz 死亡的阴谋论。

许多用户,包括一些使用亚马逊 Cloud Development Kit 的用户,通过 GitHub 的错误跟踪系统表达了他们对这个问题的担忧。由于 faker.js npm 上每周的下载量接近 250 万,而 colors.js 每周的下载量约为 2240 万,因此破坏的影响可能是深远的。顺便说一下,faker.js 用于生成演示使用的假数据,而 colors.js 则用于给 JavaScript 控制台添加颜色。

Squires GitHub 上发布了更新,以解决与损坏文件生成的错误文本相关的“zalgo 问题”。Squires 以一种讽刺的语气写道:“我们注意到 colors.js v1.4.44-liberty-2 版本中有一个 zalgo 错误。我们现在正在努力解决这个问题,很快就会有解决方案。”

将损坏的更新推送到 faker.js 两天后,Squires 发了一条推文,表示自己存储了数百个项目的 GitHub 帐户已经被封。然而,从 faker.js colors.js 的更新日志来看,他的帐户似乎已解封。Squires 1 4 日提交了 faker.js 的最新更新,在 1 6 日被封,直到 1 7 日才提交了 colors.js 的“liberty”版本。目前尚不清楚 Squires 的帐户是否再次被封。

然而,故事并没有就此结束。  一篇 Squires 2020 11 月发布在 GitHub 上的帖子被挖出来,他在帖子中写道自己不再想做免费的工作了。他说:“恕我直言,我不想再用我的免费工作来支持财富 500 强公司(和其他小型公司)。借此机会,向我发送一份年薪六位数的合同,或将该项目交给其他人处理。”

Squires 的大胆举动引起了人们对开源开发的道德和财务两难问题的关注,这可能是他行动的目的。大量网站、软件和应用程序依赖开源开发人员来创建基本工具和组件,所有这些都是免费的。与此同时,无偿开发人员需要不知疲倦地工作以修复其开源软件中的安全问题,例如 2014 年影响 OpenSSL 的“心脏出血漏洞”以及最近在 Log4j 中发现的 Log4Shell 漏洞,这些漏洞都需要志愿者们进行紧急修复。

资产发现公司 Lucidum 的首席执行官说:“当您用宜家的储物箱组装家具产品时,您是在从储物箱中取下某些东西然后拼装在一起的,哪怕它是一个坏的储物箱。同样的,若您开发产品时直接使用他人的软件,而不是花时间自己构建,您需要承担相应的风险。这两个受影响的软件包 colors.js fakers.js 提醒人们,在未经测试的情况下使用他人的软件是有风险的。”

稿件来源:https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值