Add documentation about fuzzer execution environment.

This commit is contained in:
Oliver Chang 2016-11-07 13:08:44 -08:00
parent ff7e89f341
commit 9158c54199
3 changed files with 28 additions and 0 deletions

View File

@ -106,6 +106,8 @@ oss-fuzz will adhere to following disclosure principles:
*part of target* source code repository. *part of target* source code repository.
* [Running and Building External Fuzzers](docs/building_running_fuzzers_external.md) documents the process for fuzzers that are * [Running and Building External Fuzzers](docs/building_running_fuzzers_external.md) documents the process for fuzzers that are
*part of oss-fuzz* source code repository. *part of oss-fuzz* source code repository.
* [Fuzzer execution environment](docs/fuzzer_environment.md) documents the
environment under which your fuzzers will be run.
* [Targets List](targets/README.md) lists OSS targets added to oss-fuzz. * [Targets List](targets/README.md) lists OSS targets added to oss-fuzz.
* [Chrome's Efficient Fuzzer Guide](https://chromium.googlesource.com/chromium/src/testing/libfuzzer/+/HEAD/efficient_fuzzer.md) * [Chrome's Efficient Fuzzer Guide](https://chromium.googlesource.com/chromium/src/testing/libfuzzer/+/HEAD/efficient_fuzzer.md)
while contains some chrome-specifics, is an excellent documentation on making your fuzzer better. while contains some chrome-specifics, is an excellent documentation on making your fuzzer better.

View File

@ -0,0 +1,20 @@
# Fuzzer environment on ClusterFuzz
Your fuzzers will be run on ClusterFuzz (Linux environment) with some
restrictions.
## Current working directory
You cannot make any assumptions about the current working directory of your
fuzzer. If you need to load data files, please use `argv[0]` to get the
directory where your fuzzer executable is located. This may change in the near
future.
## Filesystem
Everything except `/tmp` is read-only, including the directory that your fuzzer
executable lives in. Note that `/tmp` is limited in size (64MB).
## Network access
There will be no network interfaces available (not even loopback).

View File

@ -72,6 +72,12 @@ There are [lots](../targets/libxml2/libxml2_xml_read_memory_fuzzer.cc)
[of](../targets/expat/parse_fuzzer.cc) [examples](../targets/zlib/zlib_uncompress_fuzzer.cc) [of](../targets/expat/parse_fuzzer.cc) [examples](../targets/zlib/zlib_uncompress_fuzzer.cc)
in this project repository. in this project repository.
### Fuzzer execution environment
[This page](fuzzer_environment.md) gives information about the environment that
your fuzzers will run under on ClusterFuzz, and the assumptions that you can
make.
## build.sh ## build.sh
This is where most of the work is done to build fuzzers for your target. The script will This is where most of the work is done to build fuzzers for your target. The script will