返回行业动态
研究前沿

Claude 把 fuzz 测试变成数学证明:123 个开源库在汇编层被证明不会崩

Anthropic 前沿红队与形式化验证公司 Theorem 于 10 月 22 日公开合作结果:把 OSS-Fuzz 已有的模糊测试转成形式化规格,让 Claude 在编译后的 RISC-V 机器码上写证明。数周内覆盖 123 个开源库、239 个入口点,约 1.8 亿行 Rocq 证明通过内核检查,过程中修复了数百个模糊测试多年未命中的缺陷。公开仓库首版只放出 60 个入口点的证明。

来源:Anthropic 研究博客:LLMs are making formal software verification possible at a much larger scale原标题:LLMs are making formal software verification possible at a much larger scale查看原文
北京拓实科技原创生成的新闻封面图,主题与文章内容对应

图片来源:北京拓实科技原创(AI 生成封面)

发生了什么

Anthropic 前沿红队与形式化验证公司 Theorem 在 10 月 22 日公开了这项合作:把 Google OSS-Fuzz 里已有的模糊测试用例直接当作规格来源,让 Claude 为编译后的 RISC-V 二进制编写机器可检查的证明。数周内完成 239 个入口点、覆盖 123 个开源库,全部证明由 Rocq 证明助手的内核逐条核验。

方法论上最关键的一步是「改写命题」。模糊测试只能反复抽样,永远无法回答「没有漏洞」;这项研究把每个 fuzz 入口点转成一句话:对任何小于 64MB 的输入,程序都不会崩溃,也不会触发内存安全错误或断言失败。规格建立在 Theorem 提供的 RISC-V 指令语义与 Linux 进程语义之上,Claude 负责写证明,Rocq 负责判定证明是否成立。

  • 共 239 个 fuzz 入口点,来自 123 个 OSS-Fuzz 开源库
  • 通过检查的证明约 1.8 亿行 Rocq;团队称 Claude 实际写过约 10 亿行
  • 单条典型证明约 60 万行,对应二进制中位数 1.8 万条 RISC-V 指令
  • cJSON 一个 391 行的解析器,生成了 63 万行证明
  • 公开仓库首版只放出 60 个入口点、25 个库的证明,是完整研究的子集

证明过程中挖出的漏洞

比证明数量更有信息量的是沿途结果。这些库都已在 OSS-Fuzz 上跑过海量测试,证明过程仍翻出数百个缺陷,而且多属于模糊测试难以命中的形态。

  • 某解压器副本的计数器下溢,只在约 20MB、内存布局罕见的输入上触发越界写
  • 某图像解码器的越界读,需要 64MB 输入并占用 2GB 以上内存
  • 在 libexpat 中重新发现 CVE-2026-56132;还发现一类不导致崩溃、但未按预期限制文件加载的逻辑缺陷
  • 团队称验证某广泛使用的 PDF 阅读器时,一周内发现的漏洞数量相当于该项目平时一年

信任边界与真实代价

形式化验证的可信度取决于假设。这条链路里只需相信三样东西:RISC-V 与 Linux 进程的形式语义、定理陈述本身、Rocq 检查器内核;Claude 的推理不进入信任基。代价同样明确:有单条证明的检查在 16 核上要吃掉最多 20GiB 内存,模型侧的 token 消耗以亿计。

覆盖范围也写得很死:单线程、静态链接、RISC-V、musl libc、固定内存预算。真实部署大多跑在 x86 或 ARM、动态链接 glibc,这些结论不能直接平移;AddressSanitizer 本身也覆盖不到全部内存安全缺陷。Anthropic 自己的措辞是「形式化验证不等于没有 bug」,规格写错,证明再漂亮也无效。

  • 在 36 个缩小规模的验证任务上,Opus 5.5 完成一半,token 消耗比 Opus 5 少约 40%
  • 多个智能体在共享工作区复用彼此的证明,token 再降 17%,部分原本失败的智能体借此完成任务
  • Theorem 通过 OSS Verify 计划向开源项目免费开放流水线,报名方式是提交一个 pull request;路线图指向 Nix 生态,先做 glibc、OpenSSL、cURL

对企业采购意味着什么

供应链安全报告的证据形态正在变。过去交付的是扫描报告与渗透结论,现在可以附上「定理陈述 + 二进制哈希 + 编译器版本 + 可复现的检查器镜像」,让对方自己跑一遍检查。采购与安全团队真正要追问的不是「是否已形式化验证」,而是覆盖了哪些入口点、假设了什么执行模型、公开了多大比例的证明。按目前的进度,多数商业软件还拿不出这套材料,但把它写进 2027 年的供应商问卷并不算早。

编辑说明

本文由北京拓实科技根据公开信息整理,核心事实与数据请以原始来源为准。

Claude 为 123 个开源库写出汇编级形式化证明|北京拓实科技