This crate brings stateful fuzzing capabilities to LibAFL via
- Packet-based Inputs: Inputs that are vectors of packets and can be loaded from pcap files
- Packet-based Mutations: Mutators that can be applied to selected packets only (havoc and protocol-aware mutations like packet insertion, deletion and reordering)
- 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
rustup toolchain install nightly
and in your Cargo.toml
insert
[dependencies]
butterfly = { version = "0.2.2", 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.