
* sort memebers * Building bolts * fixing python, feature flags * Cleanup bolts Cargo.toml * Fix tests * cleanup libafl * removed duplicate examples * Info text * reenable agpl CI * fix impl_serdeany * new fmt * Moved bolts * fix some builds * fix * fix more fixes * serdeany * no_std * Dependency cleanup * Fix docs * Docker * add python bolts bindings * no_std test fix * merge fail * typo fix * add bolts dependency to fuzzers * tiny fixes * merge fun * clippy * link no longer exists * make sure python gets rebuilt * fix pybind * doc fix * remove bolts ref * LibAFL bolts * More info * deprecation notice for launcher * fix python * cargo fmt * fix concolic * fix * clippy * fix libafl_cc * fix tutorial, clippy * fix concolic fuzzer * fix push_stage_harness fuzzer * prelude * fix testcase post-merge * mute clippy
How to use python bindings
First time setup
# Install maturin
pip install maturin
# Create virtual environment
python3 -m venv .env
Build bindings
# Activate virtual environment
source .env/bin/activate
# Build python module
maturin develop
This is going to install pylibafl
python module into this venv.
Use bindings
Example: Running baby_fuzzer in fuzzers/baby_fuzzer/baby_fuzzer.py
First, make sure the python virtual environment is activated. If not, run source .env/bin/activate
. Running pip freeze
at this point should display the following (versions may differ):
maturin==0.12.6
pylibafl==0.7.0
toml==0.10.2
Then simply run
python PATH_TO_BABY_FUZZER/baby_fuzzer.py
The crashes directory will be created in the directory from which you ran the command.