网易首页 > 网易号 > 正文 申请入驻

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

0
分享至


作者 | Olimpiu Pop

译者 | 明知山

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

内存损坏类漏洞在成熟 C/C++ 代码栈的高危安全漏洞中约占 70%。软件工程师 Bastian Kersting 和 Max Hils 没有选择耗时数年的手动移植,也没有完全依赖运行时边界检查,而是设计了一个围绕自主反馈循环的三阶段自动化迁移流程。

首先,团队使用一次性提示词让 Gemini 将 C 语言库的完整逻辑移植到 Rust。由于该库需要透明地替换现有共享对象而不破坏下游调用方,工程师保留了原有的导出符号和结构体定义。在最初几轮实现中,外部函数接口(FFI)建模引入了不安全的裸指针语义,需要人工检查并细化指针所有权和生命周期不变量。最后,自动化差异测试引擎检测到行为差异,并将失败的执行轨迹反馈给模型迭代生成补丁。


图片来源:基于博客原文内容使用 Gemini 生成。

为了避免跨 C 语言边界传递指针时产生未定义行为,FFI 封装层会从裸指针重建安全的 Rust 句柄:

}

将自动生成的代码部署到核心业务基础设施,必须证明它和原 C 语言实现的语义完全等价。团队搭建了一个验证流水线,对超过 3000 万个真实的 GIF 文件进行大规模回归解码测试,确保逐比特渲染结果的一致性。

与此同时,一个自动化 差异模糊测试器 连续六天对两个运行时进行并排迭代,累计执行 2 亿次迭代没有发现功能漂移。测试套件还加入了对抗性 LLM 评估提示词,用于分析两个代码仓库,寻找潜在的行为分歧。该验证流水线在 LZW 解压器中发现了一个未处理的边缘情况,并标记出一个内部遗留的越界写入漏洞——该问题由早期原始 C 源码的一个内部补丁引入。

该项目最有力的验证出现在预发布阶段。一位外部安全研究人员在上游 giflib 中发现了一个越界堆写入漏洞,后被编目为 CVE-2026-26740。在漏洞公开披露前,谷歌这套 Rust 替代版本的生产节点从底层就不受该漏洞影响,这表明架构级的语言迁移能够从根本上预先杜绝一整类漏洞。

用 Rust 替换 C 语言库时,人们常常担心强制边界检查会带来运行时开销。全球图像解码集群的生产监控数据表明,Rust 二进制程序和原版 C 语言程序运行性能持平。而且,内存安全保障直接被移入类型系统,平台工程师因此可以移除之前为隔离图像解码任务而设置的传统操作系统沙箱。去掉这层进程隔离边界后,P99 尾部延迟显著降低。

尽管性能有所提升,作者也指出:AI 代码翻译并非可以完全放手不管的灵丹妙药。每当上游发布新功能或架构改动时,将上游 C 语言依赖分叉成 Rust 库都会带来持续的维护分叉。此外,外部函数接口封装仍然需要领域专家介入,防止生命周期泄漏,保证线程安全约束不被破坏。

r/rust 和 Hacker News 上的相关讨论普遍认可这一成果,同时也在争论 AI 辅助移植的实用性与安全性:评论者称赞了谷歌严谨的差异模糊测试框架——它捕捉到了谷歌自家遗留 C 语言补丁中的一个既有的越界写入漏洞——但大家对“一次性直接翻译”方案提出很多质疑,指出人工审计细微语义退化、修复不安全的 C FFI 边界所需要的工作量往往远超代码生成本身。许多人认为,如果代码库的规模超出 giflib 这类简单、自包含的项目,采用确定性转译器(如 c2rust),再借助 AI 重构为安全、地道的 Rust 代码,会更加可靠。

谷歌已经把生成的库开源,项目名叫 giflib-rs,供那些考虑对基础工具做自动语言迁移的团队作为参考实现。

查看英文原文:

https://www.infoq.com/news/2026/09/c-rust-rewrite/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中互金:携程金融、小赢、信也等15家助贷平台提交第三方审计报告,显示均未挪用

中互金:携程金融、小赢、信也等15家助贷平台提交第三方审计报告,显示均未挪用

WEMONEY研究室
2026-10-14 20:20:28
重磅!郭艾伦官宣新下家,拒绝回归辽篮,落叶归根落空

重磅!郭艾伦官宣新下家,拒绝回归辽篮,落叶归根落空

烟浔渺渺
2026-10-15 02:51:32
CCTV-1《伟大的长征》爆火,看过所有的贺子珍,万茜演的贺子珍最好

CCTV-1《伟大的长征》爆火,看过所有的贺子珍,万茜演的贺子珍最好

乡野小珥
2026-10-15 02:11:18
学校里出现了非常危险的现象:越来越多的孩子可能已经“脑腐”了

学校里出现了非常危险的现象:越来越多的孩子可能已经“脑腐”了

