Add package triforce-afl

Patched version of AFL that supports full-system fuzzing
using QEMU. The included QEMU has been updated to allow tracing
of branches when running a system emulator for x86_64.
Extra instructions have been added to start AFL's forkserver,
make fuzz settings, and mark the start and stop of test cases.
This commit is contained in:
coypu 2016-10-31 22:22:42 +02:00
parent 24674f2b85
commit 07c8f1e4af
6 changed files with 138 additions and 0 deletions

5
triforce-afl/DESCR Normal file
View file

@ -0,0 +1,5 @@
Patched version of AFL that supports full-system fuzzing
using QEMU. The included QEMU has been updated to allow tracing
of branches when running a system emulator for x86_64.
Extra instructions have been added to start AFL's forkserver,
make fuzz settings, and mark the start and stop of test cases.

29
triforce-afl/Makefile Normal file
View file

@ -0,0 +1,29 @@
# $NetBSD$
DISTNAME= ${GIT_COMMIT}
PKGNAME= TriforceAFL-0.0
CATEGORIES= wip
MASTER_SITES= https://github.com/nccgroup/TriforceAFL/archive/
GIT_COMMIT= 73ec279d5ee3aa84fd7e4e8c3818428d437d8fa7
MAINTAINER= INSERT_YOUR_MAIL_ADDRESS_HERE
HOMEPAGE= https://github.com/nccgroup/
COMMENT= TODO: Short description of the package
#LICENSE= # TODO: (see mk/license.mk)
EXTRACT_USING= gtar
WRKSRC= ${WRKDIR}/TriforceAFL-${GIT_COMMIT}
USE_TOOLS= gmake pkg-config makeinfo perl:build
# url2pkg-marker (please do not remove this line.)
.include "../../lang/python/pyversion.mk"
.include "../../devel/glib2/buildlink3.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/extension.mk"
.include "../../security/libgcrypt/buildlink3.mk"
.include "../../x11/pixman/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

78
triforce-afl/PLIST Normal file
View file

@ -0,0 +1,78 @@
@comment $NetBSD$
bin/afl-analyze
bin/afl-clang
bin/afl-clang++
bin/afl-cmin
bin/afl-fuzz
bin/afl-g++
bin/afl-gcc
bin/afl-gotcpu
bin/afl-plot
bin/afl-qemu-trace
bin/afl-showmap
bin/afl-tmin
bin/afl-whatsup
lib/afl/afl-as
lib/afl/as
share/afl/testcases/README.testcases
share/afl/testcases/_extras/gif.dict
share/afl/testcases/_extras/html_tags.dict
share/afl/testcases/_extras/jpeg.dict
share/afl/testcases/_extras/js.dict
share/afl/testcases/_extras/pdf.dict
share/afl/testcases/_extras/png.dict
share/afl/testcases/_extras/sql.dict
share/afl/testcases/_extras/tiff.dict
share/afl/testcases/_extras/webp.dict
share/afl/testcases/_extras/xml.dict
share/afl/testcases/archives/common/ar/small_archive.a
share/afl/testcases/archives/common/bzip2/small_archive.bz2
share/afl/testcases/archives/common/cab/small_archive.cab
share/afl/testcases/archives/common/compress/small_archive.Z
share/afl/testcases/archives/common/cpio/small_archive.cpio
share/afl/testcases/archives/common/gzip/small_archive.gz
share/afl/testcases/archives/common/lzo/small_archive.lzo
share/afl/testcases/archives/common/rar/small_archive.rar
share/afl/testcases/archives/common/tar/small_archive.tar
share/afl/testcases/archives/common/xz/small_archive.xz
share/afl/testcases/archives/common/zip/small_archive.zip
share/afl/testcases/archives/exotic/arj/small_archive.arj
share/afl/testcases/archives/exotic/lha/small_archive.lha
share/afl/testcases/archives/exotic/lrzip/small_archive.lrz
share/afl/testcases/archives/exotic/lzip/small_archive.lz
share/afl/testcases/archives/exotic/lzma/small_archive.lzma
share/afl/testcases/archives/exotic/rzip/small_archive.rz
share/afl/testcases/archives/exotic/zoo/small_archive.zoo
share/afl/testcases/images/bmp/not_kitty.bmp
share/afl/testcases/images/gif/not_kitty.gif
share/afl/testcases/images/ico/not_kitty.ico
share/afl/testcases/images/jp2/not_kitty.jp2
share/afl/testcases/images/jpeg/not_kitty.jpg
share/afl/testcases/images/jxr/not_kitty.jxr
share/afl/testcases/images/png/not_kitty.png
share/afl/testcases/images/png/not_kitty_alpha.png
share/afl/testcases/images/png/not_kitty_gamma.png
share/afl/testcases/images/png/not_kitty_icc.png
share/afl/testcases/images/tiff/not_kitty.tiff
share/afl/testcases/images/webp/not_kitty.webp
share/afl/testcases/multimedia/h264/small_movie.mp4
share/afl/testcases/others/elf/small_exec.elf
share/afl/testcases/others/js/small_script.js
share/afl/testcases/others/pcap/small_capture.pcap
share/afl/testcases/others/pdf/small.pdf
share/afl/testcases/others/rtf/small_document.rtf
share/afl/testcases/others/sql/simple_queries.sql
share/afl/testcases/others/text/hello_world.txt
share/afl/testcases/others/xml/small_document.xml
share/doc/afl/ChangeLog
share/doc/afl/QuickStartGuide.txt
share/doc/afl/README
share/doc/afl/env_variables.txt
share/doc/afl/historical_notes.txt
share/doc/afl/notes_for_asan.txt
share/doc/afl/parallel_fuzzing.txt
share/doc/afl/perf_tips.txt
share/doc/afl/sister_projects.txt
share/doc/afl/status_screen.txt
share/doc/afl/technical_details.txt
share/doc/afl/triforce_internals.txt

