-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
53 lines (50 loc) · 1.58 KB
/
docker-compose.yml
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
45
46
47
48
49
50
51
52
53
services:
afl-master:
build: .
tmpfs:
- /ramdisk
environment:
- AFL_TMPDIR=/ramdisk
volumes:
- type: bind
source: ./fuzzing/inputs_x
target: /fuzzing/inputs
- type: bind
source: ./fuzz-output
target: /fuzzing/output
network_mode: none
stdin_open: true
tty: true
command: nix-shell -p aflplusplus --command "afl-fuzz -i /fuzzing/inputs -o /fuzzing/output -e html -M fuzz_master -- /netsurf/result/bin/netsurf-fb -f ram file://@@"
afl-worker:
build: .
tmpfs:
- /ramdisk
environment:
- AFL_TMPDIR=/ramdisk
volumes:
- type: bind
source: ./fuzzing/inputs_x
target: /fuzzing/inputs
- type: bind
source: ./fuzz-output
target: /fuzzing/output
network_mode: none
stdin_open: true
tty: true
command: nix-shell -p aflplusplus --command "afl-fuzz -i /fuzzing/inputs -o /fuzzing/output -e html -S fuzz_$(cat /etc/hostname) -- /netsurf/result/bin/netsurf-fb -f ram file://@@"
# Note:
# Preparation:
# - Choose a set of inputs, e.g. "3".
# - cp ./fuzzing/inputs_3 into ./fuzzing/inputs_x
# - mkdir fuzz-output
#
# Running:
# - docker compose up --detach --scale afl-worker=X
# - "X" is the number of extra workers (in addition to the master). 4 CPU Cores -> X=3
# - See the status:
# - docker logs -f --tail 50 netsurf-all-afl-master-1
# - docker logs -f --tail 50 netsurf-all-afl-worker-X
#
# The "logs" show the status, and can be opened and closed(^C) at any time.
# When exiting, your shell might be confused and look weird. If so, run `reset`.