Summary
1. Introduction to Fuzzing
What’s fuzzing?
Different type of fuzzing
2. Coverage-guided Fuzzing
Libfuzzer / cargo-fuzz
AFL / afl.rs
Honggfuzz / honggfuzz-rs
Exercises
3. Fuzzing workflow
Corpus/Input collection
Code coverage
Corpus minimization
4. Crashes Triaging
Bucketing
Crashes minimization
Root cause analysis
Debugging
5. Generation-based Fuzzing
Structure-aware Fuzzing
Grammar-based Fuzzing
Exercises
6. Other testing techniques
Property-based testing
Symbolic Execution
Formal verification
7. Advanced Fuzzing techniques
Differential Fuzzing
Exercises
Writing custom fuzzers
8. Exercises
Interesting targets
Fuzzing Real-world targets