Google Rewrites Critical C Dependencies to Rust Using AI and Differential Fuzzin
2 days ago
- 谷歌使用 Gemini 将 3,000 行的 C 语言库 giflib 翻译成内存安全的 Rust,旨在消除遗留的内存漏洞。
- 该团队采用了三阶段流程:单次 AI 提示、人工完善 FFI 包装器,以及 2 亿次迭代的自动化差异测试。
- 验证包括对 3000 万个真实世界 GIF 的回归解码和并排模糊测试,确保逐位一致,并捕获了一个先前存在的越界写入。
- Rust 替代版本被证明在公开披露之前对一个新发现的零日漏洞(CVE-2026-26740)免疫。
- 生产环境遥测显示与 C 语言的运行时性能一致,并且由于内存安全而移除操作系统沙箱降低了 p99 尾延迟。
- 挑战包括与上游 C 的维护分歧,以及在 FFI 和生命周期管理方面需要人类专业知识。
- 社区讨论建议,像 c2rust 这样的确定性转译器加上后续的 AI 重构,对于更大的代码库可能更可靠。
- 谷歌将该库以开源 giflib-rs 的形式发布,作为自动化语言转换的参考。