awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
AFLplusplus avatar

AFLplusplus/AFLplusplus

0
View on GitHub↗
6,605 نجوم·1,298 تفرعات·C·AGPL-3.0·4 مشاهداتaflplus.plus↗

AFLplusplus

AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while tracking which code paths are exercised. It functions as both a fuzzing engine and a campaign manager, supporting targets with or without source code through compile-time instrumentation, dynamic binary instrumentation, and emulation. The framework includes tools for crash triage and analysis, test case minimization, and campaign deployment across local or distributed environments.

The framework distinguishes itself through its breadth of instrumentation backends, allowing users to fuzz binary-only targets via QEMU user-mode emulation, Frida runtime instrumentation, static binary rewriting, Unicorn emulation, or full-system emulation with KVM. For source-available programs, it inserts coverage-tracking code at compile time using LLVM or GCC plugins, with options for selective instrumentation, comparison-guided instrumentation, and LAF-INTEL byte-splitting. AFL++ also supports fuzzing Windows PE binaries through Wine and QEMU, shared libraries, network services, GUI programs, and structured data with custom mutators.

Beyond core fuzzing, AFL++ provides utilities for seed collection and deduplication, corpus minimization, crash exploration, and stability measurement. It integrates with continuous integration pipelines for short, randomized runs and supports multi-core scaling with one main and multiple secondary instances, as well as multi-machine synchronization for distributed campaigns. The framework can activate sanitizers during compilation and offers persistent-mode harnesses for increased throughput.

