Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android Security
  3. Honggfuzz

Honggfuzz

Apache-2.0Coss-fuzz

A security-oriented, feedback-driven, evolutionary software fuzzer that uses hardware and software code coverage to find bugs.

Visit WebsiteGitHubGitHub
3.4k stars540 forks0 contributors

What is Honggfuzz?

Honggfuzz is a security-oriented software fuzzer that automatically generates malformed or unexpected inputs to test programs for crashes, memory corruption, and other vulnerabilities. It uses evolutionary, feedback-driven techniques based on hardware and software code coverage to efficiently explore code paths and discover bugs. The tool is designed for fuzzing a wide range of software, from web servers and cryptographic libraries to interpreters and media parsers.

Target Audience

Security researchers, software developers, and quality assurance engineers who need to perform rigorous security testing on native code, especially those working on critical infrastructure, open-source projects, or embedded systems.

Value Proposition

Developers choose Honggfuzz for its high performance, support for persistent fuzzing, and ability to leverage hardware-based code coverage for deeper bug discovery. Its ease of use, multi-platform support, and proven track record in finding major vulnerabilities in projects like OpenSSL and Apache make it a trusted tool in the fuzzing ecosystem.

Overview

Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)

Use Cases

Best For

  • Fuzzing native C/C++ applications for memory corruption vulnerabilities
  • Continuous security testing in CI/CD pipelines for open-source projects
  • Hardening web servers and network services like Apache and NGINX
  • Testing cryptographic libraries such as OpenSSL and LibreSSL
  • Fuzzing media parsers and format libraries (e.g., FreeType, LibTIFF)
  • Security research on operating system components and system utilities

Not Ideal For

  • Projects written primarily in managed languages like Java or C# without native JNI/FFI components
  • Teams needing out-of-the-box distributed fuzzing across cloud instances without manual orchestration
  • Environments lacking modern Intel CPUs with hardware tracing support (BTS/PT)
  • Simple fuzzing tasks where lighter, more general-purpose fuzzers like radamsa or basic AFL suffice

Pros & Cons

Pros

Extreme Performance

Multi-process and multi-threaded design with persistent fuzzing enables iteration speeds up to 1 million per second, as highlighted in the README for direct API testing.

Proven Bug Discovery

Has uncovered critical CVEs in major projects like OpenSSL (CVE-2016-6309) and Apache, demonstrating real-world effectiveness in security hardening.

Easy Onboarding

Can start fuzzing with an empty input corpus and automatically generate valid test cases, reducing initial setup complexity for new users.

Deep System Monitoring

Uses low-level APIs like ptrace to detect hijacked signals and hidden crashes, catching subtle memory corruption that other fuzzers might miss.

Cons

Compiler Lock-in

Requires clang and specific compiler wrappers (hfuzz-clang) for instrumentation, which can complicate integration with projects using GCC or other toolchains.

Limited to Native Code

Primarily optimized for C/C++; fuzzing interpreted languages like Python or Ruby requires targeting the interpreter directly, not leveraging all features efficiently.

Hardware Dependency

Full benefits of hardware-based code coverage depend on Intel BTS/PT, limiting effectiveness on older CPUs, ARM systems, or virtualized environments.

Frequently Asked Questions

Quick Stats

Stars3,399
Forks540
Contributors0
Open Issues28
Last commit27 days ago
CreatedSince 2015

Tags

#software-testing#vulnerability-discovery#fuzzing#android-security#c#security#multi-threaded#code-coverage#security-testing

Built With

C
Clang
C
C++

Links & Resources

Website

Included in

Android Security9.3k
Auto-fetched 1 day ago

Related Projects

Media Fuzzing Framework for AndroidMedia Fuzzing Framework for Android

Media Fuzzing Framework for Android

Stars335
Forks107
Last commit10 years ago
QuarksLab's Android FuzzingQuarksLab's Android Fuzzing

This project provides materials for performing greybox fuzzing on Android applications by leveraging AFL++ with Frida mode. It includes build configurations, example harnesses, and libraries to facilitate fuzzing of both native and JNI functions in Android environments. ## Key Features - **AFL++ Frida Mode for Android** — CMake configuration to build AFL++ Frida mode for Android 12 aarch64 - **Multiple Harness Examples** — Native, weakly linked JNI, and strongly linked JNI function harnesses for different fuzzing scenarios - **Java Environment Initialization** — jenv library to initialize Java environments from native harnesses - **Ready-to-Use Target** — Includes an Android application (APK) as a fuzzing target for testing - **Practical Implementation** — All materials are associated with a detailed blog post explaining the approach ## Philosophy The project emphasizes practical, reproducible Android fuzzing setups that bridge native code instrumentation with Java/JNI environments through Frida's dynamic instrumentation capabilities.

Stars143
Forks24
Last commit3 years ago
Radamsa FuzzerRadamsa Fuzzer

An Android port of radamsa fuzzer

Stars69
Forks20
Last commit6 years ago
An Android port of the Melkor ELF fuzzerAn Android port of the Melkor ELF fuzzer

An Android port of the melkor ELF fuzzer

Stars64
Forks11
Last commit12 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub