You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 years ago | |
|---|---|---|
| .. | ||
| corpus-execute-command | 4 years ago | |
| Dockerfile | 4 years ago | |
| README | 4 years ago | |
| build.sh | 4 years ago | |
| execute-command.cc | 4 years ago | |
README
This directory contains source code and build scripts for coverage-guided
fuzzers.
Detailed instructions are available at:
https://github.com/google/oss-fuzz/blob/master/docs/
Quick start:
Build a container
$ docker build -t ossfuzz/tpm2 -f fuzz/Dockerfile .
Build fuzzers
$ docker run -ti --rm -v $(pwd):/src/tpm2 -v /tmp/fuzzers:/out \
ossfuzz/tpm2
Look in /tmp/fuzzers to see the executables. Run them like so:
$ docker run -ti -v $(pwd)/fuzz/corpus-execute-command:/corpus \
-v /tmp/fuzzers:/out ossfuzz/libfuzzer-runner \
/out/tpm2_execute_command_fuzzer /corpus -runs=100
To reproduce a crash under gdb:
Build a container
$ docker build -t ossfuzz/tpm2 -f fuzz/Dockerfile .
Build fuzzers
$ docker run -ti --rm -v $(pwd):/src/tpm2 -v /tmp/fuzzers:/out \
ossfuzz/tpm2
or
$ docker run -ti --rm -v $(pwd):/src/tpm2 -v /tmp/fuzzers:/out \
-e FUZZING_ENGINE=libfuzzer \
-e SANITIZER=<address/memory/undefined> \
ossfuzz/tpm2
Get a shell in the container
$ docker run -ti --privileged \
-v <crash_testcase>:/testcase \
-v /tmp/fuzzers:/out \
-v $(pwd):/src/tpm2 \
-t ossfuzz/libfuzzer-runner
In the container
# gdb /out/tpm2_execute_command_fuzzer
In gdb
(gdb) r /testcase