青史卷中人
2026-10-15 00:17:55
越南已故领导人黎笋的大儿子黎坚成在一次访谈中表示,把中国克制当软弱,最终换回北部十年焦土与河内彻夜难眠?

越南已故领导人黎笋的大儿子黎坚成在一次访谈中表示,把中国克制当软弱,最终换回北部十年焦土与河内彻夜难眠?

回京历史梦
2026-10-15 09:12:21
“龃龉”不读 zǔ wú!也不读 jū chǐ!我出过丑太丢人!

“龃龉”不读 zǔ wú!也不读 jū chǐ!我出过丑太丢人!

语丝纪
2026-10-15 07:45:07
近2万亿,流出!

近2万亿,流出!

成方街哨兵
2026-10-14 23:12:30
24年服药3.5万片,《我不是药神》原型陆勇今起逐步停药,3个月后有望迎来“新生”

24年服药3.5万片,《我不是药神》原型陆勇今起逐步停药,3个月后有望迎来“新生”

极目新闻
2026-10-15 11:35:08
杨幂带火一种秋日配色叫“浅灰+宝蓝”,低马尾搭波点发圈好少女

杨幂带火一种秋日配色叫“浅灰+宝蓝”,低马尾搭波点发圈好少女

明星私服穿搭daily
2026-10-15 11:49:04
iOS 27.2发布更新,图标突然被大改了!

iOS 27.2发布更新,图标突然被大改了!

小柱解说游戏
2026-10-15 11:17:23
194GB对77GB:同一款使命召唤,两个平台差了117GB

194GB对77GB:同一款使命召唤,两个平台差了117GB

渡川5
2026-10-13 17:39:21
张柏芝近况曝光后自曝过往,坦言三年四次失子且已确诊,谢霆锋这话直戳要害

张柏芝近况曝光后自曝过往,坦言三年四次失子且已确诊,谢霆锋这话直戳要害

情感大头说说
2026-10-15 11:57:10
特朗普在集会现场签署特赦令,当场赦免两名汽车修理工,这种行使总统赦免的方式在公开场合极为罕见

特朗普在集会现场签署特赦令,当场赦免两名汽车修理工,这种行使总统赦免的方式在公开场合极为罕见

极目新闻
2026-10-15 10:40:17
宏远速递!新大外全力赶上揭幕战,徐杰或被挖角,卢卡继承奎因小电驴

宏远速递!新大外全力赶上揭幕战,徐杰或被挖角,卢卡继承奎因小电驴

多特体育说
2026-10-14 23:03:51
重庆一家足浴店,80个技师,每月交3000工位费,老板娘月收24万

重庆一家足浴店,80个技师,每月交3000工位费,老板娘月收24万

爱下厨的阿酾
2026-10-15 06:54:44
通牒变停火?沙特真正忌惮的不是胡赛,而是中国“已读不回”

通牒变停火?沙特真正忌惮的不是胡赛,而是中国“已读不回”

真的好爱你
2026-10-14 13:20:08
火车卧铺遇到过什么事情?网友:那段时间的声音,给我极大的冲击

火车卧铺遇到过什么事情?网友:那段时间的声音,给我极大的冲击

另子维爱读史
2026-10-01 20:31:11
养老院开始离谱了!床位从6000跌到2000,退休金三千也能住得起了

养老院开始离谱了!床位从6000跌到2000,退休金三千也能住得起了

娱乐洞察点点
2026-10-15 10:59:11
隐退后的费玉清和张菲

隐退后的费玉清和张菲

手工制作阿歼
2026-10-13 04:03:54
沪指跌破3700点,超5000只个股下跌!长鑫科技市值跌破3万亿元,工商银行成市值最高个股,PCB、AI漫剧、白酒、创新药概念走强 | A股早盘

沪指跌破3700点,超5000只个股下跌!长鑫科技市值跌破3万亿元,工商银行成市值最高个股,PCB、AI漫剧、白酒、创新药概念走强 | A股早盘

每日经济新闻
2026-10-15 11:47:11
2026-10-15 12:32:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
13058文章数 52102关注度
往期回顾 全部

科技要闻

核弹院士彭先觉:可控核聚变 不必再等50年

头条要闻

高市"抱怨"不容易:早上要洗澡化妆 准备早餐收拾餐具

头条要闻

高市"抱怨"不容易:早上要洗澡化妆 准备早餐收拾餐具

体育要闻

五大联赛第二射手,开着11年前的二手车

娱乐要闻

陈小春弟弟被卖,多年不打扰另有隐情

财经要闻

洋餐饮的中国生意:红利消退后的集体交权

汽车要闻

不止大空间/纯电增程任选 小鹏MONA L05来了

态度原创

教育
艺术
数码
公开课
军事航空

教育要闻

高中课标解读·课程理念③ | 基于课程理念真实性学习的内在机制与实践路径

艺术要闻

天凉了,叶黄了,秋来了……

数码要闻

双十一装机,能战到2029的DDR5,何必再为DDR4将就?

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

朝鲜潜射两种导弹

无障碍浏览 进入关怀版