Expand description
§dev-fuzz
Fuzzing harness integration for Rust. Wraps
cargo-fuzz (libFuzzer-based)
and emits findings as dev_report::Report.
Captures crashes, timeouts, and OOM events with reproducer inputs
attached as Evidence::FileRef so consumers
can replay the input that triggered each finding.
§Quick example
use dev_fuzz::{FuzzBudget, FuzzRun};
use std::time::Duration;
let run = FuzzRun::new("parse_input", "0.1.0")
.budget(FuzzBudget::time(Duration::from_secs(60)));
let result = run.execute().unwrap();
let report = result.into_report();§Requirements
cargo install cargo-fuzz
rustup toolchain install nightly # libFuzzer requires nightlyThe crate detects absence of either prerequisite and surfaces
FuzzError::ToolNotInstalled / FuzzError::NightlyRequired
without panicking.
Structs§
- Fuzz
Finding - A single fuzz finding.
- Fuzz
Producer Produceradapter that drives aFuzzRunand converts the result into aReport.- Fuzz
Result - Result of a fuzz run.
- FuzzRun
- Configuration for a fuzz run.
Enums§
- Fuzz
Budget - Budget for a fuzz run.
- Fuzz
Error - Errors that can arise during a fuzz run.
- Fuzz
Finding Kind - Type of finding discovered during a fuzz run.
- Sanitizer
- Which sanitizer to enable on the fuzz target build.