1
triforce-afl/TODO Normal file
View file

@ -0,0 +1 @@
- Usage

7
triforce-afl/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD$
SHA1 (73ec279d5ee3aa84fd7e4e8c3818428d437d8fa7.tar.gz) = 5228fa9167c63443baa9256d8d23459a10b7f47e
RMD160 (73ec279d5ee3aa84fd7e4e8c3818428d437d8fa7.tar.gz) = 810d7ccc3dcbba1dc009ff6757a10a427f24af59
SHA512 (73ec279d5ee3aa84fd7e4e8c3818428d437d8fa7.tar.gz) = a1670729a4f53451bc967c68c69e8632693c1f8bf1cb0f6d01fb1b810100786abf1a20dfe196696b5489623993c11188d82f4aa86fa1500f1a74f42e160bac3b
Size (73ec279d5ee3aa84fd7e4e8c3818428d437d8fa7.tar.gz) = 30380242 bytes
SHA1 (patch-qemu__mode_build__qemu__support.sh) = d05491b7c1e6ba20dd7a74880da6fb0b6c6ef346

View file

@ -0,0 +1,18 @@
$NetBSD$
--- qemu_mode/build_qemu_support.sh.orig 2016-10-19 19:08:17.000000000 +0000
+++ qemu_mode/build_qemu_support.sh
@@ -7,10 +7,10 @@ CPU_TARGET=x86_64
cd qemu
CFLAGS="-O3" ./configure --disable-werror \
- --enable-system --enable-linux-user \
+ --enable-system --enable-bsd-user \
--enable-guest-base --disable-gtk --disable-sdl --disable-vnc \
- --target-list="${CPU_TARGET}-linux-user ${CPU_TARGET}-softmmu"
+ --target-list="${CPU_TARGET}-bsd-user ${CPU_TARGET}-softmmu"
make
-cp -f "${CPU_TARGET}-linux-user/qemu-${CPU_TARGET}" "../../afl-qemu-trace"
+cp -f "${CPU_TARGET}-bsd-user/qemu-${CPU_TARGET}" "../../afl-qemu-trace"
cp -f "${CPU_TARGET}-softmmu/qemu-system-${CPU_TARGET}" "../../afl-qemu-system-trace"