Use afl++ in docs. (#5049)

This commit is contained in:
Abhishek Arya 2021-01-26 15:28:08 -08:00 committed by GitHub
parent 6fb0ce9366
commit 89603f367a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 13 deletions

View File

@ -112,9 +112,9 @@ Examples:
For some input types, a simple dictionary of tokens used by the input language
can have a dramatic impact on fuzzing efficiency. For example, when fuzzing an
XML parser, a dictionary of XML tokens is helpful. AFL has a
[collection](https://github.com/google/AFL/tree/master/dictionaries) of
dictionaries for popular data formats. Ideally, a dictionary should be
XML parser, a dictionary of XML tokens is helpful. AFL++ has a
[collection](https://github.com/AFLplusplus/AFLplusplus/tree/master/dictionaries)
of dictionaries for popular data formats. Ideally, a dictionary should be
maintained alongside the fuzz target, and it must use [correct
syntax](http://libfuzzer.info/#dictionaries).

View File

@ -172,11 +172,16 @@ new location [here]({{ site.baseurl }}/advanced-topics/corpora/#viewing-the-corp
## Does OSS-Fuzz support AFL or honggfuzz?
OSS-Fuzz *uses* both [AFL](https://lcamtuf.coredump.cx/afl/) and
[honggfuzz](https://github.com/google/honggfuzz)
[fuzzing engines]({{ site.baseurl }}/reference/glossary/#fuzzing-engine).
Follow the [ideal integration guide] and OSS-Fuzz will use all its fuzzing
engines on your code.
OSS-Fuzz *uses* the following
[fuzzing engines]({{ site.baseurl }}/reference/glossary/#fuzzing-engine):
1. [libFuzzer](https://llvm.org/docs/LibFuzzer.html).
1. [AFL++](https://github.com/AFLplusplus/AFLplusplus), an improved and
well-maintained version of [AFL](https://lcamtuf.coredump.cx/afl/).
1. [Honggfuzz](https://github.com/google/honggfuzz).
Follow the [new project guide] and OSS-Fuzz will use all its fuzzing engines
on your code.
## What are the specs on your machines?
@ -193,4 +198,5 @@ corpora generated by OSS-Fuzz. OSS-Fuzz infrastructure is fully open source
have no intent to restrict the use of the artifacts produced by OSS-Fuzz.
[ClusterFuzz]: https://github.com/google/clusterfuzz
[ideal integration guide]: {{ site.baseurl }}/advanced-topics/ideal-integration/
[new project guide]: {{ site.baseurl }}/getting-started/new-project-guide/
[ideal integration guide]: {{ site.baseurl }}/getting-started/new-project-guide/

View File

@ -240,7 +240,7 @@ If your project is written in Go, check out the [Integrating a Go project]({{ si
**Note:**
1. Don't assume the fuzzing engine is libFuzzer by default, because we generate builds for libFuzzer, AFL and Honggfuzz fuzzing engine configurations. Instead, link the fuzzing engine using $LIB_FUZZING_ENGINE.
1. Don't assume the fuzzing engine is libFuzzer by default, because we generate builds for libFuzzer, AFL++ and Honggfuzz fuzzing engine configurations. Instead, link the fuzzing engine using $LIB_FUZZING_ENGINE.
2. Make sure that the binary names for your [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) contain only
alphanumeric characters, underscore(_) or dash(-). Otherwise, they won't run on our infrastructure.
3. Don't remove source code files. They are needed for code coverage.

View File

@ -28,12 +28,12 @@ combining modern fuzzing techniques with scalable, distributed execution.
[Core Infrastructure Initiative]: https://www.coreinfrastructure.org/
[OpenSSF]: https://www.openssf.org/
We support the [libFuzzer], [AFL], and [Honggfuzz] fuzzing engines in
We support the [libFuzzer], [AFL++], and [Honggfuzz] fuzzing engines in
combination with [Sanitizers], as well as [ClusterFuzz], a distributed fuzzer
execution environment and reporting tool.
[libFuzzer]: https://llvm.org/docs/LibFuzzer.html
[AFL]: https://lcamtuf.coredump.cx/afl/
[AFL++]: https://github.com/AFLplusplus/AFLplusplus
[Honggfuzz]: https://github.com/google/honggfuzz
[Sanitizers]: https://github.com/google/sanitizers
[ClusterFuzz]: https://github.com/google/clusterfuzz

View File

@ -15,7 +15,7 @@
#
################################################################################
echo -n "Compiling afl to $LIB_FUZZING_ENGINE ..."
echo "Compiling afl driver to $LIB_FUZZING_ENGINE"
# afl needs its special coverage flags
export COVERAGE_FLAGS="-fsanitize-coverage=trace-pc-guard"
@ -29,6 +29,8 @@ ar r $LIB_FUZZING_ENGINE $WORK/afl/*.o
popd > /dev/null
rm -rf $WORK/afl
echo "Compiling afl++"
# Build and copy afl++ tools necessary for fuzzing.
pushd $SRC/aflplusplus > /dev/null