天朝公司开发的开源软件靠谱吗?
★写在前面
天朝公司开发的闭源软件的风险,相信大伙儿都十分清楚。如果还有人不相信,俺引用编程随想的文章《为啥朝廷总抓不到俺——十年反党活动的安全经验汇总》关于【手机】的风险里面的一个小节:
大伙儿都知道天朝公司开发的闭源的软件不靠谱,不过捏,这样做还是不够滴,俺觉得有必要防范天朝公司开发的【开源】软件。
★【靠谱】的定义
不同的人对“靠谱”的定义不同,为了避免出现分歧,俺有必要给“靠谱”进行明确的定义:
★什么是【开源软件】
本文讨论的是【开源软件】,不是【自由软件】。由于这两个概念有很大的重叠,有很多人把这两者“混为一谈”。如果你有这样的误解,先看编程随想的文章:《澄清“自由软件、开源软件”相关概念及许可证的误解》
★开源软件的分类与危险程度
这里的“开源软件”包括:
◇操作系统
大伙儿使用电脑/手机,必须跟操作系统打交道。如果你用的操作系统本身就【不】靠谱,即使你用的其他软件都很靠谱也是白搭,影响程度最高。
天朝的“开源操作系统”很少,骗经费的“红旗”“麒麟”应该没啥人用(除了少数政府部门)。大伙儿比较熟悉的,应该是 StartOS 和 Deepin Linux,有不少 Linux 新手都用过它们。这两个发行版的公司都是做“盗版 Windows”起家滴,很不光彩,有一定动机“耍流氓”或者“植入后门”。
◇应用软件
以【二进制】(binary)形式分发的软件,大伙儿【直接】使用的软件都属于此类,如果某个应用软件【不】靠谱,可以换用同类靠谱软件,影响程度最低。
由于“自由软件”和“开源软件”的许可证【没有】限制开发者的行为,不排除有的开源软件的官方编译版是“做过手脚”滴。
◇库(library)
实现某个具体功能的软件,在软件开发过程中会用到。如果某个库【不】靠谱,使用了这个库的软件也会变得不靠谱,影响程度较高。
◇SDK
SDK 是“软件开发套件”的洋文缩写,属于库的一种,区别是通常由某个公司或组织开发,实现的功能与该公司或组织的软件/服务有关。如果某个 SDK 【不】靠谱,使用了该 SDK 的软件也会变得不靠谱,影响程度介于“应用软件”与“库”之间。
例如:某个具有“地图”功能的 App,使用了“百度地图”或者“高德地图”的 SDK,除了需要获取【定位权限】,可能还会获取无关权限:摄像头、电话、短信......
◇建站程序/Web 应用
(考虑到大伙儿对“建站程序”更熟悉,下文用这个词指代“Web 应用”)
开源的建站程序有很多,比如 WordPress、MediaWiki、Discuz! 等。如今的 Web 安全在【信息安全】里面的占比是很高滴,如果某个建站程序【不】靠谱,不仅很容。泄露用户信息(拖库),还有可能存在六扇门的【隐藏后门】,或者被朝廷的“御用骇客”攻破,使用户面临【跨省抓捕】的风险(例如本站),影响程度与应用软件差不多。
某些网站会公布其源代码,主要是 IT 类网站,国内外都有。这些源代码存在与“应用软件”类似的风险,服务端部署的代码【未必】就是开源出来的源代码。
某些墙外的“反共”网站和论坛使用 Discuz! 这种非常【不】靠谱的建站程序,比如“中興會”(GreatROC)、“红色中国网”(RedChinaCN)等,“品葱”使用的是天朝公司开发的 WeCenter,俺也认为不够靠谱。
★其他风险
大伙儿不要以为这些软件“开源”了,就可以“高枕无忧”地使用它们。大伙儿必须保持对天朝公司的警惕。
举几个例子:
天朝公司分发的开源软件,可能会在源代码悄悄【做手脚】,编译出来的软件就会有后门,普通用户难以发现。典型的例子是 Mozilla 在天朝的【特供版】Firefox,开发者“谋智中国”公司的名声已经很臭了。
六扇门可以埋下隐藏很深的高级后门,例如“国产加密算法”,监听所有的“加密信息”。这只是俺能想到的其中一种后门。
(其他的作恶方式,欢迎大伙儿补充)
★结尾
俺【不】信任天朝公司开发的所有软件,包括“闭源软件”和“开源软件”。即使是个人开发者的作品,俺也会保持谨慎,尽可能使用国外公司和个人开发的开源软件。
天朝公司开发的闭源软件的风险,相信大伙儿都十分清楚。如果还有人不相信,俺引用编程随想的文章《为啥朝廷总抓不到俺——十年反党活动的安全经验汇总》关于【手机】的风险里面的一个小节:
7. 用户群很大的那几个 App,都很流氓
这个道理,俺也聊过多次了。像“微信/支付宝/百度/京东”这些 App,装机量都是以【亿】计。这么大的安装量,朝廷的有关部门,难道会不动心吗?假如有关部门找到这几家公司的老板,要他们稍微配合一下,在 app 里面玩点猫腻,像
菊花疼、马淫、李阉红、刘强奸
这些老板,他们有胆量拒绝朝廷提的要求吗?答案显然是【否定】滴!
因此,国内装机量特别大的 app,不耍流氓几乎不可能!
还有一个比较讽刺的是——所有这些公司(不管是老板还是公关部门),都会信誓旦旦地说:从来不耍流氓。但是大伙儿别忘了——这是在天朝,这是一个“诚信还不如狗屎”的国度。诸如此类的诅咒发誓,你当笑话听听就行啦,切莫当真。
大伙儿都知道天朝公司开发的闭源的软件不靠谱,不过捏,这样做还是不够滴,俺觉得有必要防范天朝公司开发的【开源】软件。
★【靠谱】的定义
不同的人对“靠谱”的定义不同,为了避免出现分歧,俺有必要给“靠谱”进行明确的定义:
- 不“耍流氓”
- 不“偷窥”用户的隐私
- 没有“六扇门”植入的后门
- 代码经过【安全审计】
- 【彻底】开源
- ......
★什么是【开源软件】
本文讨论的是【开源软件】,不是【自由软件】。由于这两个概念有很大的重叠,有很多人把这两者“混为一谈”。如果你有这样的误解,先看编程随想的文章:《澄清“自由软件、开源软件”相关概念及许可证的误解》
★开源软件的分类与危险程度
这里的“开源软件”包括:
◇操作系统
大伙儿使用电脑/手机,必须跟操作系统打交道。如果你用的操作系统本身就【不】靠谱,即使你用的其他软件都很靠谱也是白搭,影响程度最高。
天朝的“开源操作系统”很少,骗经费的“红旗”“麒麟”应该没啥人用(除了少数政府部门)。大伙儿比较熟悉的,应该是 StartOS 和 Deepin Linux,有不少 Linux 新手都用过它们。这两个发行版的公司都是做“盗版 Windows”起家滴,很不光彩,有一定动机“耍流氓”或者“植入后门”。
◇应用软件
以【二进制】(binary)形式分发的软件,大伙儿【直接】使用的软件都属于此类,如果某个应用软件【不】靠谱,可以换用同类靠谱软件,影响程度最低。
由于“自由软件”和“开源软件”的许可证【没有】限制开发者的行为,不排除有的开源软件的官方编译版是“做过手脚”滴。
◇库(library)
实现某个具体功能的软件,在软件开发过程中会用到。如果某个库【不】靠谱,使用了这个库的软件也会变得不靠谱,影响程度较高。
◇SDK
SDK 是“软件开发套件”的洋文缩写,属于库的一种,区别是通常由某个公司或组织开发,实现的功能与该公司或组织的软件/服务有关。如果某个 SDK 【不】靠谱,使用了该 SDK 的软件也会变得不靠谱,影响程度介于“应用软件”与“库”之间。
例如:某个具有“地图”功能的 App,使用了“百度地图”或者“高德地图”的 SDK,除了需要获取【定位权限】,可能还会获取无关权限:摄像头、电话、短信......
◇建站程序/Web 应用
(考虑到大伙儿对“建站程序”更熟悉,下文用这个词指代“Web 应用”)
开源的建站程序有很多,比如 WordPress、MediaWiki、Discuz! 等。如今的 Web 安全在【信息安全】里面的占比是很高滴,如果某个建站程序【不】靠谱,不仅很容。泄露用户信息(拖库),还有可能存在六扇门的【隐藏后门】,或者被朝廷的“御用骇客”攻破,使用户面临【跨省抓捕】的风险(例如本站),影响程度与应用软件差不多。
某些网站会公布其源代码,主要是 IT 类网站,国内外都有。这些源代码存在与“应用软件”类似的风险,服务端部署的代码【未必】就是开源出来的源代码。
某些墙外的“反共”网站和论坛使用 Discuz! 这种非常【不】靠谱的建站程序,比如“中興會”(GreatROC)、“红色中国网”(RedChinaCN)等,“品葱”使用的是天朝公司开发的 WeCenter,俺也认为不够靠谱。
★其他风险
大伙儿不要以为这些软件“开源”了,就可以“高枕无忧”地使用它们。大伙儿必须保持对天朝公司的警惕。
举几个例子:
天朝公司分发的开源软件,可能会在源代码悄悄【做手脚】,编译出来的软件就会有后门,普通用户难以发现。典型的例子是 Mozilla 在天朝的【特供版】Firefox,开发者“谋智中国”公司的名声已经很臭了。
六扇门可以埋下隐藏很深的高级后门,例如“国产加密算法”,监听所有的“加密信息”。这只是俺能想到的其中一种后门。
(其他的作恶方式,欢迎大伙儿补充)
★结尾
俺【不】信任天朝公司开发的所有软件,包括“闭源软件”和“开源软件”。即使是个人开发者的作品,俺也会保持谨慎,尽可能使用国外公司和个人开发的开源软件。
library 中 典型的案例是:
ant-design,他自己标榜为世界第二流行的react 库。
ant-design 是阿里旗下蚂蚁金服 的开源库。早期还可以,代码、走向都还符合一个正常的开源库。然后不知什么原因,主创人员开始膨胀了,在2018年12月25日圣诞节公然给用户喂屎。
https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a
9月份主创人员加入了圣诞彩蛋,然后脑洞大开
并且在commit 中特别标注 不加入change log。
喂屎的结果是,在12月25日当天,全部使用了9月份以后新发布的library用户在这一天 所有使用 primary 的button 全部被自动替换成了圣诞节的主题,并且自动发出HOHOHO的声音。
看起来是很惊喜是吧?然而问题在于使用了这个library的用户没有自己决定的权限,而且很大部分人都是在不知道的情况下被动激活的。 与此同时 官方并没有给用户关闭的权力/API。
更漂亮的事情是,使用这个library的用户不但有 中国的政府机构,也有伊斯兰世界国家的组织和机构。 穆斯林网站直接开出圣诞彩蛋? 开什么玩笑。
那么使用的人有没有发现?答案是有:
https://github.com/ant-design/ant-design/issues/13098
至少三个人发现了这个问题并且提出issue ticket 要求至少增加开闭的开关,让用户自己决定是否开启这个彩蛋。然而官方人员并没有引起重视,然后在给这么一句
You can override the css : )
.ant-btn.ant-btn-primary.christmas:before {
display: none!important;
}
然后关闭了issue ticket。
目前我自己已经将阿里系的 library 统一标注为:
GLWTPL (Good Luck With That Public License)
https://github.com/me-shaon/GLWTPL
阿里系完全破坏了github的开源社区微妙的互信转态,也就是发布者以严谨的态度让用户开箱可用,用户相信现阶段发布的代码可用并且没有屎。当然本故事的结局是整个蚂蚁金服 开发团队 直接吃下3.25 的最低绩效。
但是再开发的人疏忽于做源代码的代码审查了也是导致事件爆发的原因,因此整个事就是一个炸雷,炸响了整个开源社区,虽然无论国内外已经有过先例,比如
不要完全相信任何人、或任何组织的开源代码。有的项目是由于源代码开发者的疏忽,会导致一些不必要的损失,但是有的是真的在埋雷作恶。
ant-design,他自己标榜为世界第二流行的react 库。
ant-design 是阿里旗下蚂蚁金服 的开源库。早期还可以,代码、走向都还符合一个正常的开源库。然后不知什么原因,主创人员开始膨胀了,在2018年12月25日圣诞节公然给用户喂屎。
https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a
9月份主创人员加入了圣诞彩蛋,然后脑洞大开
并且在commit 中特别标注 不加入change log。
喂屎的结果是,在12月25日当天,全部使用了9月份以后新发布的library用户在这一天 所有使用 primary 的button 全部被自动替换成了圣诞节的主题,并且自动发出HOHOHO的声音。
看起来是很惊喜是吧?然而问题在于使用了这个library的用户没有自己决定的权限,而且很大部分人都是在不知道的情况下被动激活的。 与此同时 官方并没有给用户关闭的权力/API。
更漂亮的事情是,使用这个library的用户不但有 中国的政府机构,也有伊斯兰世界国家的组织和机构。 穆斯林网站直接开出圣诞彩蛋? 开什么玩笑。
那么使用的人有没有发现?答案是有:
https://github.com/ant-design/ant-design/issues/13098
至少三个人发现了这个问题并且提出issue ticket 要求至少增加开闭的开关,让用户自己决定是否开启这个彩蛋。然而官方人员并没有引起重视,然后在给这么一句
You can override the css : )
.ant-btn.ant-btn-primary.christmas:before {
display: none!important;
}
然后关闭了issue ticket。
目前我自己已经将阿里系的 library 统一标注为:
GLWTPL (Good Luck With That Public License)
https://github.com/me-shaon/GLWTPL
阿里系完全破坏了github的开源社区微妙的互信转态,也就是发布者以严谨的态度让用户开箱可用,用户相信现阶段发布的代码可用并且没有屎。当然本故事的结局是整个蚂蚁金服 开发团队 直接吃下3.25 的最低绩效。
但是再开发的人疏忽于做源代码的代码审查了也是导致事件爆发的原因,因此整个事就是一个炸雷,炸响了整个开源社区,虽然无论国内外已经有过先例,比如
- left-pad 事件:作者基于个人原因将项目从 NPM 包管理器中删除,导致很多项目和网站无法正常工作;
- event-stream 事件:开源作者因为项目众多缺人维护,将项目权限转送他人后竟然被植入比特币钱包后门。
不要完全相信任何人、或任何组织的开源代码。有的项目是由于源代码开发者的疏忽,会导致一些不必要的损失,但是有的是真的在埋雷作恶。
我对php的世界一无所知,没法具体分析。
我认为,对中国企业开发的开源项目保持警惕是必要的,但如果有四个自信,觉得能掌控源代码,可以用。
我认为,对中国企业开发的开源项目保持警惕是必要的,但如果有四个自信,觉得能掌控源代码,可以用。
我会尝试一下提供的功能,但不会长期拿来用。虽然像Deepin(深度Linux)这样的系统已经存在了好几年,但我一直不对它信任。也许很多人都忘了,甚至可能不知道,但我仍然不时提醒自己:深度Linux背后的组织,是靠Windows盗版夹带私货起家的。
2019年它在华为的帮助下迅速壮大,又受到一些大型国企的青睐。疑似“骗经费”的UOS(统一操作系统)从外观上看,是Deepin的直接换皮版,甚至连UOS的微信公众号实际上是由Deepin经营。
对于这样的开源软件,我依旧怀疑它会夹带私货。说一套做一套是天朝的拿手绝活。如果天朝企业发行的系统并不是从公开的源码上build出来,公众看到的公开代码其实是内部源码的删减版,我一点都不会惊讶,这是意料之中的事情。
2019年它在华为的帮助下迅速壮大,又受到一些大型国企的青睐。疑似“骗经费”的UOS(统一操作系统)从外观上看,是Deepin的直接换皮版,甚至连UOS的微信公众号实际上是由Deepin经营。
对于这样的开源软件,我依旧怀疑它会夹带私货。说一套做一套是天朝的拿手绝活。如果天朝企业发行的系统并不是从公开的源码上build出来,公众看到的公开代码其实是内部源码的删减版,我一点都不会惊讶,这是意料之中的事情。
Discuz!安全性还是可以的,我就是Discuz!的第三方开发者,国内几乎所有的大网站都在用,新浪、网易、百度、腾讯、360……很多还涉及金钱。以前只要发现漏洞都会在Wooyun上公布,官方进行修补,现在Wooyun站长被共匪抓捕了,不知道漏洞通过什么渠道进行提交修补了。
开源不是自然就安全的。Ubuntu就明目张胆收集用户信息。
为什么不抓你可能你的价值还不够入赵家人的眼。
其实不用太担心,开源项目植入后门的难度是非常大的。
越有关注度和影响力的开源项目,留下后门的几率越小。这是因为一旦被公众用得多,被审查的机会也多;而一旦出现问题被曝光,会造成信任危机,对项目的推广造成严重影响。
越有关注度和影响力的开源项目,留下后门的几率越小。这是因为一旦被公众用得多,被审查的机会也多;而一旦出现问题被曝光,会造成信任危机,对项目的推广造成严重影响。
前提是必須是絕對開源,完全給你看光光
那樣的話有沒有後門會不會耍流氓這種事也都會給看光光,就會有人把後門堵上,不爽你也可以自己堵
雖然説麻瓜不會看源代碼,但麻瓜也分不清開源和不開源啊?
順便説一句,與其付錢給流氓windows,我還覺得盜版好一點呢,不用給蓋飯那個人渣賺錢
那樣的話有沒有後門會不會耍流氓這種事也都會給看光光,就會有人把後門堵上,不爽你也可以自己堵
雖然説麻瓜不會看源代碼,但麻瓜也分不清開源和不開源啊?
順便説一句,與其付錢給流氓windows,我還覺得盜版好一點呢,不用給蓋飯那個人渣賺錢