AI疯狂扫描4000万行Linux代码、CVE逼近2000个,维护者直呼:“彻底忙不过来了”
3 小时前 / 阅读约6分钟
来源:36kr
Linux内核进入7.x版本后CVE数量激增,AI成为重要推手,通过大规模自动化检查发现大量潜在漏洞。AI虽降低发现问题成本,但增加判断问题成本,Linux社区正探索如何高效利用AI。

时下,Linux 内核正在经历一场有些特殊的“漏洞大爆发”。

据 Linux 内核稳定版维护者 Greg Kroah-Hartman 近期分享的数据显示,过去 Linux 6.x 系列一个版本通常修复约 500 个 CVE,但自从进入 Linux 7.x 后,这一数字突然明显上升:Linux 7.0 已经超过 1000 个,Linux 7.2 更是突破 1500 个。如果当前趋势继续,正在开发中的 Linux 7.3 甚至可能超过 2000 个。

表面上看,这似乎意味着 Linux 内核突然变得“不安全”了。

但事实恰恰没有这么简单。这轮 CVE 数量激增背后,一个重要推手正是 AI。

不是漏洞突然变多,而是 AI 开始“翻旧账”

Linux 内核自诞生发展至今已有 35 年,目前整个源码树规模约为 4000 万行。

如此庞大的代码库中,存在大量很少被触碰的驱动、文件系统以及历史兼容代码。过去,人力很难把这些代码全部重新检查一遍,因此一些潜在问题可能长期没有被发现。

而 AI 恰好改变了这一点。

现如今,越来越多研究人员和安全团队开始利用一些 LLM、AI 辅助静态分析工具以及模糊测试工具,对 Linux 内核进行大规模自动化检查。AI 可以持续扫描那些人类开发者很少关注的代码区域,并尝试从中寻找潜在的内存安全问题、逻辑错误和其他漏洞。

于是,一个此前被忽略的问题,可能在 AI 的扫描下突然被“翻”出来。

因此,CVE 数量从过去每个版本约 500 个,快速上涨到 1000 多个甚至逼近 2000 个。

Linux 维护者:“我们已经彻底忙不过来了”

然而,AI 在帮助发现更多 Linux 内核漏洞的同时,也给维护者带来了新的负担。

AI 大规模扫描代码后,确实能找到一些此前长期被忽视的安全漏洞,但并不是所有发现都值得修复。其中既有低优先级问题,也有理论上的风险、重复报告,甚至还有 AI 自己“脑补”出来的漏洞。

更麻烦的是,不少问题还集中在一些已经非常老旧、几乎无人使用的驱动和代码上。

这意味着,AI 虽然大幅降低了“发现问题”的成本,却没有同时降低“判断问题”的成本。

过去,内核维护者需要花大量时间寻找和定位漏洞。现在,AI 可以替他们完成其中相当一部分工作,但维护者反而需要面对海量报告,逐一判断哪些是真问题、哪些值得修、哪些只是 AI 的误报。

Linux 网络子系统的情况尤其明显。

据外媒 Tomshardware 报道,在 Linux 7.3 的开发周期中,网络维护者 Jakub Kicinski 曾统计了 648 个 net-next 补丁,其中大约三分之一到一半看起来都与 AI 驱动的修复、清理或代码说明有关。

面对不断涌入的 AI 生成补丁,他直言:“我们已经彻底忙不过来了。

4000 万行代码,意味着大量“历史包袱”

这场 AI 驱动的漏洞潮,也让 Linux 社区重新审视了一个存在多年的问题:那些已经几乎没人使用的老代码,还有没有继续维护的必要?

Linux 内核为了兼容几十年来各种硬件和平台,积累了大量历史代码。

这些代码过去可能没有多少人关注,但 AI 和模糊测试工具并不会因为某段代码“已经没人用了”就停止检查。一旦发现潜在问题,维护者仍然需要判断它是否真实存在、是否构成安全风险,以及是否应该提交补丁。

于是,一个很现实的问题出现了:如果一段代码已经服务于几乎不存在的硬件,但每次 AI 扫描都会给它制造新的维护任务,那么继续保留它的价值到底还有多大?

今年 4 月,Linux 开发者 Andrew Lunn 就曾提出删除接近 2.8 万行遗留网络代码,其中涉及一些非常古老的 ISA 和 PCMCIA 硬件。

随着 AI 和模糊测试工具不断发现这些老代码中的问题,维护成本正在变得越来越明显。

Linux 7.3 开发周期中,一些老旧的 SGI、IBM 驱动以及其他历史组件也正在被移除。

FreeVxFS 文件系统驱动就是其中一个例子。这个驱动已经存在多年,但该库的维护者认为,这类几十年前留下来的兼容代码如今很大程度上已经成为自动化漏洞扫描工具的“靶子”,继续维护它的收益越来越低。

Linux 对 AI 的态度:并非一味地拒绝

维护者虽有抱怨,但 Linux 社区并没有一刀切的“禁用 AI”。

作为掌舵者,Linux 之父 Linus Torvalds 不久前在 Linux 内核邮件列表发表长文直言,Linux 内核不是一个“反 AI”项目,并表示:“如果有人无法接受这一点,那就 Fork 它,或者直接离开。”

如今,AI 带来了大量 AI 生成的漏洞报告,于是维护者开始使用 AI 来筛选 AI 的结果。

身为核心维护者的 Kroah-Hartman 也是一名 AI 深度用户,他此前已经使用本地运行的 AI 工具辅助模糊测试,让 AI 去寻找 Linux 内核中的潜在问题,再由人类开发者分析结果、编写补丁并负责最终提交。到今年 4 月,这套工具已经帮助发现了数十个最终进入主线的补丁。

此外,据外媒报道,Linux 内核团队已经获得多个前沿模型的使用权限,希望利用这些模型帮助审查补丁、过滤错误结果和 AI 幻觉,并考虑将更多重复性的管理工作交给 LLM。

所以,Linux 社区真正纠结的并不是“要不要用 AI”,而是如何让 AI 找得更多、更快,同时别给维护者制造更多麻烦。

毕竟,当 AI 能够一次性翻遍数千万行代码,“发现漏洞”或许已经不再是最难的事,真正稀缺的反而是有人来判断这些漏洞到底值不值得修。

那么问题来了:如果是你,你会选择让 AI 继续大规模扫描,哪怕带来大量误报和额外工作吗?