Make your programs more reliable with Fuzzing
summary
Fuzzing generates many inputs, runs them against code, and keeps any that crash or exercise new coverage; coverage-guided tools like AFL and libFuzzer use runtime coverage to steer mutations, while sanitizers (ASan/UBSan) make failures reproducible. OSS‑Fuzz runs continuous cloud fuzzing and files reproducible bugs with 90‑day embargo. Concrete results include a live demo reproducing Heartbleed in seconds, ~10 real regex bugs, several base64 lookup‑table fixes, huge reduced testcases, and tuning a custom permutation to cut expensive checks.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:22About me
- 3:02Fuzzing
- 7:05Why Fuzzing
- 11:13What makes fuzzing better
- 17:30Early fuzzing programs
- 18:28Coverageguided fuzzing
- 21:32AFL
- 23:29Lib Buzzer
- 25:08Example
- 35:45Funs Data Provider
- 40:12OSS Fuzz
- 47:17Cluster Fuzz
- 48:27Future Directions
- 51:02Fuzzing inputs
- 54:32Resetting the app
related talks
31m“Fuzz or lose..."
25mHow fuzzing helps to find bugs
39mMaking Fuzzing Part of Your Software Development Lifecycle
53mFuzzing 101
52mStructure aware fuzzing
01h 39mFuzzing in the open: Integrate your project in OSS-Fuzz for continuous fuzzing
24mWhy you should be using automated fuzzing to test for security issues in your code
44mOSS-Fuzz - Google's continuous fuzzing service for open source software
