CheckOps
cargo-fuzz
cargo-fuzz is the Rust Fuzz project's Cargo subcommand for fuzzing Rust code with libFuzzer, handling target scaffolding, running and test-case minimisation.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
cargo-fuzz is the recommended way to fuzz Rust code with libFuzzer. cargo fuzz init creates a fuzz directory, cargo fuzz add creates targets, and cargo fuzz run builds with sanitizers and starts fuzzing.
The README notes it needs LLVM sanitizer support, so it works only on x86-64 and AArch64 on Unix-like systems, and requires a nightly compiler. Subcommands print the Debug output of a test case and minimise failing inputs to the smallest reproducer. The arbitrary crate lets targets accept structured inputs.
In the quality loop cargo-fuzz finds panics and memory issues in unsafe code.
The source code is at rust-fuzz/cargo-fuzz on GitHub under the Apache-2.0 licence, with about 1,900 stars; the most recent commit was on 20 July 2026.
Features
- Scaffolding: init and add targets.
- libFuzzer runner: Sanitizer builds.
- Minimisation: Shrink crashing inputs.
- Corpus tools: cmin and coverage.
- Structured fuzzing: With the arbitrary crate.
- Workspace support: Fits Cargo workspaces.
Pros
- Rust-native: Feels like other Cargo commands.
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 20 July 2026.
Cons
- Nightly required: Uses unstable flags.
- Platform limits: x86-64 and AArch64 on Unix only.
- libFuzzer status: Underlying engine in maintenance mode.
Usage and Links (Example)
cargo install cargo-fuzz
cargo fuzz init
cargo fuzz add parse_config
cargo +nightly fuzz run parse_config
Resources:
Pricing
cargo-fuzz is free and open source under the Apache-2.0 licence.
Recommended for?
- Rust teams parsing untrusted data.
Conclusion
cargo-fuzz is the easiest way to start fuzzing Rust.
Combine with the arbitrary crate for structured inputs.
On CheckOps, cargo-fuzz is filed under the Security testing and Unit testing stages. Related tools listed here include libFuzzer, AFL++, honggfuzz, LibAFL, OSS-Fuzz and ClusterFuzzLite. When comparing them, weigh the licence, the languages and platforms each supports, whether it is self-hosted or managed, and how cleanly it slots into your existing CI pipeline. Details on this page were checked against the official website, documentation and repository on 11 November 2026.
Compare
CheckOps pages that put cargo-fuzz next to related tools. There is no paid placement on these lists.
Roundups
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with cargo-fuzz side by side.
LlibFuzzerlibFuzzer is LLVM's in-process, coverage-guided, evolutionary fuzzing engine, built into Clang via -fsanitize=fuzzer and used with sanitizers to find memory-safety and logic bugs in C and C++.Compare with cargo-fuzz
AAFL++AFL++ is the community-maintained successor to Google's AFL: a coverage-guided fuzzer with faster execution, better mutations and instrumentation, custom mutators and modes for binaries, licensed AGPL-3.0-or-later.Compare with cargo-fuzz
Hhonggfuzzhonggfuzz is Google's Apache-2.0 security-oriented fuzzer with evolutionary, feedback-driven fuzzing based on software and hardware code coverage.Compare with cargo-fuzz
LLibAFLLibAFL is a Rust library of reusable fuzzer components from the AFL++ team, for building fast, scalable, custom fuzzers across platforms and targets.Compare with cargo-fuzz
OOSS-FuzzOSS-Fuzz is Google's free continuous fuzzing service for critical open-source projects, running libFuzzer, AFL++ and other engines at scale on ClusterFuzz.Compare with cargo-fuzz
CClusterFuzzLiteClusterFuzzLite is Google's Apache-2.0 continuous fuzzing solution that runs in CI such as GitHub Actions, fuzzing pull requests and running batch fuzzing with coverage reports.Compare with cargo-fuzz