竟然有人故意向Linux kernel提交有bug的代码

https://news.ycombinator.com/item?id=26887670

https://www.neowin.net/news/linux-bans-university-of-minnesota-for-sending-buggy-patches-in-the-name-of-research/

据说目的之一在于观察kernel社区对这种行为如何反应 :sweat: :sweat:

result: We get banned and our entire university gets dragged through the muck 100% of the time

不得不说,这波供应链攻击操作属实秀

不过怕是暗地里提交BUG代码的也不少。

是真的丧心病狂

侧面体现三哥代码水平不过关?

算是求锤得锤吧,UMN那个PhD的email有点把人当傻子的感觉 :joy:。 新闻里提到的那篇paper的作者和给linux project提交bug的commitor名字还不一样,猜测这个应该是经过了导师和学校的审核的,ban了整个UMN也不算完全冤枉。

你要研究,自己开个分支去研究啊,还合到源码树里,是真厉害

研究的不是内核bug,而是开源协作模式的bug,也就是reviewer对于PR的审核能力。

这本质上是一个社会实验,而他们最大的问题出在道德上,未事先得到许可就将素不相识的人当成小白鼠,白白耗费维护者的时间精力以及信任,破坏开源环境,违背开源精神。这个问题非常严重,就是sex和rape的区别。

1赞

如何在取得许可的前提下完成这样的实验?

非常难,这种就是吃力不讨好的课题

他说:

知乎上看到了一篇非常好的回答:https://www.zhihu.com/answer/1849144708

1赞

我不认为这只是个求锤得锤的事件。

诚然内核这种规模的软件代码提交审查成本很高。破坏信任体系的人应该受到惩罚。

但是也必须承这种管理模式的确存在漏洞。假定每个(有声望的)人都会爱惜自己的羽毛,也很难预料一旦有账号(出于某种原因)脱离原持有者的控制会发生什么。也许内核中早就埋下不少暗桩了,只不过是没向公众披露而已。

随着软件规模越来越大,影响越来深远,基于信任的开发管理模式是否继续适用也应该拿出来讨论

3赞

只要是软件就会存在 bug,这根本是无法避免的事情,提交一个 patch,里面存在 bug 并且这个bug 没有被维护者发现同样也是非常正常的一件事情,至于是提交者无心的还是恶意的只有提交者自己知道。这根本就是一个无解的问题,如果每个人提交的 patch 都没有 bug,或者维护者有能力或者方法发现每一个 patch 里的 bug,那么这个软件也就不可能存在 bug,可能吗?这个世界上真的存在一个所谓的管理模式能够做的到么?

1赞

这么搞是鼓励人们不互相体面来着…

这从来不只是一个求锤得锤的事件,接着往下看,还可以看一下评论区:

搞不懂的话,不妨换一个场景。


比如,你是中国北关大学的学生;一年前你们的导师搞了个课题,研究“打110报假警时,警察能识别出多少是假的”——然后不去雇佣退役警察或者到警队招募志愿者,而是直接打了110。


虽然骗过接警者之后马上解释,但仍然给警方造成大量混乱。因此受到警方警告。



结果,到了你这届,你也想用这招水论文——上次是用学校电话打的,警队可能已经警惕了;所以这次你到大街上借个电话,拨完警察把你抓了,并且屏蔽了你所在大学的所有电话——你觉得你该不该?

的确可以拿出来讨论,我认为任何人出于学术目的讨论任何东西都不应该被禁止,这种讨论,再好或再没意义,只要不影响他人,影响的就是讨论者自己。但是他们讨论后所做的人类实验是极其unethical的。而且这整件事情的论点就很蠢,你咋一看觉得“对,信任体系确实有风险”,但你仔细想想,或者看明白我上面发的链接,在这个社会上,基于信任的合作是必不可少的

合作模型比起对抗性模型,工作量减少百倍不止。

你甚至可以换一个情况想,任何公司招聘新员工的时候,是优先相信他们是真的来应聘的好,还是默认他们全都是竞争对手派来的商业间谍好?难道这个研究室为了证明目前的招聘规则下有可能混进商业间谍(这是完全有可能的事,也并非不值得讨论)于是就故意造假简历投各大公司,浪费完HR的时间然后跟HR说 “你们的招聘方式有问题”?

同理,任何110接线员是优先相信报警的人是真的想求助好,还是报假警好?任何去餐馆吃饭的人是优先相信食品是安全的好,还是有可能被投毒的好?任何去超市买菜的人是优先相信菜是安全的好,还是变质的好?任何出门遇到红绿灯的时候是优先相信红绿灯是正常运转的好,还是已经坏掉的好?

难道大家不知道另外一个可能性吗,但如果信任体系崩坏,你怎么在这个社会生活,或者你怎么生活?你还呼吸吗?你是优先相信呼吸的是无毒气体,还是优先认为你的空调已经被下毒了,吹出来的全都是有毒气体好呢?

但是,就如我最开始所说,这种讨论,再好或再没意义,只要不影响他人,影响的就是讨论者自己。但是他们讨论后所做的人类实验是极其unethical的。

难道要在他们未事先同意参与这项实验的前提下莫名其妙被浪费时间然后得到业界普遍共识的1+1=2的结论后继续开心配合吗(尤其是kernel这么关键的项目)你愿意吗?

大家都是成年人,没有人不知道这种体系的潜在风险,但凭什么要在没同意的情况下给别人当小白鼠?

7赞