Fuzzing
Fuzzing automatically generates random/semi-random inputs to feed a program, monitoring crashes and anomalies to discover vulnerabilities.
Purpose
Automatically discover unknown vulnerabilities; widely used to security-test parsers and protocol implementations.
Mechanism
Generates random or mutated inputs to feed the target, monitoring for crashes/ASAN reports/timeouts. Coverage-guided fuzzing (libFuzzer/AFL) uses coverage feedback to steer input generation. Structure-aware fuzzing understands the input format.
Use cases
- Vulnerability discovery
- Parser security testing
- Protocol robustness