about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--REUSE.toml1
-rw-r--r--loftix/fuzzing.scm100
-rw-r--r--patches/evocatio-argv-fuzz-amd64-only.patch30
4 files changed, 0 insertions, 133 deletions
diff --git a/README.md b/README.md
index 6d36a61..ba544f5 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,6 @@ Then run `guix pull`.
 ### Fuzzing
 
 - [afl-dyninst]: [Dyninst] integration for [AFL++]
-- [evocatio]: Bug analyzer for bug capability discovery
 - [fuzzolic]: Concolic fuzzer
 
 ### Patching
@@ -45,7 +44,6 @@ Then run `guix pull`.
 [afl-dyninst]: https://trong.loang.net/~cnx/afl-dyninst/about
 [Dyninst]: https://github.com/dyninst/dyninst
 [AFL++]: https://aflplus.plus
-[evocatio]: https://github.com/HexHive/Evocatio
 [fuzzolic]: https://season-lab.github.io/fuzzolic
 [e9patch]: https://github.com/GJDuck/e9patch
 [python-pacfix]: https://github.com/hsh814/pacfix-python
diff --git a/REUSE.toml b/REUSE.toml
index dd7cd6f..ed41662 100644
--- a/REUSE.toml
+++ b/REUSE.toml
@@ -165,7 +165,6 @@ SPDX-License-Identifier = 'CC0-1.0'
 [[annotations]]
 path = [ 'patches/afl++-*.patch',
          'patches/e9patch-*.patch',
-         'patches/evocatio-*.patch',
          'patches/fuzzy-sat-*.patch',
          'patches/fuzzolic-install.patch',
          'patches/fuzzolic-python-package.patch',
diff --git a/loftix/fuzzing.scm b/loftix/fuzzing.scm
index ccbe247..b656f01 100644
--- a/loftix/fuzzing.scm
+++ b/loftix/fuzzing.scm
@@ -76,106 +76,6 @@
     (home-page "https://trong.loang.net/~cnx/afl-dyninst")
     (license (list license:agpl3+ license:asl2.0))))
 
