Introduction to Fuzzing Rust code
1. Fuzzing Rust library using cargo-fuzz / libfuzzer
In this course, I will first select a popular Rust library and identify the most interesting methods to fuzz. Then, I’ll explains how to use cargo-fuzz (libfuzzer) to generate fuzzing targets and how to customize them. Finally, I’ll show how to run the fuzzer and explain some particularity of cargo-fuzz.
2. Fuzzing Rust code using honggfuzz
3. How to write (better) Rust fuzz targets?
I’m showing some good examples of Rust fuzzing harnesses that can be a good source of inspiration for you if you want to write better Rust fuzzing targets. I’m quickly copying part of this project and start fuzzing one Rust crate (dns_parser) using honggfuzz-rs.
4. Fuzzing Rust library using cargo-libafl (LibAFL-based fuzzer)
In this video, we are testing cargo-libafl, the new LibAFL-based fuzzer for Rust fuzzing. This new cargo utility is a replacement for (and a fork of) cargo-fuzz to use a LibAFL-based fuzzer instead of libfuzzer. Let’s see how it performs compare to libfuzzer.
You will get access of the complete tutorial with source code, cheatsheet and video right here.
I hope you will appreciate and you can discover more about my courses here.
Thank You,
Patrick Ventuzelo / @Pat_Ventuzelo