summaryrefslogtreecommitdiff
path: root/cras/src/fuzz/README.md
blob: 0d235cec51fe5af35db4d5206d803e709ac97195 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# OSS-Fuzz for CRAS

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

### Sudoless Docker
```
sudo adduser $USER docker
```
### Sync to the latest base-builder
```
docker pull gcr.io/oss-fuzz-base/base-builder
```

### Build a container from the adhd directory
```
docker build -t ossfuzz/cras -f cras/src/fuzz/Dockerfile .
```
Add `--no-cache` if you want a complete rebuild.

### Build fuzzers
```
docker run --cap-add=SYS_PTRACE -ti --rm -v /tmp/fuzzers:/out ossfuzz/cras
```

### Look in /tmp/fuzzers to see the executables. Run them like so:
```
docker run --cap-add=SYS_PTRACE -ti -v $(pwd)/cras/src/fuzz/corpus:/corpus \
    -v /tmp/fuzzers:/out ossfuzz/cras /out/rclient_message \
    /corpus -runs=100
```

### Debug in docker

Go into docker console by
```
docker run --cap-add=SYS_PTRACE -ti -v $(pwd)/cras/src/fuzz/corpus:/corpus \
    -v /tmp/fuzzers:/out ossfuzz/cras /bin/bash
```
and start debugging.