明尼苏达大学的研究人员因提交“伪善的补丁”(Hypocrite Commits)来进行安全实验,故意向 Linux 内核引入看似无害实则存在漏洞的代码,以测试其审查流程。这一行为被视为对社区信任的严重背叛和对志愿者时间的极大浪费,引发了 Linux 社区的强烈愤慨。最终,Linux 内核社区全面禁止了该大学的任何代码贡献,并要求其撤回相关论文。此事件引发了关于开源软件安全、研究伦理以及社区治理的深刻讨论。
一个有争议的实验
助理教授康杰·卢(Kangjie Lu)和他的博士生旨在通过一个实验来改善 Linux 内核的安全性。他们的方法是提交所谓的“伪善的补丁”——这些补丁表面上在修复一个问题,但暗中却引入了新的、严重的安全漏洞。
研究人员声称,他们的目标是向开发者展示恶意行为者如何可能渗透他们的审查系统。他们将这种行为比作“白帽黑客”,即通过发现漏洞来帮助开发者修复系统。
然而,当研究论文的摘要公开发布后,它在 Linux 社区中引发的不是感激,而是强烈的愤怒。
在我个人看来,这完全不道德。
社区的背叛与愤怒
Linux 社区的愤怒并非源于漏洞本身,而在于研究人员的行为方式。开发者们认为这种做法严重违背了开源社区的基本原则。
- 浪费志愿者时间:Linux 内核的维护者大多是志愿者,他们投入个人时间来审查和测试补丁。研究人员故意提交有问题的代码,无端消耗了这些宝贵的资源。
- 违背研究伦理:许多社区成员认为,这项研究构成了未经同意的“人体实验”。开发者们在不知情的情况下成为了研究对象。正如 Linux 基金会成员格雷格·克罗哈-哈特曼(Greg Kroah-Hartman)所说:“在人们不知道你正在进行研究的情况下对他们进行‘研究’,通常不被认为是一件好事。”
- 破坏信任基础:开源软件的运作依赖于一个充满活力的社区和成员之间的相互信任。这种信任一旦被破坏,整个协作体系都会受到影响。
开源的定义就决定了它依赖于一个活跃的社区……这个循环依赖于很多人,你必须对这个系统有一定程度的信任……如果有人破坏了这种信任,事情就会变得一团糟。
禁令与后果
2021年4月,当一名来自明尼苏达大学的学生再次提交一个可疑的补丁时,事件达到了高潮。已对该大学保持警惕的格雷格·克罗哈-哈特曼迅速采取了行动。
他正式宣布,默认拒绝所有来自 umn.edu 邮箱地址的提交,并回滚了近190个之前由该大学成员提交的补丁。
Linux 基金会随后向明尼苏达大学发出一封信,提出了四项明确要求:
- 公开所有实验中已知的漏洞代码,以便社区进行审查。
- 撤回关于“伪善提交”的研究论文。
- 确保未来的研究在开始前通过伦理审查委员会(IRB)的审查。
- 确保未来的伦理审查要求研究对象提供知情同意。
尽管研究团队公开道歉,但社区的信任已经受损。克罗哈-哈特曼明确表示,在大学满足基金会的要求之前,“我们没有什么可谈的了”。
反思与争议
尽管研究方法存在严重道德问题,但这一事件确实引发了关于开源安全的重要讨论。
一些人认为,这次实验暴露了开源开发模式的一个根本弱点:它容易受到恶意贡献者的攻击。维护者 Christoph Hellwig 甚至认为:“展示这种‘攻击’早就该做了,它开启了一场非常重要的讨论。”
这项研究显然是不道德的,但它确实表明,开源软件开发模式容易受到恶意提交的攻击。
另一些人则认为,这件事恰恰证明了 Linux 社区的自愈能力。恶意行为者被发现、被揭露并被迅速驱逐,这表明审查系统最终是有效的。正如一位系统管理员所说:“我对这个流程更有信心了,因为它被发现了。”
最终,此次事件促使社区开始重新审视补丁的接收政策,特别是如何处理来自新贡献者的提交,以建立一个更严格、更可靠的审查流程。