| commit | f0314885bab1a4d9aa64eda51ba100b98aa360b0 | [log] [tgz] |
|---|---|---|
| author | Robert Swiecki <robert@swiecki.net> | Sun Jan 04 20:24:52 2026 +0100 |
| committer | Robert Swiecki <robert@swiecki.net> | Sun Jan 04 20:24:52 2026 +0100 |
| tree | d62a096ae22a1d8645a17c73910c8f5df176e81a | |
| parent | b5433dc87b036ec83e43908dcf93ce2e0f3b9b12 [diff] |
libhfuzz+linux/bfd: unify static and dynamic (cmp) dictionaries into one
A security-oriented, feedback-driven, evolutionary fuzzer.
Honggfuzz is a general-purpose fuzzer that uses code coverage (software and hardware-based) to find bugs. It is multi-process, multi-threaded, and supports persistent fuzzing for extreme speed.
ptrace) to detect hijacked signals and hidden crashes.Linux (Ubuntu/Debian)
sudo apt-get install binutils-dev libunwind-dev libblocksruntime-dev clang
macOS Requires Xcode (10.8+) and libblocksruntime.
make # Compilation wrappers are created in hfuzz_cc/
Use the provided compiler wrappers to automatically add instrumentation:
# C code ./hfuzz_cc/hfuzz-clang -o my_target my_target.c # C++ code ./hfuzz_cc/hfuzz-clang++ -o my_target my_target.cpp
Point it to an input corpus directory (can be empty) and your binary:
# Basic run ./honggfuzz -i input_dir/ -- ./my_target ___FILE___ # Persistent mode (faster) ./honggfuzz -P -i input_dir/ -- ./my_target
Note: ___FILE___ is a placeholder for the input filename generated by honggfuzz.
For advanced examples (Apache, OpenSSL, BIND, etc.), check the examples/ directory.
See USAGE.md for detailed options.
Honggfuzz has discovered major security vulnerabilities in critical software.
regex, h2, sleep-parser, lewton(See OSS-Fuzz for hundreds more)
honggfuzz-rs crate for fuzzing Rust code.Apache License 2.0.
This is NOT an official Google product