RustGo: Fairly Directed Greybox Fuzzing for Enforcing Rust Memory Safety
arXiv SecurityArchived Aug 08, 2026✓ Full text saved
arXiv:2608.05870v1 Announce Type: new Abstract: Rust is a popular systems programming language that provides strong memory safety and introduces low-performance overhead. While Rust guarantees memory safety through strict security policies, such as ownership, memory bugs can still occur in unsafe-related Rust codes where these policies are not fully enforced. Although such unsafe Rust code accounts for only a small portion of the entire code (e.g., 10%), existing approaches fuzz the entire code-
Full text archived locally
✦ AI Summary· Claude Sonnet
Computer Science > Cryptography and Security
[Submitted on 6 Aug 2026]
RustGo: Fairly Directed Greybox Fuzzing for Enforcing Rust Memory Safety
Dongyeon Yu (1), Jiun Min (1), Yewan Na (2), Mijung Kim (2), Taegyu Kim (3), Yuseok Jeon (1) ((1) Korea University, (2) Ulsan National Institute of Science and Technology, (3) The Pennsylvania State University)
Rust is a popular systems programming language that provides strong memory safety and introduces low-performance overhead. While Rust guarantees memory safety through strict security policies, such as ownership, memory bugs can still occur in unsafe-related Rust codes where these policies are not fully enforced. Although such unsafe Rust code accounts for only a small portion of the entire code (e.g., 10%), existing approaches fuzz the entire code-including safe Rust, whose memory safety is already enforced by the Rust compiler-resulting in inefficient use of fuzzing resources. In this paper, we propose RustGo, the new Rust-directed greybox fuzzer that effectively and fairly focuses on code regions potentially containing memory bugs. For this, RustGo automatically identifies potential memory bug targets and accurately prunes the paths irrelevant to each target by leveraging Rust-specific static analysis. For each identified target, RustGo includes a new fuzzing approach that maintains an independent state and applies dynamic pruning to maximize balanced and focused fuzzing. We evaluate RustGo on various real-world Rust applications. On average, RustGo prunes 78.49% of irrelevant paths, reaches targets x 2.09 to x 5.08 faster than existing fuzzers, and identifies 13 unknown bugs (six assigned RUSTSEC IDs and one assigned CVE ID).
Comments: To appear in the Proceedings of the 2026 ACM SIGSAC Conference on Computer and Communications Security (CCS 2026). 23 pages
Subjects: Cryptography and Security (cs.CR)
Cite as: arXiv:2608.05870 [cs.CR]
(or arXiv:2608.05870v1 [cs.CR] for this version)
https://doi.org/10.48550/arXiv.2608.05870
Focus to learn more
Submission history
From: Dongyeon Yu [view email]
[v1] Thu, 6 Aug 2026 10:48:37 UTC (605 KB)
Access Paper:
HTML (experimental)
view license
Current browse context:
cs.CR
< prev | next >
new | recent | 2026-08
Change to browse by:
cs
References & Citations
NASA ADS
Google Scholar
Semantic Scholar
Export BibTeX Citation
Bookmark
Bibliographic Tools
Bibliographic and Citation Tools
Bibliographic Explorer Toggle
Bibliographic Explorer (What is the Explorer?)
Connected Papers Toggle
Connected Papers (What is Connected Papers?)
Litmaps Toggle
Litmaps (What is Litmaps?)
scite.ai Toggle
scite Smart Citations (What are Smart Citations?)
Code, Data, Media
Demos
Related Papers
About arXivLabs
Which authors of this paper are endorsers? | Disable MathJax (What is MathJax?)