oss-fuzz/docs/corpora.md

36 lines
1.8 KiB
Markdown
Raw Normal View History

2016-12-06 19:59:46 +00:00
# Accessing Corpora
2016-12-06 21:14:35 +00:00
If you would like to access the corpora that we are using for your fuzz targets (synthesized by the fuzzing engines), please follow these steps.
2016-12-06 19:59:46 +00:00
## Install Google Cloud SDK
2016-12-06 21:19:41 +00:00
The corpora for fuzz targets are stored on [Google Cloud Storage](https://cloud.google.com/storage/). To access them, you will need to [install](https://cloud.google.com/storage/docs/gsutil_install) the gsutil tool, which is part of the Google Cloud SDK.
Follow the instructions on the installation page to login with a Google account listed in your project's `project.yaml` file.
2016-12-06 19:59:46 +00:00
2016-12-06 20:15:16 +00:00
## Viewing the corpus for a fuzz target
2016-12-06 22:38:27 +00:00
The fuzzer statistics page for your project on [ClusterFuzz](clusterfuzz.md) will contain a link to the Google Cloud console for your corpus under the "corpus_size" column. You can browse and download individual test inputs in the corpus here.
2016-12-06 20:15:16 +00:00
2017-07-01 14:05:32 +00:00
![viewing_corpus](https://raw.githubusercontent.com/google/oss-fuzz/master/docs/images/viewing_corpus.png)
2016-12-06 20:15:16 +00:00
2016-12-06 20:57:51 +00:00
## Downloading the corpus
2016-12-06 19:59:46 +00:00
2016-12-06 21:14:35 +00:00
If you would like to download the entire corpus, from the cloud console link, copy the bucket path highlighted here:
2017-07-01 14:05:32 +00:00
![corpus_path](https://raw.githubusercontent.com/google/oss-fuzz/master/docs/images/corpus_path.png)
2016-12-06 21:14:35 +00:00
And then run the following command to copy the corpus to a directory on your machine.
2016-12-06 19:59:46 +00:00
```bash
2016-12-06 21:22:13 +00:00
gsutil -m rsync gs://<bucket_path> <local_directory>
2016-12-06 19:59:46 +00:00
```
2016-12-06 21:14:35 +00:00
Following the expat example above, this would be:
```bash
gsutil -m rsync gs://expat-corpus.clusterfuzz-external.appspot.com/libFuzzer/expat_parse_fuzzer <local_directory>
```
## Corpus backups
We also keep daily zipped backups of your corpora. These can be accessed from the `corpus_backup` column of the fuzzer statistics page. Downloading these can also be significantly faster than `gsutil -m rsync` on the corpus bucket.