[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"news-slug-claude-formal-verification-risc-v-proofs":3,"topics-all":38,"news-related-1a35c9e0-bb94-424a-a969-416e25441c0b":57},{"id":4,"title":5,"summary":6,"content":7,"original_url":8,"source_id":9,"tags":10,"translations":24,"news_slug":31,"published_at":32,"created_at":33,"modified_at":34,"is_published":35,"publish_type":36,"image_url":14,"view_count":37},"1a35c9e0-bb94-424a-a969-416e25441c0b","Claude 给 123 个开源库写了形式化证明:239 个入口点不再崩溃","Anthropic 与 Theorem 合作,用 Claude 在 RISC-V 汇编级为 OSS-Fuzz 中 123 个库的 239 个入口点生成可机器检查的形式化证明,约 1.8 亿行 Rocq,并挖出数百个 fuzzer 难触发的 bug。证明仅覆盖单线程静态链接的 RISC-V 二进制。","Fuzzing 一直是软件安全的苦力活。开发者写一个入口点，让 fuzzer 拿海量半随机输入去撞，撞出崩溃就算赢。问题在于输入是无限的，再怎么撞也撞不完——它能告诉你\"这里有 bug\"，却没法告诉你\"这里没有 bug\"。形式化验证能给后一句，代价却是过去要专家投入数年：seL4 内核实现花了 2 人年，正式验证又花了 20 人年，长期只用在空客飞控这类极端关键的场景。\n\nAnthropic 与 Theorem 的合作把这条曲线掰弯了。用 Claude，他们在 RISC-V 汇编级为真实开源库生成可机器检查的形式化证明。按 Anthropic 的说法，这是他们所知范围内首次在汇编代码层把形式化验证用到生产软件的尝试（[原文](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fformal-verification)）。\n\n## 从\"跑测试\"到\"证命题\"\n\n关键手法不是让模型重写代码，而是把库已有的 fuzz 测试自动转成一条规格：这个测试在任意输入下都不会崩溃。规格定义在编译后的 RISC-V 指令上，底层依赖 Theorem 提供的 RISC-V 指令集与 Linux 进程语义；Claude 负责写证明，Rocq 内核负责校验这份证明是否真的满足规格。\n\n这样一来，开发者真正需要信任的东西只剩三样：RISC-V 与 Linux 进程的语义模型、被证明的定理陈述本身，以及 Rocq 证明检查器。\n\n## 239 个入口点，1.8 亿行证明\n\n规模上，Claude 在数周内先修掉它发现的 bug，随后为 Google OSS-Fuzz 中 123 个库的 239 个入口点证明了\"任意输入不崩溃\"（输入上限 64 MB）。这些证明合计约 1.8 亿行 Rocq，单个证明通常在 60 万行左右，覆盖的二进制中位数是 1.8 万条 RISC-V 指令。Unite.AI 援引技术附录给出的数据更狠：Claude 期间总共写了约 10 亿行 Rocq，只有约 1.8 亿行通过了证明检查；cJSON 一个 391 行的解析器入口点拿到了 63 万行证明。\n\n## 顺带挖出来的 bug\n\n比证明数量更有意思的，是证明过程顺手捞出的缺陷。Claude 在一个解压器的拷贝里找到计数器下溢，进而导致越界写，但只在约 20 MB 输入配一种罕见布局时才触发；一个图像解码器里的越界读需要 64 MB 输入加上超过 2 GB 内存；libexpat 里它重新发现了 CVE-2026-56132。它还找到根本不会崩溃的逻辑 bug，比如某项限制应用可加载哪些文件的特性并非总被强制执行。在验证某个常用 PDF 阅读器时，团队称一周内发现的安全 bug 数量，相当于平时一年上报的量。\n\n## 成本能不能撑住\n\n形式化验证最大的短板是贵，证明可能要烧掉数亿 token。Anthropic 的应对有两条。一是新模型更省：他们从真实 OSS-Fuzz 代码里缩出 36 个小型验证任务，Opus 5.5 用比 Opus 5 少约 40% 的 token 就完成了一半。二是证明可复用：允许智能体在共享工作区里互相拷贝证明后，token 消耗下降 17%，还有智能体在单独作战失败后靠拷贝别人的证明成功。这跟 Lean 社区靠 Mathlib 堆到近 30 万条定理、700 多位贡献者参与的路径是同一个逻辑。\n\n## 边界在哪\n\nAnthropic 自己把话说得很清楚：\"形式化验证\"不等于\"没有 bug\"。证明检查器没法判断规格是否符合现实。这些证明覆盖的是单线程、静态链接 musl libc 的 RISC-V 二进制，而多数人跑的是 x86 或 ARM、动态链接 glibc；AddressSanitizer 本身也检测不出全部内存安全问题；每个库也不是所有入口点都验证过。另一个隐患是 reward hacking——理论上 Claude 可以把程序改写成\"永远不会崩溃\"的样子来让命题成立，团队的应对是对打补丁扣分、对\"证明补丁只影响哪些输入\"加分，并对补丁做日志与审计。\n\n## 所以呢\n\n最值得留意的不是数字，而是分工变了：模型不再只负责\"找 bug\"，而是负责把\"找 bug\"升级成\"证明没有 bug\"，人类只需要守住三个信任锚点。如果这条路径走通，软件安全的默认形态会从\"我们测了很多\"变成\"这一部分被证明过\"。\n","https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fformal-verification","1001cead-0639-4c04-ab47-f19d863be5f2",[11,15,18,21],{"id":12,"name":13,"slug":13,"description":14,"color":14},"5e628969-6d2a-437f-998a-104e4b16cfb1","ai-progress",null,{"id":16,"name":17,"slug":17,"description":14,"color":14},"23544f6a-eea1-4f05-aa8d-749ca862d5d2","anthropic",{"id":19,"name":20,"slug":20,"description":14,"color":14},"dca4d0ab-7994-43a7-839e-7756fc77344a","claude",{"id":22,"name":23,"slug":23,"description":14,"color":14},"01598627-1ea6-4b27-a5d8-874971571a71","llm",[25],{"id":26,"lang":27,"title":28,"summary":29,"content":30},"3b5dd42c-e6de-4093-81ac-e99129e3bf8c","en","Claude Writes Formal Proofs for 123 Open-Source Libraries","Claude wrote machine-checked RISC-V proofs for 239 entry points across 123 OSS-Fuzz libraries, 180M lines of Rocq, surfacing hundreds of hard-to-fuzz bugs.","Fuzzing has always been the workhorse of software security. Developers write an entry point, let the fuzzer hammer it with enormous numbers of semi-random inputs, and declare victory when something crashes. The catch is that the input space is infinite, so no amount of hammering can be exhaustive: fuzzing can tell you \"there is a bug here,\" but never \"there is no bug here.\" Formal verification can give you the second sentence, but historically at a price measured in expert-years. The seL4 microkernel took two person-years to implement and roughly twenty person-years to verify, which is why the technique stayed confined to the most safety-critical code, like Airbus avionics.\n\nAnthropic and Theorem bent that curve. Using Claude, they produced machine-checkable formal proofs at the RISC-V assembly level for real open-source libraries. To Anthropic's knowledge, this is the first large-scale effort to apply formal verification to production software at the assembly code level ([original post](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fformal-verification)).\n\n## From \"running tests\" to \"proving a proposition\"\n\nThe key move was not asking the model to rewrite the code. Instead, each library's existing fuzz test was automatically converted into a specification: this test never crashes on any input. The specification is defined over compiled RISC-V instructions, built on Theorem's formal semantics for the RISC-V instruction set and for Linux processes. Claude writes the proof; the Rocq kernel checks whether that proof actually satisfies the specification.\n\nThe result is that a developer only has to trust three artifacts: the formal models of RISC-V and of Linux processes, the exact theorem statements, and the Rocq proof checker itself.\n\n## 239 entry points, 180 million lines of proof\n\nOn scale: over the span of a few weeks, Claude patched the bugs it found and then proved that there are no crashes on any input up to 64 MB for 239 entry points across 123 different OSS-Fuzz libraries. Those proofs come to roughly 180 million lines of Rocq, with a typical proof running about 600,000 lines to cover binaries whose median length is 18,000 RISC-V instructions. Unite.AI, citing the technical appendix, gives an even more striking figure: Claude wrote around one billion lines of Rocq during the effort, of which about 180 million passed the proof checker. A single entry point in cJSON — a 391-line parser — received a 630,000-line proof.\n\n## The bugs that fell out along the way\n\nMore interesting than the proof count is what the process turned up. Claude found a counter underflow in a copy of a decompressor that led to an out-of-bounds write, but only on inputs of around 20 MB with one rare, specific layout. An out-of-bounds read in an image decoder needed a 64 MB input and more than 2 GB of memory. In libexpat it rediscovered CVE-2026-56132. It also caught logic bugs that never crash at all, such as a restriction on which files an application may load that is not always enforced. During an effort to verify a widely used PDF reader, the team says it found as many security bugs in one week as are typically reported in a year.\n\n## Whether the cost can hold up\n\nThe biggest weakness of formal verification is cost: producing a proof can burn hundreds of millions of tokens. Anthropic's answer has two parts. First, newer models are cheaper — they shrank real OSS-Fuzz code into 36 small verification tasks, and Opus 5.5 completed half of them using about 40% fewer tokens than Opus 5. Second, proofs are reusable: when agents were allowed to copy one another's proofs in a shared workspace, token consumption dropped 17%, and some agents succeeded at tasks they had failed at working alone. That is the same logic by which the Lean community grew Mathlib to nearly 300,000 theorems with over 700 contributors.\n\n## Where the boundaries are\n\nAnthropic states the caveat plainly: \"formally verified\" does not mean \"bug-free.\" A proof checker cannot tell you whether your specification matches reality. These proofs cover single-threaded, statically linked RISC-V binaries against musl libc, whereas most people run these libraries on x86 or ARM, dynamically linked against glibc. AddressSanitizer itself does not detect every memory-safety bug, and not every entry point in every library was verified. There is also a reward-hacking hazard: in principle Claude could rewrite a program into something that trivially never crashes. The team's countermeasure was to penalize patches, to award extra credit for proving which inputs a patch changes, and to log and audit the patches.\n\n## So what\n\nThe part worth watching is not the numbers but the division of labor. The model is no longer only tasked with finding bugs; it is tasked with upgrading \"find bugs\" into \"prove there are no bugs,\" while humans hold onto three trust anchors. If this path holds, the default shape of software security shifts from \"we tested a lot\" to \"this part has been proved.\"\n","claude-formal-verification-risc-v-proofs","2026-10-23T07:16:36Z","2026-10-23T07:16:39.433774Z","2026-10-23T07:16:39.433784Z",true,"agent",39,[39,48],{"slug":40,"tag_slug":40,"title_zh":41,"title_en":42,"intro_zh":43,"intro_en":44,"id":45,"is_active":35,"created_at":46,"modified_at":47},"ai-for-science","AI for Science 2026：从 UniPert 到 GPT-Rosalind 的硬核进化","AI for Science 2026: from UniPert to GPT-Rosalind","生命科学、化学材料、物理世界模型——AI 正在从\"语言工具\"变成\"实验伙伴\"。本专题收录 AI 在三大科学方向的关键节点：UniPert 统一基因与化学扰动空间、GPT-Rosalind 端到端生命科学推理、达摩院 AI 智能体 28 小时找到 4 种超导新材料、Anthropic Claude Science 把工作台做成标准品。","From language tool to lab partner — AI is reshaping life sciences, chemistry\u002Fmaterials, and physical world models. This topic covers the key milestones: UniPert unifying genetic-chemical perturbation spaces, GPT-Rosalind's end-to-end life-sciences reasoning, DAMO's AI agent discovering 4 superconducting materials in 28 hours, and Anthropic's Claude Science workbench going mainstream.","988a4300-5fab-41c4-b5d8-63711a2dc757","2026-09-10T01:34:15.296649Z","2026-09-10T01:34:15.296663Z",{"slug":49,"tag_slug":49,"title_zh":50,"title_en":51,"intro_zh":52,"intro_en":53,"id":54,"is_active":35,"created_at":55,"modified_at":56},"h3-series","MiniMax H3 系列：从开源权重到 35 倍吞吐","MiniMax H3 Series: from open weights to 35x throughput","MiniMax H3 自 2026 年 8 月开源以来节奏密集：官方把生成、参考与编辑收回一个模型；ComfyUI 当天压进 RTX 3060；摩尔线程 3 小时完成国产 GPU 适配；fal 后训练版把吞吐拉到 35 倍；FastH3 蒸馏再砍推理成本。本专题持续追踪 H3 的发布—开源—蒸馏—部署全链路。","Since MiniMax open-sourced H3 in August 2026 the pace has been relentless: one unified omni-modal model, same-day ComfyUI support down to an RTX 3060, a 3-hour Day-0 port to Moore Threads GPUs, fal's post-trained H3 Max at 35x throughput, and FastH3 distillation cutting inference cost further. This topic tracks the full H3 chain — release, open weights, distillation, deployment.","83ef0daa-3c31-4cb3-86ed-e5ee58654d5f","2026-09-08T07:33:19.942193Z","2026-09-08T07:33:19.942209Z",{"items":58},[59,64,69,74,79,83],{"id":60,"title":61,"news_slug":62,"published_at":63},"a7a8ca05-6134-4b27-8dc0-ae3c0a764630","Claude 自主设计量子电路:53 小时拿到一个数量级提速","claude-quantum-circuit-redesign","2026-10-19T10:00:00+00:00",{"id":65,"title":66,"news_slug":67,"published_at":68},"390c2437-4e4f-45ec-8270-67c5bfa4fa47","ChatGPT、Claude、Grok、Gemini 罕见同时下线,周四早晨全球 AI 集体失声","chatgpt-claude-grok-gemini-thursday-outage","2026-09-05T06:00:00+00:00",{"id":70,"title":71,"news_slug":72,"published_at":73},"39724847-fdc9-4199-ac46-311e7b49d385","Ramp 数据复盘 Fable 5:旗舰上市两月仅占企业 Anthropic 支出 11%,70 倍价差压住前沿模型溢价","ramp-data-fable-5-adoption-plateaus","2026-08-26T08:00:00+00:00",{"id":75,"title":76,"news_slug":77,"published_at":78},"e1724d68-bf0d-4b3f-8047-147796d5d52e","Ramp 8 月指数:Fable 5 企业份额停滞 11%,OpenAI 旗舰跑赢两倍","anthropic-fable-5-plateau-11-percent","2026-08-25T06:00:00+00:00",{"id":80,"title":81,"news_slug":82,"published_at":78},"1051d676-8ed9-4448-b0d5-8db4b844f41f","Claude Fable 5 上线两个月,为什么企业只把 11% 的账单花给最强模型","claude-fable-5-11-percent-anthropic-spend",{"id":84,"title":85,"news_slug":86,"published_at":87},"454f9530-20d7-428c-82d9-9175fa5b883a","Claude 推黎曼 zeta 下界到 67.2%：60 subagent + Lean","claude-zeta-bound-67-percent-multi-agent-lean","2026-08-17T07:00:00+00:00"]