about summary refs log tree commit diff
path: root/frida_mode/test/fuzzbench/src/Dockerfile
blob: b64ce68831a4fc03bdba132b9dcd6bc0eab8cf35 (plain) (blame)
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
FROM gcr.io/fuzzbench/base-image

RUN apt-get update && \
    apt-get install -y wget libstdc++-5-dev libtool-bin automake flex bison \
                       libglib2.0-dev libpixman-1-dev python3-setuptools unzip \
                       git clang

# Download afl++
RUN git clone https://github.com/AFLplusplus/AFLplusplus.git /afl && \
    cd /afl && git checkout dev

# Build afl++ without Python support as we don't need it.
# Set AFL_NO_X86 to skip flaky tests.
RUN cd /afl && \
    unset CFLAGS && unset CXXFLAGS && \
    AFL_NO_X86=1 CC=clang PYTHON_INCLUDE=/ make && \
    make -C utils/aflpp_driver

# This makes interactive docker runs painless:
ENV AFL_SKIP_CPUFREQ=1
ENV AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1
ENV AFL_TESTCACHE_SIZE=2

RUN mkdir /frida-mode
WORKDIR /frida-mode
RUN cp /afl/afl-fuzz .
COPY build/assets/afl-frida-trace.so .
COPY build/assets/fuzz-target.dict .
COPY build/assets/fuzzer .

RUN mkdir /frida-mode/in
RUN split -l 1 -d -a 4 fuzz-target.dict /frida-mode/in/

WORKDIR /
COPY build/assets/run.sh .
RUN chmod +x /run.sh