awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/AFLArchived

0
View on GitHub↗
4,064 星标·668 分支·C·apache-2.0·5 次浏览lcamtuf.coredump.cx/afl↗

AFL

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 sections of input files.

Its broader capabilities include binary and source code instrumentation for tracking execution paths, as well as crash path exploration to determine if faults are exploitable. The system provides automated software testing via binary fuzzing and a crash analysis workflow to simplify vulnerability debugging.

Features

  • Coverage-Guided Fuzzing - Implements a core engine that discovers vulnerabilities by mutating inputs based on observed code coverage.
  • Coverage-Guided Mutation - Generates new test inputs by mutating existing seeds and keeping those that increase observed code coverage.
  • General Purpose Fuzzers - Finds software bugs by mutating inputs based on the code paths executed during program runs.
  • Binary Analysis - Tracks execution paths of black-box binaries using emulation to find memory bugs without original source code.
  • Security Vulnerability Scanners - Finds software bugs and security flaws by generating and mutating test inputs based on observed code coverage.
  • User-Mode Emulation - Monitors execution paths of pre-compiled binaries by running them through an emulator to intercept instructions.
  • Binary Instrumentation - Tracks execution paths in compiled binaries using emulation to monitor behavior without source code.
  • Binary Fuzzing - Provides the ability to execute target binaries with mutated inputs to trigger crashes and memory bugs.
  • Fuzz Testing - Executes programs with mutated inputs to trigger crashes and identify faults through coverage-guided fuzzing.
  • Test Case Minimizers - Reduces crashing test cases by iteratively removing bytes while ensuring the crash still occurs.
  • Parallel Fuzzing Distributions - Spreads fuzzing workloads across multiple CPU cores or networked machines to accelerate discovery.
  • Code Instrumentation Utilities - Injects coverage tracking into programs during compilation by replacing the standard C or C++ compiler.
  • Corpus Management - Organizes seed inputs in a queue to prioritize the mutation of inputs that explore new or rare code paths.
  • Shared-Memory Coverage Bitmaps - Tracks code execution paths using a globally accessible bit-map that records which basic blocks were visited.
  • Compiler-Based Instrumentation - Inserts tracking code into binaries during compilation by replacing the standard compiler toolchain.
  • Dictionary-Based Mutations - Improves mutation efficiency for complex file formats by using specific keywords or magic tokens as seeds.
  • Crash Analysis Workflows - Reduces crashing input files to their smallest form and enumerates reachable paths to simplify vulnerability debugging.
  • Crash Path Analysis - Enumerates reachable code paths that maintain a crashing state to determine if a fault is exploitable.
  • Test Case Minimization - Reduces crashing input files to their smallest form while preserving the execution path to simplify debugging.
  • Security Tools - Free software fuzzer for security testing.

Star 历史

google/afl 的 Star 历史图表google/afl 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

AFL 的开源替代方案

相似的开源项目,按与 AFL 的功能重合度排序。
  • aflplusplus/aflplusplusAFLplusplus 的头像

    AFLplusplus/AFLplusplus

    6,605在 GitHub 上查看↗

    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

    C
    在 GitHub 上查看↗6,605
  • google/fuzzinggoogle 的头像

    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/clusterfuzzgoogle 的头像

    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
  • dvyukov/go-fuzzdvyukov 的头像

    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
查看 AFL 的所有 30 个替代方案→

常见问题解答

google/afl 是做什么的?

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.

google/afl 的主要功能有哪些?

google/afl 的主要功能包括:Coverage-Guided Fuzzing, Coverage-Guided Mutation, General Purpose Fuzzers, Binary Analysis, Security Vulnerability Scanners, User-Mode Emulation, Binary Instrumentation, Binary Fuzzing。

google/afl 有哪些开源替代品?

google/afl 的开源替代品包括: aflplusplus/aflplusplus — AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while… 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… dvyukov/go-fuzz — go-fuzz is a coverage-guided randomized testing tool for identifying crashes and logic bugs in Go code. It consists of… google/syzkaller — Syzkaller is an unsupervised, coverage-guided kernel fuzzer that automatically generates and mutates system call… schemathesis/schemathesis — Schemathesis is a property-based testing tool and fuzzer for schema-based APIs. It analyzes OpenAPI and JSON Schema…