This crate brings stateful fuzzing capabilities to LibAFL via 1. Packet-based Inputs: Inputs that are vectors of packets and can be loaded from pcap files 2. Packet-based Mutations: Mutators that can be applied to selected packets only (havoc and protocol-aware mutations like packet insertion, deletion and reordering) 3. State-Graph Inference: Observe which states your target goes through as it processes the individual packets and identify when it enters a new state or makes a new state transition
butterfly
uses rust 2021 edition, so execute
sh
rustup toolchain install nightly
and in your Cargo.toml
insert
toml
[dependencies]
butterfly = { version = "0.1.1", package = "butterfly-fuzz" }
Start with the wiki and the docs. Also, some examples may be helpful.
For questions, feature requests or bug reports please create an issue.