
* 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
13 lines
771 B
Markdown
13 lines
771 B
Markdown
# 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](pkg/index.html). To run this example, do `cargo make build`, then open [the example webpage](pkg/index.html) 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.
|