Native tooling · Fuzzing · Compression
AFL++ / paq8px compression fuzzing
A reproducible environment for applying coverage-guided fuzzing to a complex, stateful compression codebase.
- Project duration
- About five months, intermittently
- Period
- April–September 2025
- Role
- Build integration, fuzzing setup and debugging
Project outline
Making a difficult native target fuzzable
paq8px is a sophisticated C++ compression program with a large collection of context models and native build dependencies. I adapted the project into an AFL++ target and packaged the required toolchain into a repeatable environment.
Instrumentation and builds
The setup brings the compressor, its model components, CMake configuration and AFL++ instrumentation together in one build path. Containerisation keeps compiler and dependency versions consistent between runs.
Useful fuzzing runs
I added a seed corpus and worked through stability issues so generated cases could exercise the target without avoidable harness failures. Debugging tools remain available in the environment for reducing and investigating interesting results.
Media will be added once there is a concise demonstration that communicates the work better than a terminal screenshot.