Tool integration

AFL++ Integration Guide

Coverage-guided fuzzer for C/C++: find crashes and convert them to findings

Get a Free API Key

Integrate AFL++ with Vulnetix. Fuzz C/C++ binaries to discover crashes, then convert crash artifacts to JSON findings for upload.

C / C++ / binary targetsCLI toolJSON

Install & scan

$ # Docker (recommended: all tooling pre-installed)
docker pull aflplusplus/aflplusplus
docker run -ti -v $(pwd):/src aflplusplus/aflplusplus
$ # Step 1: Compile target with AFL++ instrumentation
afl-clang-fast -o target_fuzz fuzz_target.c

# Step 2: Create seed corpus
mkdir seeds && echo "hello" > seeds/seed1.txt

# Step 3: Run fuzzer
AFL_FAST_CAL=1 afl-fuzz -i seeds -o out -- ./target_fuzz @@

# Crashes saved to: out/default/crashes/

Run AFL++ in CI

Scan on every push and upload the report as a workflow artifact:

- name: Build fuzz target
  run: |
    docker run --rm -v $(pwd):/src aflplusplus/aflplusplus       bash -c "cd /src && AFL_USE_ASAN=1 afl-clang-fast -o target_fuzz fuzz_target.c"

- name: Run fuzzer (60 seconds)
  run: |
    docker run --rm -v $(pwd):/src aflplusplus/aflplusplus       bash -c "timeout 60 afl-fuzz -i /src/seeds -o /src/out -- /src/target_fuzz @@ || true"

- name: Check for crashes
  run: ls out/default/crashes/ | grep "^id:" | wc -l

How Vulnetix compares: better together

Vulnetix does not replace AFL++. Keep running it. Vulnetix sits on top of AFL++ (and every other scanner you already own) turning disconnected tool outputs into one prioritised, fixable queue.

CapabilityVulnetixAFL++
Security coverage
SAST (static code analysis)Built-in rules + Semgrep augmentation
SCA / dependencies40+ ecosystems, transitive graph
DAST (dynamic testing)~ Ingests DAST results; no native dynamic engine
Container & imageImage CVEs, base image, Dockerfile
IaC / misconfigurationTerraform, k8s, CloudFormation
Secret scanning1,000+ rules, source + binary + git history
Cloud / CSPMCloud-posture findings, compliance tab
Mobile (MAST)~ Ingests mobile scanner output; no native mobile engine
License complianceSPDX, copyleft/AGPL/SSPL policy
SBOM generationCycloneDX 1.7 + SPDX 2.3, cosign-signable
Malware / supply-chainDe-duplicated corpus + install-time firewall (25+ registries)
Network / infra vuln~ Ingests network scanner output; no native network scanner
FuzzingIngests fuzzing crashes; no native fuzzerCoverage-guided C/C++ and binary-only fuzzer; core purpose of the tool.
Pentest / bug bountyIngests pentest/bug-bounty findings; not a testing service
The Vulnetix orchestration layer
Cross-scanner dedup & one queue (ASPM)Correlates every scanner into one prioritised queue with ownership routing
Exploit-intel prioritisationEPSS, CISA KEV, Coalition ESS, CWSS, Vulnetix LEV
Reachability analysisTree-sitter + CVEAffected; direct/transitive/semantic
Versioned VEX + audit trailImmutable OpenVEX/CycloneDX, cosign-signable
Safe Harbour autofixResolves + applies the nearest safe version
End-of-life policyFlags/blocks past-EOL runtimes & packages
SSVC / risk-based policySSVC v2 + CISA/FedRAMP/Essential-8 presets

✓ full · ~ partial · ✗ not covered

What AFL++ does well

Where Vulnetix adds to it: Vulnetix does not run fuzzing itself; it ingests and orchestrates AFL++ crash output alongside SAST/SCA/container/secrets results, deduplicating findings into one prioritised queue with EPSS/KEV/LEV exploit-intel, reachability, versioned VEX and Safe Harbour autofix. Better together: AFL++ discovers the runtime crashes, Vulnetix triages and tracks them.

No migration, no rip-and-replace. AFL++ keeps doing what it does best; Vulnetix adds the orchestration, exploit-intelligence prioritisation and remediation layer built for the way AppSec works today.

Centralise AFL++ results in Vulnetix

Upload AFL++ JSON output to the Vulnetix platform to deduplicate findings, prioritise them with EPSS, CISA KEV and Coalition ESS exploit intelligence, and track remediation across every scanner in a single queue.

AFL++ documentation ↗  ·  Source repository ↗

Wire AFL++ into your CI/CD pipeline →