awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/fuzzingArchived

0
View on GitHub↗
3,772 Stars·448 Forks·C++·Apache-2.0·5 Aufrufe

Fuzzing

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 to identify memory safety issues and undefined behavior.

The documentation covers the full lifecycle of vulnerability discovery, including identifying high-risk targets, building fuzz targets, and integrating continuous fuzzing into CI pipelines. It further addresses operational concerns such as measuring code coverage, triaging crashes, and minimizing test cases to isolate unique bugs.

This repository functions as a technical reference and manual for applying automated input mutation and binary analysis to ensure software correctness.

Features

  • Fuzzing Knowledge Bases - Provides a comprehensive collection of tutorials and research resources for finding software bugs through automated input mutation and coverage analysis.
  • Coverage-Guided Fuzzing - Implements coverage-guided fuzzing mechanisms that use executed code paths to drive input mutations.
  • Corpus Management - Details how to maintain and organize seed corpora to maximize the discovery of new code paths.
  • Memory Safety Diagnostics - Guides the use of binary instrumentation to detect buffer overflows and uninitialized memory reads.
  • Binary Instrumentation - Utilizes binary instrumentation to track memory safety and program flow in compiled executables without source code.
  • Fuzz Target Compilation - Explains how to compile source code with the specific instrumentation required to create executable fuzz targets.
  • Undefined Behavior Detection - Details the use of instrumentation to trap and identify operations that violate language specifications.
  • Memory and Concurrency Error Detection - Combines instrumentation and mutated data to discover memory leaks, overflows, and other critical programming errors.
  • Attack Surface Analysis - Provides guidance on finding high-risk entry points exposed to untrusted user input or network traffic.
  • Binary-Only Fuzzing Frameworks - Offers frameworks for performing coverage-guided fuzzing on binaries using emulation or static rewriting.
  • Emulation-Based Fuzzings - Provides technical guidance on performing coverage-guided fuzzing on compiled binaries without access to source code.
  • Grammar-Aware Input Generations - Implements grammar-aware input generation to exercise structured parsers more effectively.
  • Fuzzing Implementation Guides - Provides a technical reference for implementing structure-aware, hybrid, and continuous fuzzing.
  • Corpus Seeding - Guides the maintenance of a representative seed corpus to maximize code coverage and provide a baseline for mutation.
  • Vulnerability Discovery Methods - Provides a comprehensive guide for discovering memory safety bugs and undefined behavior in software.
  • Crash Triage and Minimization - Provides methods for triaging crashes, minimizing test cases, and optimizing fuzz targets to identify security flaws.
  • Memory Error Detection - Provides techniques to identify use-after-free and other memory corruption bugs using binary analysis.
  • Structure-Aware Mutation - Explains how to use dictionaries and structure-aware logic to navigate and mutate complex serialized or encrypted data formats.
  • Crash Deduplication and Triaging - Details processes for deduplicating crash reports and triaging findings to identify unique vulnerabilities.
  • Input Mutation Strategies - Describes techniques for transforming existing test cases into mutated versions to uncover new program behaviors.
  • Fuzzing Coverage Analyses - Details methods for analyzing control flow edges to identify and reach new execution paths during fuzzing.
  • Continuous Fuzzing - Provides guidance on implementing continuous fuzzing loops to detect vulnerabilities as software evolves.
  • CI/CD Fuzzing Integrations - Provides a framework for integrating fuzz targets into automated CI pipelines to detect regressions in every build.
  • Fuzzing Instrumentation - Guides the creation of instrumented binaries and harness functions that accept byte arrays for fuzzing.
  • Structured Data Mutations - Implements structure-aware mutation to fuzz complex data formats while preserving the required internal schema.
  • Unit Fuzz Targets - Provides a methodology for writing simple, deterministic fuzz targets that target specific API functions.
  • General Bug Detection - Describes using sanitizers and dynamic testing tools to identify memory errors and undefined behavior at runtime.
  • Grammar-Based Generation - Provides methods for generating syntactically valid test cases based on formal grammars.
  • Test Case Generators - Provides guidance on using structural rules and grammars to automatically generate test cases from scratch.
  • Structure-Aware Fuzzers - Create fuzzers that understand specific data formats to explore deep code paths more effectively.
  • Kernel Fuzzing Tools - Provides specialized frameworks for performing coverage-guided fuzzing on operating system kernels and firmware.
  • Fuzzing Curricula - Provides structured educational paths for learning automated software fuzzing and vulnerability discovery.
  • Technical Reference Guides - Serves as a technical reference for identifying memory safety issues and undefined behavior using binary instrumentation and crash triage.
  • Stateful API Fuzzing - Provides guidance on fuzzing stateful APIs by executing structured call traces to test state-dependent logic.
  • Binary Analysis Guides - Functions as a detailed manual for using binary emulation and instrumentation to detect vulnerabilities.
  • Symbolic Execution Fuzzings - Combines grey-box fuzzing with symbolic execution to solve complex constraints and reach deep execution paths.
  • Distributed Fuzzing Clusters - Details how to scale coverage-guided fuzzing across large clusters of machines to accelerate bug discovery.
  • Dictionary-Based Mutations - Demonstrates how to use predefined dictionaries of tokens to bypass complex validation checks in target applications.
  • Input Stream Splitting - Provides methods for dividing a single stream of fuzzed data into multiple sub-inputs using separators or offsets.
  • API Target Decomposition - Explains how to decompose massive APIs into smaller targets to accelerate the discovery of vulnerabilities.
  • Behavioral Equivalence Checkers - Details the use of behavioral equivalence checking to ensure different protocol implementations produce identical results.
  • Code Coverage Analysis - Provides guidance on measuring and reporting the extent of binary execution via instrumentation blocks.
  • Differential Testing - Describes differential testing techniques that compare multiple implementations to identify logic bugs via behavioral divergence.
  • Cross-Implementation Parity Verifiers - Describes comparing different implementations of the same spec to detect logic bugs through behavioral divergence.
  • Fuzzing Speed Optimizations - Offers strategies to increase fuzzing execution rates by optimizing memory, threads, and instrumentation.
  • IDL-Based Input Generation - Ships methods for mapping complex input grammars to intermediate formats like Protocol Buffers for high-coverage testing.
  • Test Case Minimization - Details techniques for reducing crashing inputs to the smallest possible byte sequence for faster bug isolation.
  • Wordlists - Resources and wordlists for fuzzing applications.
  • Research and Examples - Official Google resources and examples for fuzzing.
  • Wordlists and Payloads - Resources and tutorials for learning about fuzzing.

