2 ms·
> Fuzzing is an incredibly useful technique for finding bugs in a codebase Very much so. Even really common code has issues found via fuzzing on a regular bas
by stevekemp 11y ago
> Fuzzing is an incredibly useful technique for finding bugs in a codebase
Very much so. Even really common code has issues found via fuzzing on a regular basis. In the past six months I've reported NULL pointer deferences printing fingerprints of SSH keys, segfaults in the GNU awk parser, and most recently segfaults when parsing HTML files with w3m.
Most of the time setting up fuzzing is pretty simple, but even updating programs to read from STDIN rather than sockets is usually possible if you're careful and patient.
The hardest part is waiting for the damn things to run. Right now I've had a fuzzing session going against the text-based browser lynx for 4 days, and still counting. (Specifically looking to see if it can be crashed when converting HTML to text, as is often done in mutt, etc, via 'lynx -dump').
- masklinn 11y ago> The hardest part is waiting for the damn things to run. Would it be possible to distribute the fuzzing on a small cluster or some cloud platform thing?
- stevekemp 11y agoIf you wrote your own fuzzer, using a queue to distribute work, then almost certainly. But if you're relying on things like AFL then I think the answer is generally "no".
- besselheim 11y agoThere is some provision for parallelization in afl: https://github.com/mirrorer/afl/blob/master/docs/parallel_fuzzing.txt https://github.com/mirrorer/afl/blob/master/docs/parallel_fu...