论文

基于结构化API分析,为Rust库生成支持泛型的模糊测试入口

Generics-Aware Fuzz Target Generation for Rust Libraries via Structured API Analysis

摘要

模糊化 Rust 库 API 需要构建类型良好、可编译的调用序列,以满足所有权规则、通用参数和特征边界;现有工具忽略这些限制或使用浅层启发法,导致覆盖率较低。我们提出了 GRAFT,它从 Rust 文档中提取结构化 API 信息,通过递归泛型感知类型匹配构建 API 依赖图,并使用拓扑引导遍历加上带有编译器错误反馈的 LLM 综合来生成可编译的模糊目标。在 crates.io 的 13 个 crate 上,GRAFT 在 96.19% 的编译成功率下实现了 80.75% 的宏观平均 API 覆盖率,比 RULF 和 RPG 分别高出 4.76 倍和 2.43 倍,并且在具有不安全 API 的 crate 上达到了 deepSURF 平均 API 覆盖率的 1.41 倍。