Marak Squires 是广受欢迎的 Node.js 控制台着色器 colors 和输入字段伪造数据生成器 faker 的作者,这两个包的周下载量分别高达 2.8 万和 25 万。他最近在 NPM 仓库和 GitHub 上发布了其产品的新版本。这些版本包含破坏性更改,故意导致依赖项目的构建和运行时失败。Marak 的行为破坏了许多使用这些库的项目,包括 AWS CDK。colors 库被 18953 个项目依赖,faker 库被 2571 个项目依赖。
“colors”库的代码被更新,控制台输出文本“LIBERTY LIBERTY LIBERTY”,并出现一个无限循环,该循环会阻塞依赖项目并输出一连串乱码,例如“testing”。faker库的仓库内容被移除,.gitignore和.npmignore文件被添加到“endgame”提交中以排除项目文件,README文件被替换为问题“Aaron Swartz到底发生了什么事”。这些问题存在于colors 1.4.1及更高版本和faker 6.6.6版本中。

针对这些行为,GitHub 封禁了 Marak 对其代码库(90 个公共代码库和若干私有代码库)的访问权限,NPM 也回滚了恶意版本的软件包。然而,GitHub 的这些举措是否合法引发了质疑,因为开发者从其代码库中移除代码并不构成违反其服务条款。此外,colors 和 faker 软件包的许可协议明确指出,对于代码的功能,GitHub 不提供任何保证或承担任何义务。
有趣的是,关于停止开发的首次警告发布于一年多以前。2020年9月,Marak的所有资产在一场火灾中损失殆尽。此后,在11月初,他向使用其项目资金继续开发的商业公司发出最后通牒,否则他将停止支持,因为他不再打算免费工作。在此之前,《Colors》的最新版本发布于两年前,《Faker》则发布于九个月前。
至于对软件包进行破坏性修改的动机,Marak很可能是想给那些剥削自由软件社区劳动成果却不付出任何回报的公司一个教训,或者是为了引起人们对Aaron Swartz之死的关注。Aaron在被指控从付费数据库JSTOR中复制科学文章后自杀身亡,他生前一直倡导免费获取科学出版物。Aaron被控计算机欺诈和非法获取受保护计算机信息,最高刑罚为50年监禁和100万美元罚款(如果他认罪,只需服刑6个月)。
据信,患有抑郁症的亚伦不堪司法系统的压力和对他的不公正指控的愤慨而自杀(他仅仅因为下载了一个科学文章数据库的内容就面临50年监禁,而他认为这些文章应该不受限制地传播)。在被删除的代码被替换后发布的关于亚伦之死的提问以及一条推文中,马拉卡·斯奎尔斯暗示了一种未经证实的阴谋论:亚伦·斯沃茨在麻省理工学院的档案中发现了诋毁某些重要人物的文件,并因此被谋杀,死因被伪装成自杀(明天是亚伦逝世九周年纪念日)。
来源: opennet.ru
