首页 › AI快讯 › 谷歌用Gemini将3000行C库改写为Rust,提前修复零

谷歌用Gemini将3000行C库改写为Rust,提前修复零日漏洞

希
希鸥网AIGC专员
· 2026-10-20 · AI快讯 · 来源:InfoQ 中国 1,147 次阅读

谷歌安全团队验证了一条消除遗留基础设施内存漏洞的新路径:利用Gemini将C语言代码库翻译成内存安全的Rust等价代码。改造对象是约3000行代码的图像处理库giflib,该库经常在无沙箱隔离的情况下解码不受信任的用户输入。团队用Rust编写了一个ABI兼容、可直接替换的库,停用了进程隔离沙箱,保持原有延迟不变,并在漏洞CVE-2026-26740被公开编目之前修复了一个尚未打补丁的堆写入零日漏洞。

内存损坏类漏洞在成熟C/C++代码栈的高危安全漏洞中约占70%。软件工程师Bastian Kersting和Max Hils设计了一个围绕自主反馈循环的三阶段自动化迁移流程:先用一次性提示词让Gemini移植完整逻辑,并保留原有导出符号和结构体定义以实现无缝替换;再对FFI建模中引入的不安全裸指针语义进行人工检查,细化指针所有权和生命周期不变量;最后由自动化差异测试引擎检测行为差异,将失败执行轨迹反馈给模型迭代生成补丁。

为证明语义等价,团队搭建验证流水线,对超过3000万个真实GIF文件进行大规模回归解码测试,确保逐比特渲染结果一致。自动化差异模糊测试器连续六天对两个运行时并排迭代,累计执行2亿次迭代未发现功能漂移。该流水线还在LZW解压器中标记出一个由早期C源码内部补丁引入的越界写入漏洞。

生产监控数据显示,Rust二进制程序与原版C程序性能持平,内存安全保障被移入类型系统,平台工程师因此移除了此前为隔离图像解码任务设置的操作系统沙箱,P99尾部延迟显著降低。作者同时指出,AI代码翻译并非可以完全放手不管的方案:上游功能更新会带来持续的维护分叉,FFI封装仍需领域专家介入以防止生命周期泄漏和线程安全问题。谷歌已将生成的库开源。

📖 阅读本文共 1,147 次 2026年10月20日 12:30
📱 长按识别 分享给好友~
视频号二维码

扫码查看视频号

客服头像 咨询 咨询