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