Awesome Reviewers checks + prompts

Fuzzing

Feeds coverage-guided random input to parsers and decoders to find crashes, panics and hangs.

V1022 technique
tactic Testing
2 of 256 scanned repositories run it (1%)

Sub-techniques

3

IDNameDescription
V1022.001Coverage-guided fuzzinglibFuzzer or AFL style harnesses per entry point.
V1022.002Continuous fuzzingRun fuzzers continuously (for example OSS-Fuzz) and file crashes as issues.
V1022.003Corpus regressionReplay the saved corpus and crash cases in normal CI.

Craft it

  1. Write one harness per parser or decoder entry point.
  2. Seed the corpus with real inputs and commit it.
  3. Run short fuzz jobs on PRs and long ones on a schedule.

Reverse engineer it

Signs that a codebase already runs this technique, and where to read how it is configured.

  • fuzz/ directories, fuzz_targets, or project.yaml for OSS-Fuzz.
  • CIFuzz or cargo fuzz steps in workflows.

Where the scanned repositories configure it:

  • .github/workflows/*.yml in 2 repositories
  • Cargo.toml in 1 repositories
  • fuzz_stream_map.rs in 1 repositories
  • ruff_fix_validity.rs in 1 repositories

Detected by the scanner as: Fuzzing (crashes, panics and hangs on malformed input, especially in parsers and decoders.)

Open-source packages

4

Tools seen in scans

by repositories that run them

ToolReposCommand seenRuns inDocs
cargo-fuzz 6 cargo fuzz build -s none ci docs

Procedure examples

repositories that run it, most-starred first

RepositoryToolsRuns inEvidence
astral-sh/ruff cargo-fuzz ci .github/workflows/ci.yaml jobs.cargo-fuzz-build.steps[4]
tokio-rs/tokio cargo-fuzz ci .github/workflows/ci.yml jobs.check-fuzzing.steps[4] (Check /tokio/)