Features

  • Coverage-Guided Fuzzing - Drives programs with mutated inputs while tracking code coverage to discover crashes and hangs.
  • Fuzzing Campaign Managers - Deploys, monitors, and manages multiple fuzzer instances across local or distributed environments.
  • Edge-Coverage Bitmaps - Records control-flow edges into a compact bitmap to guide the fuzzer toward new code paths.
  • Coverage-Tracking Injections - Injects coverage-tracking hooks into closed-source binaries using QEMU, Frida, or Unicorn emulation.
  • Coverage-Guided Fuzzers - AFL++ guides users through setting up and running coverage-guided fuzzing on a target C or C++ application to discover bugs.
  • Coverage-Tracking Insertions - Inserts coverage-tracking code into binaries at compile time using LLVM or GCC plugins for fuzzing.
  • Instrumentation - Intercepts compiler invocations to insert coverage-tracking instrumentation into C/C++ programs for fuzzing.
  • Fuzz Target Compilation - Compiles target programs with a custom compiler to insert coverage-tracking instrumentation for fuzzing.
  • Binary Fuzzing - AFL++ drives a program with mutated inputs while tracking code coverage to discover crashes and hangs.
  • Binary-Only Fuzzing Frameworks - Applies dynamic binary instrumentation or emulation to fuzz programs without source code.
  • Emulation-Based Fuzzings - Runs coverage-guided fuzzing on compiled programs without source code using emulation techniques.
  • Source-Available Program Fuzzings - AFL++ compiles the target with a custom compiler and runs a coverage-guided fuzzer to find crashes and hangs.
  • Forkserver - Launches a single instrumented process that forks repeatedly to execute test cases efficiently.
  • Multi-Strategy Mutation Engines - Combines deterministic, havoc, and custom mutators with power schedules to maximize coverage.
  • Parallel Fuzzing Distributions - Distributes fuzzing campaigns across multiple machines to accelerate vulnerability discovery.
  • Fuzzing Test Case Transports - Passes input data between fuzzer and target through shared memory to reduce per-execution overhead.
  • Selective Instrumentations - Restricts coverage instrumentation to specified source files or functions, focusing fuzzing on relevant code.
  • Fuzzing Campaign Managers - Provides utilities for deploying, monitoring, and managing multiple fuzzer instances across environments.
  • Campaign Resumption & Seed Injections - AFL++ resumes a stopped fuzzing session or injects new seed files into an ongoing campaign without losing progress.
  • Network Service Fuzzings - AFL++ feeds mutated inputs to a remote service over a network protocol to discover crashes or hangs.
  • Fuzzer Instance Synchronizations - Coordinates multiple fuzzer instances by sharing coverage bitmaps and test case queues across processes.
  • Fuzzing - Emulates entire x86_64 systems using KVM and QEMU with snapshot support for binary-only fuzzing in a controlled environment.
  • Frida Fuzzing Instrumentations - Injects runtime instrumentation via Frida to fuzz binary-only targets on macOS and remote devices like iPhones or Android.
  • Comparison-Guided Instrumentations - AFL++ instruments the target to record comparison operands, allowing the fuzzer to solve constraints by placing observed values into input data.
  • Comparison Splitting Instrumentations - AFL++ splits integer, string, float, and switch comparisons into byte-by-byte checks so the fuzzer can solve them incrementally.
  • Mode Selectors - AFL++ chooses between LTO, LLVM, or GCC_PLUGIN compiler backends to balance instrumentation speed, coverage detail, and compatibility with the target's build system.
  • Language Sanitizers - Compiles targets with Address, Memory, Undefined Behavior, or other sanitizers to detect specific bug classes during fuzzing.
  • Grammar-Aware Input Generations - AFL++ generates inputs that follow a defined syntax so the fuzzer exercises structured parsers more effectively.
  • Sanitizer-Enhanced Fuzzings - AFL++ instruments the target with memory or behaviour sanitizers to catch deeper bugs like buffer overflows.
  • Static Binary Rewritings - Rewrites x86-64 or arm64 binaries statically to insert instrumentation for near-compiler-level fuzzing performance.
  • Unicorn Emulation Fuzzings - Emulates arbitrary non-Linux binaries using Unicorn with custom runtime scripts for loading and execution.
  • Binary Corpus Distillation - Removes seed files that do not add new coverage, reducing corpus bloat and speeding up fuzzing.
  • Library Fuzzings - Instruments dynamic libraries by writing a small harness and applying library-specific configuration through QEMU or Frida mode.
  • Windows Library Fuzzers for Linux - Emulates Win32 executables through Wine and QEMU to apply instrumentation for fuzzing Windows binaries on Linux.
  • Crash Reproduction - AFL++ feeds a saved crash input back to the target program to reproduce and debug the failure.
  • Crash Analysis Workflows - Automates the processing, minimization, and analysis of crashing inputs to reduce manual effort.
  • Delta Debugging Minimizations - Reduces crashing inputs to minimal forms using the ddmin delta debugging algorithm.
  • Execution Resource Limiters - AFL++ sets per-run memory limits and timeout values to prevent the target from hanging or exhausting system resources during fuzzing.
  • Seed File Minimizations - Shrinks each seed file to the smallest size that still exercises the same code path, improving fuzzing efficiency.
  • Code Coverage Analysis - Provides afl-showmap to report which control-flow edges in the target have been exercised by the current corpus.
  • Fuzzing Coverage Analyses - Generates source-based coverage reports from a fuzzing corpus to measure which code paths were exercised.
  • Fuzzing Persistent-Mode Harnesses - Writes custom harnesses that reuse a single process to call the target function repeatedly, dramatically increasing fuzzing throughput.
  • Continuous Fuzzing - Integrates with CI pipelines for short, randomized fuzzing runs using fast calibration and skipped startup calibration.
  • CI/CD Fuzzing Integrations - Configures fuzzing for short, randomized runs in continuous integration pipelines to test new code.
  • Data-Dependency Guided Mutations - AFL++ uses information about how input bytes flow through the program to guide mutation toward deeper code.
  • Structured Data Mutations - AFL++ defines input structure via protobuf or Superion and applies custom mutators to fuzz targets that expect structured data.
  • Test Case Minimization - Applies the ddmin algorithm to reduce test cases to their minimal form.
  • Fuzzing and Testing - Community-enhanced fuzzer with coverage support.
  • General Purpose Fuzzers - High-performance fuzzer with advanced mutation and instrumentation capabilities.
  • Security Tools - Fuzzer based on AFL with community-driven patches.

سجل النجوم

مخطط تاريخ النجوم لـ aflplusplus/aflplusplusمخطط تاريخ النجوم لـ aflplusplus/aflplusplus

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة aflplusplus/aflplusplus؟

AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while tracking which code paths are exercised. It functions as both a fuzzing engine and a campaign manager, supporting targets with or without source code through compile-time instrumentation, dynamic binary instrumentation, and emulation. The framework includes tools for crash triage and analysis, test case minimization, and campaign deployment across local or…

