著名开源项目,神秘Bug影响超20000个项目,原因竟是作者删库跑路?
热门资讯早知道,吃瓜唠嗑不冷场,
记得加个星标,第一时间获得推送
图文编辑:xj
来源:公众号「新智元」
“从GitHub上删除自己的代码是违反他们的服务条款的?WTF? 这是一种绑架行为。”
这两天,一些开发者感觉有点懵……
一觉醒来发现,自己程序跑出来的全都是 「乱码」。
说起来,这些开发者的共同点就是都使用了开源库 「colors」和「faker」。
而且这两个库相当受欢迎!
仅仅在npm上,colors库每周的下载量就超过2000万次,并且有将近19000个项目正在使用。
faker在npm上每周的下载量超过280万次,有超过2500个项目使用。
甚至连亚马逊的云计算开发工具包(aws-cdk)也用上了。
最初,用户怀疑这些项目所使用的库 「colors」 和 「faker」 被入侵,类似于去年coa、rc和ua-parser-js库被恶意分子劫持的情况。
看到各种反馈之后,开发者也赶紧发文表示已经在努力 「修复」 了。
但事实证明,故事并没有这么简单。
老子,不干了!
事件的开端要从这位名为 「Marak Squires」 的开发者说起。
近期,Marak在 「colors」 (GitHub上又名colors.js)加入了v1.4.44-liberty-2,并且发布了 「faker」(GitHub上又名faker.js)的6.6.6版本。
稍微对西方有所了解的朋友们很容易就能注意到,这个「666」有些不太对劲啊。
找了一圈发现,网上的图都不太能放……
总之,就是和 「恶魔」 有着千丝万缕的联系。
而Marak所做的,正是引入了一个无限循环的bug,让数以千计的依赖 「color」 和 「faker」 的项目直接崩溃。
这些信息包括文本 「LIBERTY LIBERTY LIBERTY」,以及在后面跟着的一大串非ASCII字符。
这些字符也被称为 「Zalgo文本」。
对了,最近我们整理了一批包括C++、java、Python、JavaScript等各种语言,还有操作系统、数据结构、设计、网络等各方面的学习资料,大家可以关注公众号TJ君,回复武功秘籍领取。
当然,这又是另一个非常有意思的故事了,感兴趣的朋友可以自己搜一下。
然而,时间一分一秒地过去了,自己的程序跑不了,项目的开发者也迟迟没有提交解决方案。
开发者们不得不开始自己寻求解决方案。
很快就有人发现,只要回滚到之前的1.4.0版本,问题就解决了。
由此也就可以推断,这个bug很有可能就来自于最新提交的「v1.4.44-liberty-2」。
通过查看项目的历史发现,Marak在v1.4.44-liberty-2版本的colors.js库中添加了一个 「新的美国国旗模块」,并将其推送到GitHub和npm。
就新的在代码中,有一段无限循环,会让所有使用 「colors」 的程序在控制台无休止地打印各种非ASCII字符序列。
对于 「faker」,Marak除了炸了自己程序之外,还修改了GitHub repo的README页面。
这次,Marak直接摊牌了:endgame。
Marak还提到了一个人:亚伦·斯沃茨。写到:「Aaron Swartz到底发生了什么?」
斯沃茨是一名美国程序员、企业家和著名的黑客活动家,在一场法律诉讼后「自杀」身亡。
为了使所有人都能自由获取信息,这位黑客从麻省理工学院校园网上的JSTOR数据库下载了数百万篇期刊文章,据称他通过反复旋转自己的IP和MAC地址来绕过JSTOR和麻省理工学院设置的技术封锁。
此前,在2020年11月,Marak就曾警告说,他将不再用他的 「免费工作」 来支持大公司了,而这些企业应该考虑用每年 「六位数」 的工资来补偿。
「恕我直言,我将不再用我的免费工作来支持财富500强(和其他较小规模的公司)。」
「你们可以把这当作一个机会,给我发一份六位数的年薪合同,或者把这个项目fork之后,让别人来做。」
于是,整件事的缘由逐渐明晰了起来,Marak似乎是在报复那些大型企业以及拿着开源项目赚钱的开发者。
他认为,这些人不仅大量地使用开源社区的免费软件,但是对社区又毫无贡献。
敢乱改自己项目?看我封你账号
对Marak的这波迷之操作,开源社区一部分开发者表示理解,另一部分则直接 「口吐芬芳芳」。
「显然,『colors.js』的作者为没有得到报酬而生气......。所以他决定在每次加载他的库时打印美国国旗......。」
嚯,有点意思啊!(doge)
信息安全专家VessOnSecurity称这种行为是 「真的不负责任」。
「如果你对企业免费使用你的免费代码有意见,就不要发布免费代码。通过破坏你自己被开发者广泛使用的项目,你不仅伤害了大企业,也伤害了所有在使用它的人。」
但是有人则认为:
「将代码发布到他们自己的库中,不需要对任何事情负责。如果你不同意我的观点,那么请阅读许可证中的实际法律条文,它没有给出任何保证。如果是不负责任的,那又怎样,他们不需要负责任。」
而GitHub一看,这个Marak怎么能瞎搞自己的项目,封了吧!
NPM已经恢复到faker.js包的前一个版本,Github已经暂停了我对所有公共和私人项目的访问。我有100多个项目。
软件工程师Sergio Gómez对此表示非常不理解:「从GitHub上删除自己的代码是违反他们的服务条款的?WTF? 这是一种绑架行为。」
Log4j:用爱发电,还得背锅
Marak的 「删库跑路」 ,不由得让我们想起最近闹得沸沸扬扬的 「Log4j事件」。
据火线安全不完全统计,仅在Github上,就有60644个开源项目发布的321094软件包存在风险,这一漏洞可以说是影响了互联网上70%以上企业系统的正常运转。
由于Java应用程序通常会记录各种各样的事件,例如用户发送和接收的消息,或者系统错误的详细信息,因此该漏洞可以通过多种方式触发。
很快,Log4shell漏洞开始出现大规模的恶意利用。
随着越来越多的问题被发现,Log4j的开发者们也不得不开启了假期无偿加班模式,为该项目打补丁。
虽然已经在 「不眠不休地进行抢救:修复、文档、CVE、回复咨询了」,然而,依然有一些bug赏金猎人在对Log4j维护者进行围追堵截。
Log4j这件事也让更多人开始关注大企业是如何 「压榨」 开源的问题。
大量的网站、软件和应用程序依靠开源开发者来创造基本的工具和组件,他们不断地消费,却没有给予足够的回报。
而这些「孜孜不倦」地修复着安全问题的开发者们,不仅放弃了自己的闲暇时间,也没有得到任何资金的支持。
网友对此评论道:
「对color.js/faker.js作者破坏他们自己的软件包的反应,恰好也说明了有多少企业开发者认为他们在道德上有权使用开源开发者的无偿劳动,而不用做出任何回报。」
对于开源代码的未来,大概只能等时间来告诉我们吧。
参考资料:
https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。
推荐阅读
裸辞之后自己在家接单是什么体验?
Java为什么冷启动开销大?我们又该如何解决?
扔掉 Postman,Apifox 才是 YYDS!
热门资讯早知道,吃瓜唠嗑不冷场,
记得加个星标,第一时间获得推送
点击阅读原文,送你免费Spring Boot教程!
著名开源项目,神秘Bug影响超20000个项目,原因竟是作者删库跑路?相关推荐
- GitHub 著名开源项目作者删库跑路,神秘 Bug 影响超 20000 个项目!
点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...
- 暴力拒绝白嫖,著名开源项目作者删库跑路!神秘Bug影响超2万个项目,亚马逊云也躺枪...
[文章来源][公众号:新智元] "从GitHub上删除自己的代码是违反他们的服务条款的?WTF? 这是一种绑架行为." 这两天,一些开发者感觉有点懵-- 一觉醒来发现,自己程序跑出 ...
- 暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码
往期热门文章: 1.两天两夜,1M图片优化到100kb! 2.12 个顶级 Bug 跟踪工具 3.1个人6种变现途径收入130万美金在2020年 4."阿里味" PUA 编程语言火 ...
- 暴力拒绝白嫖,著名开源项目作者删库跑路,数千个应用程序无限输出乱码,亚马逊云也躺枪...
- 删库跑路、“投毒”、改协议,开源有哪几大红线千万不能踩?
作者 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 开源协议是开源世界里的根基.根据CSDN<2021-2022 中国开发者调查报告>数据显示,尽管目前已有94 ...
- 炸锅了!删库跑路把“开源”推上了风口浪尖~
<中智观察>第1592篇推送 作者:雨涵 编辑:苏苏 头图来源:哔哩哔哩Gitee酱 2022年新年伊始,开源圈被推上了风口浪尖. 前有知名开源工具Faker.js 的作者 Marak 故 ...
- 暴力拒绝白嫖,开源项目作者直接删库跑路,这下大家都不要用了 !
编辑:好困,转载自:新智元 [导读]程序突然乱码,开发者紧急「修复」!然而-- 这两天,一些开发者感觉有点懵-- 一觉醒来发现,自己程序跑出来的全都是「乱码」. 说起来,这些开发者的共同点就是都使用了 ...
- 安卓刷机时代不再!魔趣开源项目创始人宣布:“决定删库跑路了”
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) "刷机",一个 00 后听着可能有些陌生,却能勾起许多 80 后.90 后青春记忆的词语--如今,它可能要进一步退出 ...
- 删库跑路大神的一生:曾在家造炸弹被捕,现卖房押宝NFT,原是开源创业之星...
梦晨 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI "著名开源项目被作者本人删了库"这个瓜,现在是越吃越大了. 「faker.js」和「color.js」的作者Mar ...
最新文章
- 【转】将 Linux 应用程序移植到 64 位系统上
- python教程:sum(1-2+3-4+...+99)
- Ubuntu服务器安装lamp
- 唐敏豪:我给MSU评测打9分
- JS 判断一个字符串是否包含在一个数组中
- SpringMVC注解驱动开发
- 关于机器学习的最佳科普文章:《从机器学习谈起》
- matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt
- 反编译工具ILSpy下载
- 推荐一个互联网电子书免费下载网站
- CSS基础知识——常用基础命令
- (四十七) 蓝牙自拍杆原理学习
- ftp访问命令 linux,linux访问ftp服务器命令
- 蓝桥杯试题c语言蛇形填数,2020十月份蓝桥杯B组省赛题解大全(害!附题面文件和部分代码~)...
- 520特别企划 | Z世代进入婚恋市场,婚恋交友行业会有什么变化?​
- 攻略:手把手教你如何看懂以太坊区块链浏览器(配图更清晰)
- 微小宝公众号排行榜_公众号榜单 | 2020·5月公众号地区排行榜重磅发布
- 《部落与弯刀》,我的第一个真正意义上的规则驱动开放世界游戏,快做完了
- 软考中级软件评测师备考详细资料
- 陈天桥与杨澜的一席经典对话
热门文章
- 【MySql】8.多对多关系表
- HijackThis日志细解【简明教程增强版】(五)
- centos yum update 报错 Delta RPMs disabled because /usr/bin/applydeltarpm not installed 解决方法
- 字符编码 ansi unicode utf-8 区别
- golang 获取公网ip 内网ip 检测ip类型 校验ip区间 ip地址string和int转换 判断ip地区国家运营商
- docker-compose command 执行多条指令
- 网络摄像头 登录绕过 RCE漏洞 数据分析报告
- python3 函数签名简介 验证函数参数
- linux socket 端口复用 SO_REUSEADDR
- golang 字符串比较 不区分大小写