summary refs log tree commit diff
path: root/pkgs/tools/security/honggfuzz
diff options
context:
space:
mode:
authorDaniel McCarney <daniel@binaryparadox.net>2020-06-14 11:41:19 -0400
committerAustin Seipp <aseipp@pobox.com>2020-07-07 23:01:08 -0500
commit9da69bcf22704d148fbb64a155a6fd0d0165ffd6 (patch)
tree89edcfba2ac1a28ce88fac8dd2cde8ab755a9c70 /pkgs/tools/security/honggfuzz
parent29cf4de2054b6d44fcba8a1b1a30257150c78ffa (diff)
downloadnixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar.gz
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar.bz2
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar.lz
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar.xz
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.tar.zst
nixpkgs-9da69bcf22704d148fbb64a155a6fd0d0165ffd6.zip
honggfuzz: init at 2.2
Honggfuzz is a security oriented, feedback-driven, evolutionary,
easy-to-use fuzzer with interesting analysis options. It is
multi-process and multi-threaded, blazingly fast when the persistent
fuzzing mode is used and has a solid track record of uncovered security
bugs.

See https://honggfuzz.dev for more information.
Diffstat (limited to 'pkgs/tools/security/honggfuzz')
-rw-r--r--pkgs/tools/security/honggfuzz/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/tools/security/honggfuzz/default.nix b/pkgs/tools/security/honggfuzz/default.nix
new file mode 100644
index 00000000000..ce86e117100
--- /dev/null
+++ b/pkgs/tools/security/honggfuzz/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, callPackage, makeWrapper
+, clang, llvm, libbfd, libopcodes, libunwind, libblocksruntime
+}:
+
+let
+  honggfuzz = stdenv.mkDerivation rec {
+    pname = "honggfuzz";
+    version = "2.2";
+
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = pname;
+      rev = "${version}";
+      sha256 = "0ycpx087mhv5s7w01chg2b6rfb3zgfpp9in0x73kpv7y4dcvg7gw";
+    };
+    enableParallelBuilding = true;
+
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ llvm ];
+    propagatedBuildInputs = [ libbfd libopcodes libunwind libblocksruntime ];
+
+    makeFlags = [ "PREFIX=$(out)" ];
+
+    meta = {
+      description = "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer";
+      longDescription = ''
+        Honggfuzz is a security oriented, feedback-driven, evolutionary,
+        easy-to-use fuzzer with interesting analysis options. It is
+        multi-process and multi-threaded, blazingly fast when the persistent
+        fuzzing mode is used and has a solid track record of uncovered security
+        bugs.
+
+        Honggfuzz uses low-level interfaces to monitor processes and it will
+        discover and report hijacked/ignored signals from crashes. Feed it
+        a simple corpus directory (can even be empty for the feedback-driven
+        fuzzing), and it will work its way up, expanding it by utilizing
+        feedback-based coverage metrics.
+      '';
+      homepage    = "https://honggfuzz.dev/";
+      license     = stdenv.lib.licenses.asl20;
+      platforms   = ["x86_64-linux"];
+      maintainers = with stdenv.lib.maintainers; [ cpu ];
+    };
+  };
+in honggfuzz