-(define-public evocatio
-  (let ((commit "fc8f6dc5bbdf5f49cf1231e746a7944efa09dcc7")
-        (revision "0"))
-    (package
-      (inherit aflplusplus)
-      (name "evocatio")
-      (version (git-version "3.15a" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/HexHive/Evocatio")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "16kc2xa4dk9lq1sg7sl5489n7r3p8kc6hmfgy0gh7i1n6h269bry"))
-                (patches
-                 (search-patches
-                   "patches/evocatio-argv-fuzz-amd64-only.patch"))))
-      (arguments
-        (substitute-keyword-arguments (package-arguments aflplusplus)
-          ((#:make-flags make-flags)
-           #~(cons* "-C" "bug-severity-AFLplusplus"
-                    "CFLAGS=-O2 -g -fcommon"
-                    "NO_SPLICING=1"
-                    #$make-flags))
-          ((#:build-target _) "source-only")
-          ((#:modules modules %default-gnu-modules)
-           `((ice-9 string-fun) ,@modules))
-          ((#:phases phases)
-           #~(modify-phases #$phases
-               (replace 'patch-gcc-path
-                 (lambda* (#:key inputs #:allow-other-keys)
-                   ;; AFL++ is prefixed with bug-severity-AFLplusplus
-                   (substitute* "bug-severity-AFLplusplus/src/afl-cc.c"
-                     (("alt_cc = \"gcc\";")
-                      (format #f "alt_cc = \"~a\";"
-                              (search-input-file inputs "bin/gcc")))
-                     (("alt_cxx = \"g\\+\\+\";")
-                      (format #f "alt_cxx = \"~a\";"
-                              (search-input-file inputs "bin/g++"))))))
-               (add-after 'build 'build-argv-fuzzing
-                 (lambda* (#:key make-flags #:allow-other-keys)
-                   (apply invoke
-                     "make" "-C" "bug-severity-AFLplusplus/utils/argv_fuzzing"
-                     (cdddr make-flags))))
-               (add-after 'install 'install-argv-fuzzing
-                 (lambda* (#:key make-flags #:allow-other-keys)
-                   (apply invoke
-                     "make" "-C" "bug-severity-AFLplusplus/utils/argv_fuzzing"
-                     "install" (cdddr make-flags))))
-               (add-after 'install 'install-scripts
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((bin (string-append (assoc-ref outputs "out")
-                                             "/bin")))
-                     (for-each
-                       (lambda (script)
-                         (let ((file (string-append
-                                       bin "/evocatio-"
-                                       (string-replace-substring script
-                                         "_" "-"))))
-                           (copy-file (string-append "scripts/" script ".py")
-                                      file)
-                           (chmod file #o755)))
-                       '("calculate_severity_score"
-                         "gen_raw_data_for_cve")))))))))
-      (home-page "https://github.com/HexHive/Evocatio")
-      (description
-        "Evocatio is a bug analyzer built on top of AFL++ and AddressSanitizer.
-It automatically discovers a bug's capabilities: analyzing a crashing test case
-(i.e., an input exposing a bug) to understand the full extent
-of how an attacker can exploit a bug.
-
-Evocatio leverages a capability-guided fuzzer to efficiently uncover
-new bug capabilities (rather than only generating a single crashing test case
-for a given bug, as a traditional greybox fuzzer does)."))))
-
-(define (for-evocatio base)
-  (package
-    (inherit base)
-    (name (string-append (package-name base) "-for-evocatio"))
-    (arguments
-     (substitute-keyword-arguments (package-arguments base)
-       ((#:configure-flags flags #~'())
-        #~(cons (string-append "CC=" #$evocatio "/bin/afl-cc")
-                #$flags))
-       ((#:phases phases #~%standard-phases)
-        #~(modify-phases #$phases
-            (add-before 'configure 'set-env
-              (lambda _
-                (setenv "CC" #$(file-append evocatio "/bin/afl-cc"))
-                (setenv "AFL_USE_ASAN" "1")
-                (setenv "AFL_USE_UBSAN" "1")
-                (setenv "ASAN_OPTIONS" "detect_leaks=0")))))
-       ((#:tests? _ #f)
-        #f)))
-    (native-inputs
-      (modify-inputs (package-native-inputs base)
-        (append evocatio)))))
-
 (define-public fuzzolic-showmap
   (hidden-package
    (package
diff --git a/patches/evocatio-argv-fuzz-amd64-only.patch b/patches/evocatio-argv-fuzz-amd64-only.patch
deleted file mode 100644
index 7956f84..0000000
--- a/patches/evocatio-argv-fuzz-amd64-only.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/bug-severity-AFLplusplus/utils/argv_fuzzing/Makefile b/bug-severity-AFLplusplus/utils/argv_fuzzing/Makefile
-index 5a0ac6e609c0..20dcb5b9f57b 100644
---- a/bug-severity-AFLplusplus/utils/argv_fuzzing/Makefile
-+++ b/bug-severity-AFLplusplus/utils/argv_fuzzing/Makefile
-@@ -16,9 +16,10 @@
- PREFIX     ?= /usr/local
- BIN_PATH    = $(PREFIX)/bin
- HELPER_PATH = $(PREFIX)/lib/afl
-+INCLUDE_PATH = $(PREFIX)/include/afl
- 
--CFLAGS = -fPIC -Wall -Wextra
--LDFLAGS = -shared
-+CFLAGS += -fPIC -Wall -Wextra -D__x86_64__ -D__LP64__
-+LDFLAGS += -shared
- 
- UNAME_SAYS_LINUX=$(shell uname | grep -E '^Linux|^GNU' >/dev/null; echo $$?)
- UNAME_SAYS_LINUX:sh=uname | grep -E '^Linux|^GNU' >/dev/null; echo $$?
-@@ -47,9 +48,10 @@ argvfuzz32.so: argvfuzz.c
- 	-@$(CC) $(M32FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ 2>/dev/null || echo "argvfuzz32 build failure (that's fine)"
- 
- argvfuzz64.so: argvfuzz.c
--	-@$(CC) $(M64FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ 2>/dev/null || echo "argvfuzz64 build failure (that's fine)"
-+	$(CC) $(M64FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@
- 
--install: argvfuzz32.so argvfuzz64.so
-+install: argv-fuzz-inl.h argvfuzz32.so argvfuzz64.so
-+	install -Dm 755 argv-fuzz-inl.h $(DESTDIR)$(INCLUDE_PATH)/argv-fuzz-inl.h
- 	install -d -m 755 $(DESTDIR)$(HELPER_PATH)/
- 	if [ -f argvfuzz32.so ]; then set -e; install -m 755 argvfuzz32.so $(DESTDIR)$(HELPER_PATH)/; fi
- 	if [ -f argvfuzz64.so ]; then set -e; install -m 755 argvfuzz64.so $(DESTDIR)$(HELPER_PATH)/; fi