butterfly

   

Description

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

Installation

butterfly uses rust 2021 edition, so execute sh rustup toolchain install nightly

and in your Cargo.toml insert toml [dependencies] butterfly = { version = "0.2.1", package = "butterfly-fuzz" }

How to use

Start with the wiki and the docs. Also, some examples may be helpful.

For questions, feature requests or bug reports please create an issue.