diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6d5588ed9..4afeceebb3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -208,6 +208,15 @@ jobs: with: name: build-artifacts path: artifacts + aflpp: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - run: src/ci/aflpp.sh + - uses: actions/upload-artifact@v2.1.4 + with: + name: build-artifacts + path: artifacts radamsa-linux: runs-on: ubuntu-18.04 steps: diff --git a/docs/tasks.md b/docs/tasks.md index 68a749c12f..e00cb1c638 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -56,7 +56,7 @@ include: * supervisor_env: User specified environment variables for the supervisor * supervisor_options: User specified command line options for the supervisor * supervisor_input_marker: Marker to specify the path to the filename for - supervisors (Example: for AFL, this should be '@@') + supervisors (Example: for AFL and AFL++, this should be '@@') * stats_file: Path to the fuzzer's stats file * stats_format: Format of the fuzzer's stats file * input_queue_from_container: Container name to monitor for new changes. diff --git a/docs/upgrading.md b/docs/upgrading.md index feeb939759..b1f35e941c 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -22,8 +22,9 @@ Users should take care over the following items: * radamsa-linux * radamsa-windows * afl-linux + * aflpp-linux 1. Any jobs deployed during the upgrade process may temporarily fail to be submitted. The CLI will automatic retry to submit jobs that fail due error codes known to happen during the service upgrade procedure. If this behavior is - undesired, please pause submission of jobs during the upgrade process. \ No newline at end of file + undesired, please pause submission of jobs during the upgrade process. diff --git a/src/ci/aflpp.sh b/src/ci/aflpp.sh new file mode 100755 index 0000000000..3f9ec7e82f --- /dev/null +++ b/src/ci/aflpp.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +mkdir -p artifacts/third-party/aflpp-linux + +sudo apt-get install -y llvm llvm-dev clang + +git clone https://github.com/AFLplusplus/AFLplusplus +cd AFLplusplus +# checkout v2.68c +git checkout ee206da3897fd2d9f72206c3c5ea0e3fab109001 +make +(test -d llvm_mode && cd llvm_mode && make) +#(test -d gcc_plugin && cd gcc_plugin && make) +(cd libdislocator && make) +(cd examples/aflpp_driver && make) + +cp -rf afl-* *.so *.a *.o dictionaries LICENSE ../artifacts/third-party/aflpp-linux