Configure Fuzzit

This commit is contained in:
Book Moons
2019-08-29 01:17:28 -04:00
committed by Andrea Spacca
parent 6b148d3574
commit 76f00c5d04
2 changed files with 53 additions and 0 deletions

38
fuzzit.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
set -xe
# Validate arguments
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <fuzz-type>"
exit 1
fi
if [ -z "$FUZZIT_API_KEY" ]; then
echo "Set FUZZIT_API_KEY to your Fuzzit API key"
exit 2
fi
# Configure
ROOT=./server
TYPE=$1
# Setup
export GO111MODULE="off"
go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build
go get -d -v -u ./...
if [ ! -f fuzzit ]; then
wget -q -O fuzzit https://github.com/fuzzitdev/fuzzit/releases/download/v2.4.29/fuzzit_Linux_x86_64
chmod a+x fuzzit
fi
# Fuzz
function fuzz {
FUNC=Fuzz$1
TARGET=$2
DIR=${3:-$ROOT}
go-fuzz-build -libfuzzer -func $FUNC -o fuzzer.a $DIR
clang -fsanitize=fuzzer fuzzer.a -o fuzzer
./fuzzit create job --type $TYPE $TARGET fuzzer
}
fuzz Profile profile
fuzz HTTP http
fuzz HTTPS https