Star-Verlauf

Star-Verlauf für google/fuzzingStar-Verlauf für google/fuzzing

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Fuzzing

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Fuzzing.
  • aflplusplus/aflplusplusAvatar von AFLplusplus

    AFLplusplus/AFLplusplus

    6,605Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗6,605
  • google/clusterfuzzAvatar von google

    google/clusterfuzz

    5,574Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,574
  • dvyukov/go-fuzzAvatar von dvyukov

    dvyukov/go-fuzz

    4,853Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,853
  • google/oss-fuzzAvatar von google

    google/oss-fuzz

    12,353Auf GitHub ansehen↗

    OSS-Fuzz is a distributed, containerized platform for continuous fuzzing and memory safety analysis. It functions as a bug hunting infrastructure that identifies security vulnerabilities and stability bugs through automated, coverage-guided fuzz testing across a scalable cluster of containers. The system provides a continuous security testing pipeline that manages the entire lifecycle of vulnerability discovery, from bootstrapping project templates and compiling targets to executing long-running batch tests. It specifically focuses on memory safety, utilizing sanitizers to detect buffer overf

    Shell
    Auf GitHub ansehen↗12,353
Alle 30 Alternativen zu Fuzzing anzeigen→

Häufig gestellte Fragen

Was macht google/fuzzing?

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.

Was sind die Hauptfunktionen von google/fuzzing?

Die Hauptfunktionen von google/fuzzing sind: Fuzzing Knowledge Bases, Coverage-Guided Fuzzing, Corpus Management, Memory Safety Diagnostics, Binary Instrumentation, Fuzz Target Compilation, Undefined Behavior Detection, Memory and Concurrency Error Detection.

Welche Open-Source-Alternativen gibt es zu google/fuzzing?

Open-Source-Alternativen zu google/fuzzing sind unter anderem: aflplusplus/aflplusplus — AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while… 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/oss-fuzz — OSS-Fuzz is a distributed, containerized platform for continuous fuzzing and memory safety analysis. It functions as a… google/afl — AFL is a coverage-guided fuzzer and security vulnerability scanner used to identify software bugs and memory… google/sanitizers — This project is a suite of runtime diagnostic tools designed to detect memory leaks, concurrency races, and…