“Fuzz or lose..."
summary
Fuzzing is presented as a low-effort, high-impact practice: add a small fuzz target (a function that consumes a byte array), compile with instrumentation and sanitizers, and run. Google’s continuous service OSS-Fuzz fuzzes 1000+ C++ APIs 24/7 and has reported ~2000 bugs across 60+ projects using engines like libFuzzer and AFL with ASan/MSan/UBSan. Examples include a 12KB heap overflow in woff2 and dozens of Boost.Regex failures; fuzzing finds roughly 80% of bugs versus ~10% for unit tests.
AI-written summary · about
chapters (28)
- 0:00Introduction to fuzzing
- 1:26Why fuzz C++ code
- 3:15Modern C++ and bugs
- 5:02Case study: woff2 library
- 6:31Fuzz targets explained
- 8:24What makes a good fuzz target
- 9:29Beyond memory safety bugs
- 9:50Case study: Boost Regex
- 11:20OSS-Fuzz service overview
- 12:44OSS-Fuzz achievements
- 14:10Fuzzing for closed source
- 14:58Fuzzing complex inputs
- 15:41Fuzzing a C++ compiler
- 17:08Structure-aware fuzzing
- 18:13Custom mutators for fuzzing
- 19:17Fuzzing logical bugs
- 20:02Adoption challenges
- 21:33Fuzz-driven development
- 22:59Rust and fuzzing
- 23:20Simplifying fuzzing adoption
- 24:47Beyond fuzzing for safety
- 25:07Hardware-assisted memory safety
- 25:51Statically verifiable C++
- 26:39Summary and call to action
- 26:59Q&A: Test case simplification
- 28:02Q&A: Chromium Embedded Framework
- 28:25Q&A: Bug detection methods
- 29:51Q&A: Fuzzing vs static analysis
related talks
01h 15mMake your programs more reliable with Fuzzing
53mFuzzing 101
39mFuzzing Session: Finding Bugs and Vulnerabilities Automatically
25mHow fuzzing helps to find bugs
39mMaking Fuzzing Part of Your Software Development Lifecycle
47mFuzzing Your Code
44mOSS-Fuzz - Google's continuous fuzzing service for open source software
24mWhy you should be using automated fuzzing to test for security issues in your code
