https://github.com/aflplusplus/cargo-libafl
Fuzz Rust code with LibAFL
https://github.com/aflplusplus/cargo-libafl
Last synced: 10 months ago
JSON representation
Fuzz Rust code with LibAFL
- Host: GitHub
- URL: https://github.com/aflplusplus/cargo-libafl
- Owner: AFLplusplus
- License: apache-2.0
- Created: 2022-02-22T09:10:26.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-30T10:40:38.000Z (almost 3 years ago)
- Last Synced: 2024-10-29T11:18:32.867Z (over 1 year ago)
- Language: Rust
- Size: 101 KB
- Stars: 57
- Watchers: 2
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# cargo-libafl
**This repository is outdated. It is superseded by [libafl_libfuzzer](https://github.com/AFLplusplus/LibAFL/pull/981)!**
This cargo utility is a replacement for (and a fork of) [cargo-fuzz](https://github.com/rust-fuzz/cargo-fuzz) to use a LibAFL-based fuzzer instead of libfuzzer.
The available features are still behind the original cargo-fuzz.
## Install
You need a nightly compiler to use cargo-libafl.
```
cargo install -f cargo-libafl
```
## Use
```
cargo libafl --help
```
### Custom Runtimes
If you need to use a custom runtime for your target, e.g. when using custom mutators, define an environmental variable `CUSTOM_LIBAFL_RUNTIME` to the target/release folder of your runtime. Note that your runtime should match the name (`cargo-libafl-runtime`) and the flags of the original runtime. To do this effectively, you should copy the `cargo-libafl-runtime` folder and modify it to your needs.
#### License
Licensed under either of Apache License, Version
2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
be dual licensed as above, without any additional terms or conditions.