Linus 回应“拉黑”事件:触犯禁忌,违背信任!
SegmentFault 思否
事件回溯
今年 2 月,来自美国明尼苏达大学的研究者 Qiushi Wu 和 Kangjie Lu 发布了一篇研究论文《On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits》,旨在分析开源项目的安全性。为了做研究,他们向一些开源项目提交了一些有 BUG 的代码,其中 Linux 内核正是他们的主要实验「场地」。
这项研究在去年进行,当时提交的代码似乎并未引起安全漏洞,有一些甚至被成功合并入 Linux 内核树。
2 月份相关研究论文发布后,明尼苏达大学研究者想继续提交由「新型静态分析器」创建的 patch。
4 月 21 日,Linux 内核管理员 Greg Kroah-Hartman 在与明尼苏达人员沟通的邮件中表示:
您和您的团队此前提交了有 bug 的代码,以观察 Linux 内核社区的反应,并据此发表了一篇论文。现在,您想提交新的一批有问题代码,这些代码显然并非静态分析工具创建而成。
SegmentFault 思否
Linus 表示不满
Linus 的火爆脾气相信大家都了解,此事件本身就热度不低,再加上 Linus 的自带标签,外媒 IT Wire 就“明尼苏达大学偷偷往 Linux 引入漏洞”一事采访了 Linus 的看法。
但这次 Linus 并没有就此事展开激烈的回应,他只是很平静的回应道:
“从技术上讲我并不觉得这是什么大事,但这让人们很生气,因为这显然违背了开发者之间的信任。”
Linus 说的没错,因为在开源社区中,有一个大家共通的禁忌:
开源作者将项目开源已经是个很艰巨的工作了,而且日常的维护工作也并不轻松,但却有人为了做实验故意多次提交带有漏洞的恶意补丁,而此举动的目的竟然只是为了看开源维护者如何应对。
Linux 庞大的内核社区的规模,更是让程序员之间的信任成为了开发过程中至关重要的一部分。
因此 Linus 对此表示不满:
“这很让人讨厌,因为大部分的补丁是有用的(通常补丁不是”无用的”或者“故意提交恶意代码”),所以从根本上来说,这种行为就是在浪费大家的时间。”
SegmentFault 思否
涉事教授:Aditya 并非故意
“我们对于您的担忧深表歉意,我明白社区为什么会对此不满,但关于 hypocrite commits 的项目早在 2020 年 11 月就完全结束了,而 Aditya 正在着手于一个在补丁中找漏洞的新项目,他并不是故意犯错的。”
除此之外,在 Kangjie Lu的个人主页上,我们可以看见《论通过假意提交代码在开源软件中偷偷引入漏洞的可行性》这篇论文下有 2 行加粗的标注:
“这个实验没有在 OSS 中引入任何漏洞或引入漏洞提交。它以一种安全的方式展示了修复漏洞中的缺陷。没有用户受到影响,并且这项实验获得了 IRB 的批准,而它实际上还修复了 3 个真正的漏洞。”
Kangjie Lu 还补充道:这项实验所涉及到的漏洞补丁并没有真正进入代码,它只停留在了 email 里。而正巧 Aditya 在进行另一个新项目时,向 Linux 提交的补丁不小心出现了错误。
有过提交补丁经验的人都知道,出错是在所难免的,可Linux 内核维护者却将这两个项目相联系,所以才导致了现在的局面。
并且,Kangjie Lu 曾经在被问到“该项目是否会浪费管理员精力”时,他的回答是:“会。”
所以他们明知这项实验会浪费 Linux 内核维护者本就不充裕的时间,却还是进行了这个实验。可这项实验又何尝不是利用 Linux 开源工作者的热情与义务,变相向他们增负呢?
参考链接:
https://itwire.com/open-source/torvalds-says-submitting-known-buggy-patches-is-a-breach-of-trust.html
https://twitter.com/kengiter/with_replies