summaryrefslogtreecommitdiffhomepage
path: root/images/syzkaller/README.md
blob: 60aa61d12688a9c541c3a22209b1ea2cbac459d6 (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
syzkaller is an unsupervised coverage-guided kernel fuzzer.

* [Github](https://github.com/google/syzkaller)
* [gVisor dashboard](https://syzkaller.appspot.com/gvisor)

# How to run syzkaller.

* Build the syzkaller docker image
```
make load-syzkaller
```
* Build runsc and place it in /tmp/syzkaller.
```
 make RUNTIME_DIR=/tmp/syzkaller refresh
```
* Copy the syzkaller config in /tmp/syzkaller
```
cp images/syzkaller/default-gvisor-config.cfg /tmp/syzkaller/syzkaller.cfg
```
* Run syzkaller
```
docker run --privileged -it --rm -v /tmp/syzkaller:/tmp/syzkaller gvisor.dev/images/syzkaller:latest
```

# How to run a syz repro.

* Repeate all steps except the last one from the previous section.

* Save a syzkaller repro in /tmp/syzkaller/repro

* Run syz-repro
```
docker run --privileged -it --rm -v /tmp/syzkaller:/tmp/syzkaller --entrypoint="" gvisor.dev/images/syzkaller:latest ./bin/syz-repro -config /tmp/syzkaller/syzkaller.cfg /tmp/syzkaller/repro
```