Dominik Maier 96e24d1c8b
Move Input loading and dumping APIs from Testcase to Corpus (#1201)
* 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
2023-04-18 12:14:49 +02:00
..
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00
2023-02-26 17:02:22 +01:00

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.