#code-refactoring

共收录 1 条相关安全情报。

← 返回所有主题
推荐 10.5
Conf: 50%
👥 作者: Hung-Mao Chen, Xu He, Bo Lu, Xiaokuan Zhang, Kun Sun

该论文针对当前自动将 C 代码重构为 Rust 的工具开展了系统性实证研究。研究背景是 Rust 凭借内存与类型安全保证成为系统编程的热门语言,但人工把 C 迁移到 Rust 需要深入的领域知识与大量投入;因此业界出现了基于静态分析与大语言模型的自动 C→Rust 重构工具(C2Rust-analyze、CROWN、C2SaferRust、FLOURINE),并常以减少 unsafe 代码量作为安全性的宣称依据。作者指出,unsafe 代码减少与真实安全提升之间的相关性并不明确,于是构建了包含 116 个来自 NIST Juliet 测试套件、带有内存安全缺陷的 C 程序数据集,并用上述工具生成了 464 个 Rust 程序。评测围绕三个维度展开:重构后程序的编译正确性、对原始 C 缺陷的实际缓解效果、以及是否引入新的 Rust 缺陷。结果显示:342 个 Rust 程序无法通过编译,177 个程序仍然继承了原始 C 程序中的内存安全缺陷,另有 77 个新引入的 Rust 缺陷。作者进一步分析了各工具的设计动机与错误根因,结论是现有自动重构工具所交付的只是其自身定义的“内存安全”,而非采用它们时所期望的更广义的内存安全,说明自动重构并不等于安全迁移。

💡 推荐理由: 若团队打算用自动 C→Rust 重构来消除内存安全风险,本研究提示该假设不成立:大量产物无法编译,缺陷既可能被继承也可能新增。安全团队不应把迁移工具当作漏洞修复手段,而需建立独立验证流程。

🎯 建议动作: 研究跟进

排序因子: 影响边界/网络设备 (+5) | 来自 arXiv 其他板块 (+2) | 命中热门研究主题 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)