还记得去年年底令全球多数 Java 工程师深夜加班的 Apache Log4j 2 漏洞吗?彼时,发现最初只有 3 个人赞助该开源项目的事实令许多人受到冲击,甚至有人因此感慨道“这就是开源丑陋的一面”:当项目顺利进行时,一切都很好;而一旦项目出问题了,每个人都只会去抱怨项目背后的无偿维护者。
Apache Log4j 2 漏洞发生至今已一月有余,目前尚未彻底平息。不曾想,上周又发生了一起令许多开发者“头秃”的开源事件:无数使用了流行开源 NPM 库 faker.js 和 colors.js 的项目一夜之间突然“变砖”,不断输出满屏乱码,而“罪魁祸首”竟是项目作者 Marak Squires 故意为之。
一、程序出故障?项目作者故意“捣乱”
对许多 JavaScript 和 Node.js 开发者而言,faker.js 和 colors.js 这两个库应该并不陌生:
- faker.js 用于在浏览器和 Node.js 中生成大量虚假数据,在 NPM 上每周下载量近 244 万。
- colors.js,一个实现对颜色进行各种操作和计算的 JavaScript 库,每周下载量约 2314 万。