InfoQ 中文· 作者:Olimpiu Pop·· 1 小时前精选AI 评分78
谷歌利用 Gemini 将 giflib 改写为 Rust 并提前修复未公开漏洞
谷歌借助 AI 与差分模糊测试将 C 语言依赖库改写为 Rust
AI 导读
谷歌安全团队通过一次性提示词调用 Gemini 将约 3000 行 C 语言的 giflib 库翻译为内存安全的 Rust 等价代码,成功在 CVE-2026-26740 漏洞公开前修复了该堆写入零日问题。项目保留了原有的 ABI 兼容性和导出符号,使得 Rust 版本可直接替换旧版共享对象,同时移除了原本用于隔离图像解码任务的操作系统沙箱,显著降低了 P99 尾部延迟。
为确保语义完全等价,团队构建了包含 3000 万个真实 GIF 文件的回归测试流水线,并运行了连续六天、累计 2 亿次迭代的自动化差异模糊测试器。这一验证机制不仅未发现功能漂移,还意外挖掘出早期原始 C 源码中一个由内部补丁引入的越界写入漏洞。此外,测试套件加入了对抗性 LLM 评估提示词,进一步辅助分析两个仓库间潜在的行为分歧。
尽管性能持平且安全性提升,作者强调 AI 代码翻译并非无需人工干预的灵丹妙药,上游依赖的分叉维护以及 FFI 封装层对生命周期和线程安全的把控仍需领域专家介入。目前该项目已开源为 giflib-rs,其严谨的差异化验证框架为其他团队进行基础工具的语言迁移提供了参考实现。
推荐理由
材料展示了用 Gemini 翻译 C 代码并配合差分模糊测试修复零日漏洞的完整闭环,为语言迁移提供了可验证的工程范式。
来源:InfoQ 中文 · infoq.cn