开源安全领域的“露天开采”时代

开源软件 (OSS) 安全格局正在发生根本性的转变。我们已经进入了某些人所称的“露天开采时代”,在这个时代,大语言模型 (LLMs) 和 AI 驱动的扫描器可以快速解析海量代码,以以前无法想象的规模和速度识别潜在漏洞。虽然寻找漏洞的目标本身是积极的,但报告的数量之巨正在给维持互联网运行的人员——志愿者维护者——带来系统性的压力。

这种转变不仅仅关乎更好的工具;它关乎漏洞发现经济学的变化。当研究人员可以将 AI 指向一个仓库并能在几秒钟内生成数十个潜在问题时,分拣 (triage) 的负担就完全从发现者转移到了维护者身上。

自动化发现的负担

多年来,开源的“众目睽睽”理论认为,更高的可见性会带来更安全的代码。然而,AI 时代引入了一个悖论:如果维护者被噪音淹没,更多的“眼睛”(以自动化扫描器形式出现)实际上可能会降低安全性。

许多维护者现在正面临着海量的报告。当自动化工具产生真假难辨的严重缺陷和误报时,紧张局势就会出现。正如一位开发者所指出的,验证一个漏洞需要耗费大量时间,而如果没有这种验证,研究人员本质上是在用未经验证的缺陷向维护者“发送垃圾邮件”。

我发现自己很难为这种向 OSS 维护者发送缺陷而不进行验证的做法辩护——如果我要做好这件事,验证需要耗费大量时间。

这创造了一个动荡的环境,维护者(通常是利用业余时间工作的志愿者)被期望放下手头的一切去修复工具发现的漏洞,而这些工具并非他们所要求的,也不是他们付费的。

AI 时代下的开源与闭源

关于“露天开采”的辩论引发了关于开源与闭源软件相对安全性的更广泛讨论。传统上,闭源依赖于“通过模糊实现安全”。然而,AI 正在侵蚀这一优势。

现代 LLMs 变得越来越能够将二进制文件反向工程为可读代码。这意味着闭源软件不再仅仅因为源代码不公开而安全。如果 AI 可以对二进制文件进行推理,它就能发现与在公开的 GitHub 仓库中发现的相同的零日漏洞 (zero-days)。

相反,一些人认为开源最终会更具韧性。虽然 AI 发现的漏洞“海啸”现在可能令人难以承受,但它可能会导致一个平台期,届促时最明显的缺陷会被从生态系统中清除,从而在整体上提高代码质量的基准线。

可持续性危机

除了技术挑战之外,还存在着人为挑战。开源模型建立在志愿主义之上,但安全期望已转向企业级水平。公司依赖 OSS 进行其关键基础设施,但通常不对那些正遭受 AI 生成的漏洞报告轰炸的维护者提供任何资金支持。

这导致了几个关键的争论点:

  • 分拣差距 (The Triage Gap): 报告一个漏洞的难易程度与修复它的难度之间存在巨大的差距。
  • 激励问题 (The Incentive Problem): 如果没有漏洞赏金,高质量的研究人员就几乎没有动力在报告漏洞之前花时间进行验证。相反,重心转向了数量而非质量。
  • 维护者的困境 (The Maintainer's Dilemma): 维护者被迫在个人生活与使用其免费软件的全球企业的紧急安全需求之间做出选择。

向前迈进:从噪音到信号

开源安全领域的“露天开采”是一场灾难还是必要的进化?有些人将其视为“漏洞末日”,而另一些人则将其视为代码质量的阶梯式增长。核心事实是,代码在 AI 发现缺陷之前就已经损坏了;了解缺陷的存在是修复它的唯一途径。

为了在这个时代生存,生态系统可能需要转向更严格的内部筛选流程,并可能需要改变我们资助关键 OSS 维护的工作方式。随着攻击工具变得更加易于获取,防御工具——以及为使用它们的人提供的资金——也必须相应地扩大规模。

Sources