
* Less allocatiosn for filenames * clippy for wasm fuzzer * Reworked filename and rename APIs * python, clippy * fmt * More cleanup, fixed metadata location * clippy * fix fuzzbench_text / cached len, invert parameters (state first) * clippy * oops * Caching for paths * simplified, fixed * no_std * cached_len * Nider API for input getting
libafl-wasm
A brief demo demonstrating libafl's compatibility with WASM, and how to do it.
In this example, the entire LibAFL harness and target are present in a WASM binary, which is then loaded by the example
webpage. To run this example, do cargo make build
, then open the example webpage in
your browser (via something like python3 -m http.server
). The fuzzer will execute until finding a solution and will
write the fuzzer log to your console.
In a real fuzzing campaign, you would likely need to also create a LibAFL Corpus implementation which was backed by JavaScript, and restart the fuzzing campaign by re-invoking the fuzzer and providing the associated corpora. This is not demonstrated in this barebones example.