ما هي الميزات الرئيسية لـ aflplusplus/aflplusplus؟

الميزات الرئيسية لـ aflplusplus/aflplusplus هي: Coverage-Guided Fuzzing, Fuzzing Campaign Managers, Edge-Coverage Bitmaps, Coverage-Tracking Injections, Coverage-Guided Fuzzers, Coverage-Tracking Insertions, Instrumentation, Fuzz Target Compilation.

ما هي البدائل مفتوحة المصدر لـ aflplusplus/aflplusplus؟

تشمل البدائل مفتوحة المصدر لـ aflplusplus/aflplusplus: google/fuzzing — This project is a comprehensive software fuzzing knowledge base and technical guide designed for discovering software… google/clusterfuzz — ClusterFuzz is an automated platform that runs coverage-guided fuzzers at scale to find security and stability bugs in… google/afl — AFL is a coverage-guided fuzzer and security vulnerability scanner used to identify software bugs and memory… dvyukov/go-fuzz — go-fuzz is a coverage-guided randomized testing tool for identifying crashes and logic bugs in Go code. It consists of… antonio-morales/fuzzing101 — Fuzzing101 is an educational resource providing a structured curriculum and containerized security labs for learning… google/syzkaller — Syzkaller is an unsupervised, coverage-guided kernel fuzzer that automatically generates and mutates system call…

بدائل مفتوحة المصدر لـ AFLplusplus

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع AFLplusplus.
  • google/fuzzingالصورة الرمزية لـ google

    google/fuzzing

    3,772عرض على GitHub↗

    This project is a comprehensive software fuzzing knowledge base and technical guide designed for discovering software bugs and vulnerabilities. It serves as a resource for implementing coverage-guided, structure-aware, and hybrid fuzzing across various targets, including compiled binaries and hardware kernels. The resource provides specialized guidance on using grammars and defined data formats to generate syntactically valid inputs for complex APIs. It also details methods for combining grey-box fuzzing with symbolic execution to reach deep execution paths and utilizes binary instrumentation

    C++
    عرض على GitHub↗3,772
  • google/clusterfuzzالصورة الرمزية لـ google

    google/clusterfuzz

    5,574عرض على GitHub↗

    ClusterFuzz is an automated platform that runs coverage-guided fuzzers at scale to find security and stability bugs in software. It orchestrates libFuzzer and AFL++ across distributed clusters of worker bots, collecting coverage feedback to guide input mutation and discover crashes. The platform provides a web-based dashboard for configuring fuzzing jobs, monitoring progress, and inspecting crash reports, with role-based access control to restrict sensitive features. The system automates the full fuzzing lifecycle, from build pipeline integration and corpus management to crash triage and bug

    Pythonfuzzingsecuritystability
    عرض على GitHub↗5,574
  • google/aflالصورة الرمزية لـ google

    google/AFL

    4,064عرض على GitHub↗

    AFL is a coverage-guided fuzzer and security vulnerability scanner used to identify software bugs and memory corruption by feeding programs mutated data. It functions as a binary instrumentation tool and a test case minimizer to locate crashes and isolate the smallest set of bytes causing a fault. The project distinguishes itself through its ability to operate as a parallel fuzzing orchestrator, distributing workloads across multiple CPU cores or networked machines. It utilizes dictionary-based mutation for complex file formats and performs input sensitivity analysis to identify critical sect

    C
    عرض على GitHub↗4,064
  • dvyukov/go-fuzzالصورة الرمزية لـ dvyukov

    dvyukov/go-fuzz

    4,853عرض على GitHub↗

    go-fuzz is a coverage-guided randomized testing tool for identifying crashes and logic bugs in Go code. It consists of a fuzzer that evolves random inputs based on code execution paths, an instrumentation tool that produces binaries for tracking coverage, and a seed corpus manager. The tool utilizes compile-time binary instrumentation to monitor branch coverage and employs a feedback-driven mutation loop to prioritize inputs that reach new sections of the codebase. It includes capabilities for comparative differential testing to identify logic errors by executing different implementations of

    Go
    عرض على GitHub↗4,853
  • عرض جميع البدائل الـ 17 لـ AFLplusplus→