RULF: Rust Library Fuzzing via API Dependency Graph Traversal
Not on the map. Why?
Abstract (arXiv)
Robustness is a key concern for Rust library development because Rust promises no risks of undefined behaviors if developers use safe APIs only. Fuzzing is a practical approach for examining the robustness of programs. However, existing fuzzing tools are not directly applicable to library APIs due to the absence of fuzz targets. It mainly relies on human efforts to design fuzz targets case by case which is labor-intensive. To address this problem, this paper proposes a novel automated fuzz target generation approach for fuzzing Rust libraries via API dependency graph traversal. We identify several essential requirements for library fuzzing, including validity and effectiveness of fuzz targets, high API coverage, and efficiency. To meet these requirements, we first employ breadth-first search with pruning to find API sequences under a length threshold, then we backward search longer sequences for uncovered APIs, and finally we optimize the sequence set as a set covering problem. We implement our fuzz target generator and conduct fuzzing experiments with AFL++ on several real-world popular Rust projects. Our tool finally generates 7 to 118 fuzz targets for each library with API coverage up to 0.92. We exercise each target with a threshold of 24 hours and find 30 previously-unknown bugs from seven libraries.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). First posted on arXiv 25 Apr 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 1; 2023: 0; 2024: 0; 2025: 2; 2026: 2.
5 papers.
- 2025HarnessAgent: Scaling Automatic Fuzzing Harness Construction with Tool-Augmented LLM Pipelinescited by 4
- 2025deepSURF: Detecting Memory Safety Vulnerabilities in Rust Through Fuzzing LLM-Augmented Harnessescited by 1
- 2022Ruby: Unmasking Unsafe Rust in Stripped Binaries via Machine Learningcited by 0
- 2026AkiraRust: Re-thinking LLM-aided Rust Repair Using a Feedback-guided Thinking Switchcited by 0
- 2026FuzzAgent: Multi-Agent System for Evolutionary Library Fuzzingcited by 0
- 2026FuzzAgent: Multi-Agent System for Evolutionary Library Fuzzing14 May 2026
- 2026AkiraRust: Re-thinking LLM-aided Rust Repair Using a Feedback-guided Thinking Switch25 Feb 2026
- 2025HarnessAgent: Scaling Automatic Fuzzing Harness Construction with Tool-Augmented LLM Pipelines3 Dec 2025
- 2025deepSURF: Detecting Memory Safety Vulnerabilities in Rust Through Fuzzing LLM-Augmented Harnesses18 Jun 2025
- 2022Ruby: Unmasking Unsafe Rust in Stripped Binaries via Machine Learning31 Oct 2022