Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fkie-cad/butterfly
LibAFL components for stateful fuzzing
https://github.com/fkie-cad/butterfly
fuzzing libafl security stateful
Last synced: 2 months ago
JSON representation
LibAFL components for stateful fuzzing
- Host: GitHub
- URL: https://github.com/fkie-cad/butterfly
- Owner: fkie-cad
- License: mit
- Created: 2022-07-06T07:32:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-06T20:14:44.000Z (over 2 years ago)
- Last Synced: 2024-10-05T16:38:22.515Z (4 months ago)
- Topics: fuzzing, libafl, security, stateful
- Language: Rust
- Homepage:
- Size: 1.14 MB
- Stars: 42
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.2", package = "butterfly-fuzz" }
```## How to use
Start with [the wiki](https://github.com/fkie-cad/butterfly/wiki) and [the docs](https://docs.rs/butterfly-fuzz).
Also, [some examples](./examples) may be helpful.For questions, feature requests or bug reports please [create an issue](https://github.com/fkie-cad/butterfly/issues/new).