Anthropic 的 Claude 现在可以自动生成代码并验证其安全性.
Anthropic 的 Claude 为123个图书馆生成了验证,发现罕见错误并显示核查限制和成本.
主要内容
- Anthropic 和Theorem使用 Claude 自主生成验证123个OSS-Fuzz open-source 库的部分数学证明,在几周内产生约1.8亿行证明代码.
- 该方法改变了正式验证的劳动模型,依靠AI将碰撞测试转化为证明并使用Rocq独立检查它们.
- 在验证生成过程中, Claude 发现了数百个漏洞,包括常规测试错过的问题和一个十多年未被检测到的逻辑错误.
- 该方法具有严格的限制:证明只适用于特定条件下,如 hardware ,单线程程序和64 MB以下输入,并且它们可能需要非常高的计算成本.
- 如果验证变得更便宜和可扩展,人工智能驱动的正式证明可以成为常规 software 安全性的实用性,未来目标包括关键库如glibc,OpenSSL和curl.
标题: Anthropic 使用 Claude 进行验证
Meta Description: Anthropic 's Frontier Red Team 和 Theorem 使用 Claude 来生成 123 个 OSS-Fuzz 库的证明,在暴露严格限制时发现长期存在的错误.
标签: Anthropic , Claude , 正式验证, OSS-Fuzz AI,编码
主要图像:抽象的蓝色和白色数学证明线在多层代码块上,没有文字,没有标志,没有人
Anthropic 已经使用 Claude 来正式证明现有的 open-source 部分正确,这一举动AI超越了代码生成并进入了一个曾经被认为过于昂贵的常规应用领域. 通过运用定理, Anthropic Frontier Red Team让该模型在几周内产生大约1.8亿行数学证据代码,利用 Google OSS-Fuzz安全项目的123个 open-source 库中的测试程序.结果表明 AI可能有助于审查 software ,人类不再一次检查一行,但这种方法也带有狭窄的条件和高额计算成本.
为什么以前很少进行正式验证 AI
正式验证的目的是证明 software 在定义规则下表现正确,而不是仅依靠测试. 在实践中成本过高:检查小型 operating system 内核seL4需要一个专家团队和20人/年. 这种费用只适用于极端情况,如空客航空电子 software .
Anthropic 的方法改变了劳动模式. Claude 检查了现有的 software ,而不是写新的代码,将崩.测试转化为数学问题,分析编译机器代码并产生广泛的证明.生成的证据由一个名为Rocq的独立验证程序进行了检查.
在证明生成过程中发现的错误
该项目不仅生产了证明文物.在尝试验证代码时, Claude 遇到了数百个错误并被允许自己修复它们. Anthropic 说许多会逃脱传统测试,因为它们只出现在特定条件下,例如异常大的输入文件或特定的访问序列.
在一个案例中,在验证广泛使用的 PDF 阅读器时,该团队在一周内发现了通常报告为 software 的一整年的安全漏洞.在另一个应用程序中, Claude 捕获了一个十多年来未被检测到的逻辑错误. Anthropic 还说即使最终失败了完整的证明,尝试仍然会出现真正的漏洞 .这种区别很重要:如果许多程序所用的库中的不安全行为暴露出来,那么失败的证明并不仅仅是浪费计算.
极限:验证并不意味着没有错误
Anthropic 承认正式验证并不意味着无错误.这些证明仅在严格的条件下成立:特定的 processor 架构,单线程程序和64以下输入MB.真实库通常运行在不同的 hardware 上以及不同配置中,因此保证范围比"被证明正确"可能暗示的要窄得多.
计算成本也很高.个别验证运行了数千万的 tokens ,而 Anthropic 没有报告总项目费用.较小的测试显示,证明是可重复使用的,新型号越来越有效:Opus 5.5解决了一半的验证与大约40%更少 tokens 比 Opus 5.如果验证变得便宜,开发人员可能会花更多时间审查人工智能产生的 software ,节省整个编码过程中的成本,而不是 JUST 证明生成.
接下来要看什么
该项目加强了 software 自动化的一个更大的案例. AI 可以编写代码并在定义条件下证明其正确性,核心问题从AI 能否编程转移到AI 是否可以证明它编写的代码是安全的. Anthropic 预计使用AI 的正式验证很快就会像标准测试一样实用,并且定理的路线图针对glibc,OpenSSL和curl等关键基础设施. 下一个值得关注的信号是是否可扩展超出受控基准的工作负载,以及狭窄的条件是否可以扩大而不会失去可靠性.
Comments
No comments yet. Be the first to comment.