Fuzzing
Automated testing that feeds a program large numbers of generated or mutated inputs and watches for crashes, sanitizer reports, hangs or broken invariants. Coverage-guided fuzzers such as libFuzzer and AFL++ keep the inputs that reach new code, which finds parser bugs that example-based tests miss.
- Also called
- fuzz testing · fuzzer
- Defined in
- OWASP: Fuzzing
Covered in
Fuzz a parser and turn crashes into lasting regressions
Build a narrow harness, observe memory and resource failures, minimize the input, and test the repaired parser.
Place each security control in the pipeline and decide what it blocks
Put secrets scanning, SAST, SCA, IaC and image scanning, DAST, fuzzing, attestation and admission control where each sees the right input, block only on findings a developer can act on, and deploy only images the pipeline has attested.
Find, fix and contain memory-safety bugs in C and C++
Recognize out-of-bounds access, use after free, NULL dereference and integer overflow in C and C++, fix them with checked lengths and single ownership, harden release builds, catch the rest with sanitizers and fuzzing, and plan new code in a memory-safe language.
Practice: Buffer over-read lab: Stop a heartbeat over-read · Local project: Parse bounded JSON and XML invoices safely · Local project: Repair a native parser using sanitizer evidence · Local project: Repair a security pipeline for GitHub Actions and GitLab CI