blob: b64ce68831a4fc03bdba132b9dcd6bc0eab8cf35 [file] [log] [blame]
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