Skip to content

MCFuzz v1.0.1 -- Stabilized Evaluator Image

Choose a tag to compare

@blsdncn blsdncn released this 09 May 03:45
· 6 commits to main since this release

Drop-in replacement for the v1.0.0 ready image. Targets, fuzzing campaigns, and collected data are unchanged. This release only smooths over rough edges in the evaluator workflow.

Note: The image is very large, make sure you have at least 6 GB of disk space for the tarball and the uncompressed docker image.

What changed since v1.0.0

The previous ready image baked in the AFLNet-side dependencies, but the Jazzer/JaCoCo path still did a gradle test-class build and pulled the JaCoCo agent from Maven Central on its first run inside the container. That first run was fragile (network hiccups, gradle plugin quirks) and could leave evaluators staring at an empty jacoco.exec. v1.0.1 fixes this by making the velocity-jazzer-integration test classes and the JaCoCo agent + CLI jars baked into the image, and the JaCoCo agent is attached to the inner Jazzer JVM via an explicit -javaagent: flag instead of JAVA_TOOL_OPTIONS (which was getting dropped during Jazzer's launcher -> driver JVM handoff). Net effect: a fresh container produces non-empty coverage on the first invocation, with no internet access required.

The README docker-run examples were also corrected: TIME_LIMIT=30 must be passed with -e, not as a positional argument after the image name.

Quickstart

Download and load the image:

sha256sum -c mcfuzz-aflnet-experiment-ready-*.tar.gz.sha256
gunzip -c mcfuzz-aflnet-experiment-ready-*.tar.gz | docker load

Run smoke tests:

# AFLNet
docker run --rm -v "$PWD/campaign-runs:/work/campaign-runs" mcfuzz-aflnet-experiment:ready make smoke-aflnet

# Jazzer (stateful)
docker run --rm -e TIME_LIMIT=30 -v "$PWD/jazzer-outputs:/work/velocity-jazzer-integration/build/jazzer-jacoco-feasibility" mcfuzz-aflnet-experiment:ready make smoke-jazzer-stateful

# Jazzer (stateless)
docker run --rm -e TIME_LIMIT=30 -v "$PWD/jazzer-outputs:/work/velocity-jazzer-integration/build/jazzer-jacoco-feasibility" mcfuzz-aflnet-experiment:ready make smoke-jazzer-stateless

See README.md for full documentation.