AFL++: compile a program for fuzzing
Compile a program for fuzzing.
1. Run the example
Download the AFL++ example. Extract it, install httpx, set your API URL and token, then run python client.py. The client uploads the included inputs, submits the command, and saves the result under results/RUN_ID.
2. Check the result
Download the compiled target. You can use it in a later AFL++ invocation.
Read the native exit code and cleanup status printed by the client. Read results and save reports explains the returned files.
3. Use your own inputs
Edit example.json to change the command arguments, requested outputs or deadline. Replace the files under inputs/ with your own data, keeping the staged paths aligned with the command. The client creates the artifact IDs for you; illustrative IDs shown here must not be copied into a live request.
Files used by this example
target.c
The example uses supplied files or the disposable execution environment. Nothing from the environment carries into a later run unless you request and reuse its output.
Commands, version and prerequisites
Qualified version: 4.21c-5. Commands: afl-fuzz, afl-showmap, afl-tmin, afl-cmin, afl-cc, afl-clang-fast, afl-clang-fast++, afl-analyze.
- Upload or compile a Linux ARM64 target; set executable=true on uploaded binaries. Instrumented mode needs a compatible AFL++ compiler runtime.
Inspect GET /v1/tools/aflplusplus for the current installed version and readiness. The published snapshot has 3 functional case(s), plus timeout and cancellation checks. These examples demonstrate the native path; other flags and inputs are supported within the tool’s runtime limits.