7.4
深览指数
科技Bestblogs·InfoQ 中文··AI 生成

谷歌借助 AI 与差分模糊测试将 C 语言依赖库改写为 Rust

谷歌安全团队用 Gemini 模型将约 3000 行的 C 语言 giflib 库移植为 Rust,并通过 2 亿次差分模糊测试验证语义等价。该项目在 6 天内完成,在漏洞公开前就修复了堆写入零日漏洞(CVE-2026-26740),并保持了与原版持平的性能。文章详细呈现了 AI 辅助翻译 + 自动化测试的完整工程实践,适合关注软件安全、Rust 迁移工程或 AI 代码生成的读者,是少有的给出具体流程与数据的实践报告。原文 ↗

核心观点
  • ▍AI 辅助翻译结合大规模差分模糊测试,可以在短时间内将 C 语言库安全迁移到 Rust,修复甚至预防零日漏洞。核心路径是:LLM 翻译 + 专家修复 FFI 边界 + 全自动化回归验证。
  1. 01目标库 giflib 约 3000 行 C 代码,团队在 6 天内完成 Rust 移植,并修复了尚未公开的零日漏洞 CVE-2026-26740。
  2. 02验证阶段使用了 3000 万个 GIF 文件进行回归测试,以及超过 2 亿次的差异模糊测试迭代,确保 Rust 版本与原 C 版本语义完全等价。
  3. 03Rust 版本保持了与 C 版持平的延迟和内存占用,原有的进程隔离沙箱被停用,证明内存安全并不以性能为代价。
  4. 04文章提到 Gemini 4 模型(具体版本未说明)被选为翻译引擎,团队对比了多个无关模型在 Rust 任务上的表现以进行对抗性评估。
  5. 05FFI 封装层通过从裸指针重建安全句柄的方式避免未定义行为,这是领域专家介入的关键环节。
反方 / 局限
  • — 文章承认,自动翻译后的代码仍需领域专家花费约 200 小时处理 FFI 边界和维护分叉(fork),目前无法实现完全无人值守的迁移。
  • — 项目仅针对一个较小规模的单文件库(giflib),迁移更大、耦合更深的代码库(如整个浏览器引擎)的可行性尚未验证。
3 分钟 · 4 卡片 · 8 资料
读原文 →

前置背景

平行视角

未来推演

延伸追问