跳到正文
The Decoder· Matthias Bastian·· 2 小时前精选AI 评分80

Anthropic 让 Claude 自动为现有代码生成形式化安全证明

Anthropic's Claude now writes code and proves it safe automatically

AI 导读

Anthropic 的 Frontier Red Team 与 Theorem 合作,让 Claude 把 OSS-Fuzz 中 123 个开源库的崩溃测试转成数学问题,分析编译后的机器码并生成约 1.8 亿行证明代码,由 Rocq 独立校验,过程几乎不需要人工审查。

推荐理由

Anthropic 用 Claude 对 OSS-Fuzz 库做形式化验证,并给出算力成本与适用边界,可据此判断 AI 自动验证代码的可行范围。

正文 · AI 翻译

Anthropic 使用 Claude 以数学方法证明现有代码是正确的。该方法解决了 AI 生成软件的一个核心问题,但存在严格的现实限制。

证明软件在所有情况下都能无错误运行,一直成本高昂到令人望而却步。一个专家团队仅为了形式化验证小型操作系统内核 seL4,就花费了 20 人年,因此这种方法只被保留给极端场景,例如 Airbus 航空电子软件。

Anthropic 的 Frontier Red Team 与合作伙伴 Theorem 合作,让 Claude 接管了证明工作。该模型在短短几周内生成了约 1.8 亿行数学证明代码,依据的是 Google OSS-Fuzz 安全项目中 123 个开源库的测试程序。

Claude 没有编写新代码,而是通过将崩溃测试转化为数学问题、分析编译后的机器码并生成大量证明,来验证现有软件。一个名为 Rocq 的独立验证程序会自动检查这些证明,据 Anthropic 称,该过程几乎不需要人工审核。研究人员称之为“完全自主”的证明生成,尽管工具和形式化基础是由 Theorem 的人类构建的。

Claude 发现了多年测试遗漏的缺陷

在生成证明的过程中,Claude 遇到了数百个缺陷,并被允许自行修复它们。研究人员表示,其中许多缺陷本会逃过传统测试,因为它们只在非常特定的条件下才会出现,例如异常大的输入文件或特定的访问序列。

例如,在验证一个广泛使用的 PDF 阅读器时,团队在一周内发现的安全缺陷数量,与该软件通常一整年报告的数量相当。在另一个应用中,Claude 发现了一个十多年来未被察觉的逻辑错误。Anthropic 表示,即使完整的证明最终失败,这一尝试仍能暴露真实缺陷。

形式化验证能做什么、不能做什么

Anthropic 承认,“形式化验证”并不意味着“无错误”。这些证明只在严格条件下成立:特定的处理器架构、单线程程序,以及小于 64 MB 的输入。在实践中,这些库运行在不同的硬件和不同的配置上。

计算成本很高,单个证明会消耗数亿个 token。Anthropic 没有报告项目总成本。但如果 AI 能验证自己的代码,开发者就能更信任 AI 生成的软件,并减少审查时间。这不仅节省验证成本,也节省整个编码过程的成本。一次较小的测试运行还表明,证明是可复用的,而且更新的模型效率越来越高:Opus 5.5 解决的证明数量是 Opus 5 的一半,但使用的 token 少了约 40%。

该项目增强了软件自动化的理由。如果 AI 能编写代码并保证其在既定条件下正确,问题就从“AI 能编程吗?”转变为“AI 能证明它编写的代码是安全的吗?”如果答案是肯定的,其影响可能远远超出当今的编码工具。

一个例证:Anthropic 预计,借助 AI 的形式化验证很快就会变得像标准测试一样实用,而 Theorem 的路线图 已经瞄准 glibc、OpenSSL 和 cURL 等关键基础设施。

没有炒作的 AI 新闻——由人类精选

订阅 THE DECODER,享受无广告阅读、每周 AI 新闻通讯、每年六期独家“AI Radar”前沿报告、完整档案访问权限以及评论区访问权限。

来源:The Decoder · the-decoder.com