mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-06 06:30:19 +00:00
New port: security/afl
American fuzzy lop is a 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. WWW: http://lcamtuf.coredump.cx/afl/ PR: 195279 Submitted by: Fabian Keil <fk@fabiankeil.de>
This commit is contained in:
parent
70e3ccac66
commit
0db625f010
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=373056
@ -9,6 +9,7 @@
|
||||
SUBDIR += R-cran-digest
|
||||
SUBDIR += aescrypt
|
||||
SUBDIR += aespipe
|
||||
SUBDIR += afl
|
||||
SUBDIR += afterglow
|
||||
SUBDIR += aide
|
||||
SUBDIR += aimsniff
|
||||
|
56
security/afl/Makefile
Normal file
56
security/afl/Makefile
Normal file
@ -0,0 +1,56 @@
|
||||
# Created by: Fabian Keil <fk@fabiankeil.de>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= afl
|
||||
PORTVERSION= 0.61b
|
||||
CATEGORIES= security
|
||||
MASTER_SITES= http://lcamtuf.coredump.cx/afl/releases/
|
||||
|
||||
MAINTAINER= fk@fabiankeil.de
|
||||
COMMENT= Fast instrumented fuzzer
|
||||
|
||||
USES= compiler gmake tar:tgz
|
||||
|
||||
OPTIONS_DEFINE= DEBUG DOCS TEST_INSTRUMENTATION
|
||||
TEST_INSTRUMENTATION_DESC= Execute tests expected to fail in jails
|
||||
OPTIONS_DEFAULT= DOCS
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386
|
||||
ONLY_FOR_ARCHS_REASON= Uses binary instrumentation
|
||||
|
||||
# XXX replace with bsd.port.options.mk once 8.4-RELEASE is EOL
|
||||
# COMPILER_TYPE is defined in .pre without /usr/share/mk/bsd.compiler.mk
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if (${COMPILER_TYPE} == "clang" && ${ARCH} == "i386")
|
||||
# Clang i386 emits .cfi_sections which base as(1) doesn't understand
|
||||
BUILD_DEPENDS += ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
|
||||
RUN_DEPENDS += ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
.if ! ${PORT_OPTIONS:MTEST_INSTRUMENTATION}
|
||||
# afl needs shmget() which usually isn't available in jails. Disabling
|
||||
# the instrumentation tests makes sure building packages in jails works
|
||||
# by default anyway.
|
||||
${REINPLACE_CMD} -e 's@^\(all.*\) test_build@\1@' ${WRKSRC}/Makefile
|
||||
.endif
|
||||
${REINPLACE_CMD} -e 's@ -O3@@; s@ -g@@' \
|
||||
-e 's@install -m 755@${INSTALL_PROGRAM}@' \
|
||||
${WRKSRC}/Makefile
|
||||
.if (${COMPILER_TYPE} == "clang" && ${ARCH} == "i386")
|
||||
${REINPLACE_CMD} -e 's@\( as_params\[0\] = "\)@\1${LOCALBASE}/bin/@' \
|
||||
${WRKSRC}/afl-as.c
|
||||
.endif
|
||||
# XXX remove once 8.4-RELEASE is EOL
|
||||
# GNU as 2.15 doesn't understand lahf/sahf on amd64
|
||||
${REINPLACE_CMD} -e 's@ifdef.*\(__OpenBSD__\)@if defined(\1) || \
|
||||
(defined(__FreeBSD__) \&\& __FreeBSD__ < 9)@' \
|
||||
${WRKSRC}/afl-as.h
|
||||
|
||||
post-install:
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
${INSTALL_DATA} ${WRKSRC}/docs/COPYING ${STAGEDIR}${DOCSDIR}/
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
2
security/afl/distinfo
Normal file
2
security/afl/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (afl-0.61b.tgz) = 6f0613c4568bb24f43c8672c351a7205c41836f0d6def9ce98b75aca119d3a1e
|
||||
SIZE (afl-0.61b.tgz) = 678234
|
7
security/afl/pkg-descr
Normal file
7
security/afl/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
||||
American fuzzy lop is a 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.
|
||||
|
||||
WWW: http://lcamtuf.coredump.cx/afl/
|
38
security/afl/pkg-plist
Normal file
38
security/afl/pkg-plist
Normal file
@ -0,0 +1,38 @@
|
||||
%%PORTDOCS%%%%DOCSDIR%%/COPYING
|
||||
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README
|
||||
%%PORTDOCS%%%%DOCSDIR%%/current_todo.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/env_variables.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/notes_for_asan.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/parallel_fuzzing.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/perf_tips.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/related_work.txt
|
||||
%%PORTDOCS%%%%DOCSDIR%%/status_screen.txt
|
||||
bin/afl-clang
|
||||
bin/afl-clang++
|
||||
bin/afl-fuzz
|
||||
bin/afl-g++
|
||||
bin/afl-gcc
|
||||
bin/afl-showmap
|
||||
lib/afl/afl-as
|
||||
lib/afl/as
|
||||
share/afl/archives/gzip/small_archive.gz
|
||||
share/afl/archives/lzo/small_achive.lzo
|
||||
share/afl/archives/tar/small_archive.tar
|
||||
share/afl/archives/xz/small_archive.xz
|
||||
share/afl/archives/zip/small_archive.zip
|
||||
share/afl/images/bmp/hello_kitty.bmp
|
||||
share/afl/images/gif/hello_kitty.gif
|
||||
share/afl/images/ico/hello_kitty.ico
|
||||
share/afl/images/jp2/hello_kitty.jp2
|
||||
share/afl/images/jpeg/hello_kitty.jpg
|
||||
share/afl/images/png/hello_kitty.png
|
||||
share/afl/images/tiff/hello_kitty.tif
|
||||
share/afl/images/webp/hello_kitty_lossless.webp
|
||||
share/afl/multimedia/h264/small_movie.mp4
|
||||
share/afl/others/elf/small_exec.elf
|
||||
share/afl/others/hello/hello.txt
|
||||
share/afl/others/pcap/small_capture.pcap
|
||||
share/afl/others/rtf/small_document.rtf
|
||||
share/afl/others/xml/small_document.xml
|
||||
share/afl/wishlist.txt
|
Loading…
Reference in New Issue
Block a user