---
stable_id: skills/skills-sh-trailofbits-skills-aflpp
type: skills
title: skills-sh-trailofbits-skills-aflpp
summary: >-
  # Fuzzing with AFL++

  The following describes how to fuzz with a target if source code is available.

  If you have a binary-only target, go to

  [fuzzing_binary-only_targets.md](fuzzing_binary-only_targets.md).

  Fuzzing source code is a three-step process:

  1. Compile the target with a special compiler that prepares the target to be
     fuzzed efficiently. This step is called "instrumenting a target".
  2. Prepare the fuzzing by selecting and optimizing the input corpus for the
     target.
  3. Perform the fuzzing of the target by randomly mutating input and assessing
  if
tags:
  - skills-sh
  - skills-sh-all-time
source_url: https://raw.githubusercontent.com/AFLplusplus/AFLplusplus/refs/heads/stable/docs/fuzzing_in_depth.md
license: ""
upstream_ref: https://skills.sh/trailofbits/skills/aflpp
github_stars: 6326
github_forks: 1262
github_is_organization: true
retrieved_at: 2026-06-11T08:32:11.551Z
content_sha256: 5faddf23119d8f5147c97e3fc6e04cdb6f5c2a68ffb162b356608ed6e0c283e9
---
