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.
sandy 99da0f2c72 pl286 release code 4 years ago
..
corpus-execute-command pl286 release code 4 years ago
Dockerfile pl286 release code 4 years ago
README pl286 release code 4 years ago
build.sh pl286 release code 4 years ago
execute-command.cc pl286 release code 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