中国的三个『熊孩子』彻底出了名,闯入某国际开源托管站项目,吧用户数据删了个光

中国的三个『熊孩子』彻底出了名,闯入某国际开源托管站项目,吧用户数据删了个光




近几天,在开源社区的项目EdXposed发生了一件事,一些使用EdXposed滚动更新包版本0.4.6.3_4549的用户手机数据被彻底清除。

这是怎么回事呢?原来,发生这次事件主要是有以下2个巧合共同作用形成,和该项目社区本身并无直接关联:

  1. 三个熊孩子闯入github,恶意提交pr请求
  2. 官方自动化编译设置错误,导致未经批准的pr当成已经批准的代码被推送到每日更新通道

我们称呼这三个小鬼为A、B、C。这三个小鬼作恶的全流程如下:

首先,小鬼A提交了一个pr#537,直接在edxp-core/template_override/customize.sh提交了一行更新:

rm -rf /data/*

2020-05-23 13-32-54屏幕截图

懂linux的都知道,rm -rf是一条危险命令,由于linux的特性,该命令会对相应数据进行彻底删除,而由于-rf参数的原因,删除会被强制执行。

要是 谁家的运维执行了这条命令,导致磁盘数据彻底清除,那么,这将是非常严重的运维事故,即便是按照中国法律,根据『中华人民共和国 刑法』:

第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
   违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
   故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。

笔者不知道国外是如何规定的,但正常情况下,因为这情况造成重大损失,刑法责任是逃避不了的。虽然这是国外的社区,但作恶的确实中国的熊孩子。

这个熊孩子A还算好,马上就撤回了自己的代码,估计就是想留名表达自己到此一游吧。估计他自己也没想到,这个行为马上就被小鬼B和小鬼C效仿。

现在来看看熊孩子B的做法,他更过分,连续提交了2次,分别是pr请求为#537和#541。

2020-05-23 13-37-50屏幕截图

2020-05-23 13-38-37屏幕截图

大哥。。。你这是巴不得自己不出名吗?还吧这条消息推送给所有用户???想出名想疯了??这可是公共项目的版本库啊,你能不能遵守社区公约啊。还『到此一游』?你得意个屁啊。。。

然后到了小鬼C,直接贴图吧,他的提交是#540。

2020-05-23 13-41-35屏幕截图

当然,正常情况下,这些pr是单独的分支,合并到主分支必须经过项目主要维护人员同意,也许是倒霉到极点的恐怖巧合吧,由于项目组官方设置错误,导致未经批准的代码被误认为是批准的代码,被自动打包程序抓取并推送到每日自动滚动更新通道。

每日自动滚动更新是指非正式版本,开发分支只要有提交,那么这个就会被自动编译,因此叫滚动编译(rolling build)。这对那些喜欢尝鲜的用户来说,可以提前享受到新的功能,当然,由于未经过充分验证,因此可能存着未知的bugs。那些使用滚动更新的用户,便收到了带毒的更新包,然后安装,彻底被删除全部数据。

但这不是这几个小鬼逃避和甩锅的理由。

事情发生后,其小鬼A直接注销账户改名跑路。

小鬼B,虽然在平台上发出了道歉声明,但可能是发现锅太大扛不住,也注销跑路了。

小鬼C没有跑路,但他的道歉却非常好笑,简单点说就是如下信息:

  • 我提交的代码删除的东西最少
  • 没想到会推送给用户
  • 我有罪,但不打算背锅

如果我有机会问问他们,那么我正想问下,你们三个的父母是怎么教出你们的?三个脑子里到底想些什么??这个玩笑很好玩吗?还是很好笑啊?开玩笑也分场景啊。

的确,如果不是团队自动更新配置有误,也不会发生这事情,但这完全不是你们作恶的理由。

举个例子,你出门了,然后被我杀了,我能不能说,你不出门就不会被我杀了?完全是天方夜谭。

最后说一句,这些应用使用滚动更新千万要注意,由于没有进行充分测试,最好过几天在说。

打赏

说点什么

avatar
  订阅  
提醒

扫码二维码快速访问本页

中国的三个『熊孩子』彻底出了名,闯入某国际开源托管站项目,吧用户数据删了个光 – 起航天空