8 # TODO: switch to latest versions when 2.6 release is out to include
9 # https://github.com/google/honggfuzz/commit/90fdf81006614664ef05e5e3c6f94d91610f11b2
10 , libbfd_2_38, libopcodes_2_38
14 stdenv.mkDerivation rec {
18 src = fetchFromGitHub {
22 sha256 = "sha256-TkyUKmiiSAfCnfQhSOUxuce6+dRyMmHy7vFK59jPIxM=";
26 substituteInPlace hfuzz_cc/hfuzz-cc.c \
27 --replace '"clang' '"${clang}/bin/clang'
30 enableParallelBuilding = true;
32 nativeBuildInputs = [ makeWrapper ];
33 buildInputs = [ llvm ];
34 propagatedBuildInputs = [ libbfd_2_38 libopcodes_2_38 libunwind libblocksruntime ];
36 makeFlags = [ "PREFIX=$(out)" ];
40 "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer";
42 Honggfuzz is a security oriented, feedback-driven, evolutionary,
43 easy-to-use fuzzer with interesting analysis options. It is
44 multi-process and multi-threaded, blazingly fast when the persistent
45 fuzzing mode is used and has a solid track record of uncovered security
48 Honggfuzz uses low-level interfaces to monitor processes and it will
49 discover and report hijacked/ignored signals from crashes. Feed it
50 a simple corpus directory (can even be empty for the feedback-driven
51 fuzzing), and it will work its way up, expanding it by utilizing
52 feedback-based coverage metrics.
54 homepage = "https://honggfuzz.dev/";
55 license = lib.licenses.asl20;
56 platforms = [ "x86_64-linux" ];
57 maintainers = with lib.maintainers; [ cpu chivay ];