◐ Shell
reader mode source ↗
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
File filter
Conversations
Jump to
Diff view
Apply and reload
Show whitespace
Diff view
Apply and reload
43 changes: 37 additions & 6 deletions fuzzing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ capabilities, jump into the "Getting Started" section below.
### Setting Up Your Local Environment

Before contributing to fuzzing efforts, ensure Python and Docker are installed on your machine. Docker is required for
running fuzzers in containers provided by OSS-Fuzz. [Install Docker](https://docs.docker.com/get-docker/) following the
official guide if you do not already have it.

### Understanding Existing Fuzz Targets

Expand Down Expand Up @@ -110,19 +109,51 @@ Includes scripts for building and integrating fuzz targets with OSS-Fuzz:
- [OSS-Fuzz documentation on the build.sh](https://google.github.io/oss-fuzz/getting-started/new-project-guide/#buildsh)
- [See GitPython's build.sh and Dockerfile in the OSS-Fuzz repository](https://github.com/google/oss-fuzz/tree/master/projects/gitpython)

## Running Fuzzers Locally

### Direct Execution of Fuzz Targets

For quick testing of changes, [Atheris][atheris-repo] makes it possible to execute a fuzz target directly:

1. Install Atheris following the [installation guide][atheris-repo] for your operating system.
2. Execute a fuzz target, for example:

```shell
python fuzzing/fuzz-targets/fuzz_config.py
```

### Running OSS-Fuzz Locally

This approach uses Docker images provided by OSS-Fuzz for building and running fuzz tests locally. It offers
Expand Down
22 changes: 22 additions & 0 deletions fuzzing/local-dev-helpers/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Toggle all file notes Toggle all file annotations