# AFL based fuzz setup for vodozemac The subdirectories here contain various fuzz harnesses for vodozemac. # Setup You will need a nightly Rust compiler for this to work: ```bash $ rustup toolchain install nightly ``` After that afl-rs needs to be installed, the complete setup guide can be found [here](https://rust-fuzz.github.io/book/afl/setup.html), you can install afl with cargo: ```bash $ cargo install cargo-afl ``` # Fuzzing To start fuzzing using one of the provided harnesses enter the subdirectory of the harness. For example, ```bash $ cd afl/olm-message-decoding ``` Build the harness using the `cargo afl` command: ```bash $ cargo afl build ``` Start fuzzing using the `cargo afl` command, for example: ```bash $ cargo afl fuzz -i in -o out target/debug/olm-message-decoding ```