理解当下,塑造未来。

搜索
UTC 21:58 · 2026年6月10日星期三 XIANDAI · Xiandai
2026年6月10日 · 更新于 UTC 21:58
网络安全

AI 驱动的模糊测试发现 Lean 4 运行时存在堆缓冲区溢出漏洞

一项利用 Claude 智能体进行的自动化测试实验发现,尽管目标代码已通过形式化验证,但 Lean 4 运行时仍存在严重的内存漏洞。

Ryan Torres

1 分钟阅读

AI 驱动的模糊测试发现 Lean 4 运行时存在堆缓冲区溢出漏洞
Abstract visualization of a software memory vulnerability.

一项利用 Claude AI 智能体进行的自动化安全实验发现,Lean 4 运行时存在堆缓冲区溢出漏洞,该漏洞影响了目前该语言的所有版本。

研究人员 Kiran Anand 利用该 AI 智能体,针对 `lean-zip` 进行了超过 1.05 亿次的模糊测试。`lean-zip` 是 zlib 的原生实现,此前已通过形式化验证,在数学层面被证明是正确的。

尽管经过验证的 `lean-zip` 应用代码未显示任何内存漏洞,但实验却在 Lean 运行时的底层 `lean_alloc_sarray` 函数中发现了一个严重缺陷。

运行时层面的失效

该漏洞发生在分配标量数组(如 `ByteArray`)的过程中。当分配的大小接近 64 位系统的最大可能值时,整数溢出会导致运行时仅分配了一个极小的缓冲区,而系统随后却尝试向其中写入海量数据。

在测试开始前,Anand 剥离了 `lean-zip` 代码库中的所有定理、规范和文档。这种设置确保了 Claude 智能体在不知道代码已通过形式化验证的情况下进行操作,从而避免了算法偏见。

为了定位该漏洞,AI 智能体在包括 ZIP 解压和 gzip 解压缩在内的六个不同攻击面内,同时启动了 16 个并行模糊测试器。该智能体还使用了一系列安全工具,包括 AddressSanitizer、Valgrind 以及多种静态分析引擎。

除了运行时溢出漏洞外,实验还在 `lean-zip` 归档解析器中发现了一个拒绝服务(DoS)漏洞。值得注意的是,该特定组件并未包含在形式化验证流程之内。

目前,相关漏洞报告已提交给 Lean 开发团队,修复程序正在 Lean 4 代码库中等待合并。

评论