在本周的KubeCon Europe活动中,长期Linux内核维护者Greg Kroah-Hartman分享了AI在Linux安全和代码审查领域的最新进展。他表示,过去一个月里,AI驱动的活动出现了开源世界始料未及的"真正飞跃"。
AI错误报告质量的突然转变
"几个月前,我们收到的都是所谓的'AI垃圾',那些AI生成的安全报告明显是错误的或质量很低,"Kroah-Hartman说道。"这很有趣,但并没有让我们真正担心。"当然,Linux内核有很多维护者,所以对他们来说,AI垃圾报告并不像对cURL项目那样造成负担。
然而,情况发生了变化。"一个月前发生了什么事情,世界发生了转变。现在我们收到的是真实的报告。"这不仅仅是Linux的情况。"所有开源项目都收到了AI制作的真实报告,而且它们是好的,是真实的。"各大开源项目的安全团队经常进行非正式交流,每个人都看到了同样的转变。"所有开源安全团队现在都遇到了这种情况。"
没有人确切知道背后的原因是什么。当被问及发生了什么变化时,Kroah-Hartman直言不讳:"我们不知道。似乎没有人知道为什么。要么是很多工具变得更好了,要么是人们开始说'嘿,让我们开始关注这个。'看起来像是很多不同的群体、不同的公司。"清楚的是规模很大。"对于内核来说,我们可以处理,"他说。
"我们是一个更大的团队,分布很广,我们的增长是真实的——而且没有放缓。这些都是小问题,不是重大问题,但我们需要在所有开源项目上得到帮助。"他暗示,较小的项目处理突然涌入的合理AI生成错误报告和安全发现的能力要差得多——至少现在它们是真正的错误,而不是垃圾。
在幕后,安全团队正在交换意见。"我们经常非正式地聚在一起交流,因为我们都有同样的问题,"他说。"工具肯定有某个拐点。是本地工具变得更好了吗?人们是否发现了什么?我真的不知道。"
AI在代码审查中的应用
目前,AI更多地作为审查员和助手出现,而不是Linux内核代码的完整作者,但这条界线开始模糊。Kroah-Hartman已经做过自己的AI生成补丁实验。
"我做了一个非常愚蠢的提示,"他回忆道。"我说'给我这个',它吐出了60个:'这里是我发现的60个问题,这里是它们的修复。'大约三分之一是错误的,但它们仍然指出了一个相对真实的问题,三分之二的补丁是正确的。"请注意,那些有效的补丁仍然需要人工清理、更好的变更日志和集成工作,但它们远非无用。"工具很好,"他说。"我们不能忽视这些东西。它正在出现,而且正在变得更好。"
开发者开始在实际提交中承认AI的作用。"我们看到一些补丁正在被生成,"Kroah-Hartman说。"现在你有一个小的共同开发标签。我们看到一些新功能的东西,但我们主要看到AI被用于审查。"
当被问及是否能想象在不久的将来,简单更改的大部分工作都来自AI时,他说,对于"简单的小错误条件,正确检测错误条件",AI今天已经可以生成数十个可用的补丁。
AI驱动的审查基础设施
AI生成报告和AI辅助工作的突然增加也推动了将AI构建到内核自己的审查基础设施中的并行努力。其中的关键部分是Sashiko,这是一个最初在Google开发、现在捐赠给Linux基金会的工具。
"我们需要能够有一个简单的方式来审查一些以减少我们负载的方式提交的补丁。"该工具"在那里,几乎在所有内核补丁上运行,"他说。"你可以公开看到它。我们正在将其集成到我们的审查工具中。任何人都可以使用它。"
这项工作建立在特定子系统内的早期努力基础上。"网络和BPF人员一段时间以来一直在进行大语言模型生成的审查,"Kroah-Hartman说。"直接渲染管理器(DRM)人员和现在Google的工具正在将所有这些拉入一个共同的界面,"他解释道。"不同的子系统正在添加更好的技能或提示——对于存储,这里是你需要寻找的东西;对于图形,这里是你需要寻找的东西。人们正在公共场所为此做出贡献,这就是应该的方式。这非常好。"
Kroah-Hartman赞扬了长期内核开发者、现在在Meta的Chris Mason开创了基于AI的审查工作流程。Mason一段时间以来一直在为eBPF和网络运行AI审查。systemd项目也在为其全C代码库使用同类工具。
他强调,AI审查员是附加的而不是权威的。"在审查方面,它正在生成一些好的审查。它不能给你一切。有些东西仍然是错误的。但它确实指出了很多明显的问题,"他说。
最大的直接收益之一是周转时间。当AI审查员标记明显问题时,提交者在人类维护者实际阅读补丁之前很久就得到反馈。"如果我看到它对某事做出回应,它比维护者有机会给提交者更快的反馈,这很好,"Kroah-Hartman说。"我们有许多机器人在补丁上运行。如果我看到那些失败,作为维护者我就知道我甚至不需要看那个。它给开发者,'哦,我可以明天去做另一个版本',这有助于更好地增加反馈。"
尽管如此,随着AI生成的报告和补丁的增长,审查负担也在增加。"这是更多的审查;这是我们必须为内核审查的更多东西,"他说。这就是为什么与OpenSSF及其Alpha-Omega程序的努力很重要。"我们正在努力创建工具,帮助维护者更容易地处理这个传入的流并处理它。"
Kroah-Hartman的一个反复主题是访问公平。直到最近,只有资源充足的子系统才能负担得起大规模运行重型AI工具。将Google的审查系统转变为Linux基金会项目意味着改变这一点。
"这是我们用于审查的一个工具,"他说。"作为LF项目的一个例子,它是一个工具,现在我们正在给每个人提供访问权限。以前,只是有资源在后端运行它的子系统。现在,我们把它给每个人。"工作已经在进行,使其在内核自己的基础设施之外也可用。
这很重要,因为正如Kroah-Hartman一直强调的,AI浪潮不仅仅是内核问题。"所有开源项目都有AI制作的真实报告,"他说。"我们的增长是真实的,而且没有放缓。这些不是重大问题,但我们需要在所有开源项目上得到帮助。"
对于Linux来说,与AI的关系已经从理论发展到实践。这是一把双刃剑。AI同时是真实漏洞的新来源,给必须处理它们的人工审查员带来压力,同时也帮助管理这种压力。
对于Kroah-Hartman和他的同行来说,技巧将是保持AI作为力量倍增器,而不让开源维护者淹没其中。
Q&A
Q1:什么是AI错误报告质量的突然转变?
A:一个月前,AI生成的安全报告从明显错误的"AI垃圾"突然变成了真实有效的报告。各大开源项目的安全团队都观察到了这种变化,但没有人确切知道背后的原因,可能是工具变得更好了,或者是更多团体开始关注这个领域。
Q2:AI在Linux内核代码审查中发挥什么作用?
A:AI主要作为审查员和助手,而不是代码的完整作者。它可以快速标记明显问题,给开发者提供比人工维护者更快的反馈。虽然AI审查不能发现所有问题,有些还是错误的,但能指出很多明显的问题,大大缩短了周转时间。
Q3:Sashiko工具是什么?它如何帮助Linux开发?
A:Sashiko是最初在Google开发、现在捐赠给Linux基金会的AI审查工具。它运行在几乎所有内核补丁上,为开源项目提供平等的AI工具访问权限。以前只有资源充足的子系统才能运行这类工具,现在通过Linux基金会项目,所有人都可以使用。