diff mbox series

[bug#62666,1/2] gnu: Add aflplusplus.

Message ID 20230405012914.16778-1-GNUtoo@cyberdimension.org
State New
Headers show
Series [bug#62666,1/2] gnu: Add aflplusplus. | expand

Commit Message

Denis 'GNUtoo' Carikli April 5, 2023, 1:29 a.m. UTC
* gnu/packages/debug.scm (aflplusplus): New variable.
---
 gnu/packages/debug.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 154232ed50..88b8cb8b8b 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -460,6 +460,37 @@  (define-public qemu-for-american-fuzzy-lop
     ;; Several tests fail on MIPS.
     (supported-systems (delete "mips64el-linux" %supported-systems))))))
 
+(define-public aflplusplus
+  (package
+    (inherit american-fuzzy-lop)
+    (name "aflplusplus")
+    (version "4.05c")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/AFLplusplus/AFLplusplus")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0cl0bgvd2yy331zchjz5drcnadam6w0vfmwcq1jf285hw0x8b0bk"))))
+    (inputs (list qemu))
+    (home-page "https://aflplus.plus")
+    (description
+     "AFLplusplus is a security-oriented fuzzer that employs a novel type of
+compile-time instrumentation and genetic algorithms to automatically discover
+clean, interesting test cases that trigger new internal states in the targeted
+binary.  This substantially improves the functional coverage for the fuzzed
+code.  The compact synthesized corpora produced by the tool are also useful
+for seeding other, more labor- or resource-intensive testing regimes down the
+road.  It is a fork of American Fuzzy Lop fuzzer and compared to it:
+@itemize
+@item It Supports a more recent qemu version
+@item It supports more algorithms like collision-free coverage, enhanced
+laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode,
+etc.
+@end itemize")))
+
 (define-public stress-make
   (let ((commit "97815bed8060de33952475b3498767c91f59ffd9")
         (revision "2"))                 ;No official source distribution