forked from profuzzbench/profuzzbench
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-stateafl
36 lines (27 loc) · 1.13 KB
/
Dockerfile-stateafl
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
FROM lightftp
# Import environment variable to pass as parameter to make (e.g., to make parallel builds with -j)
ARG MAKE_OPT
# Set up StateAFL
ENV STATEAFL="/home/ubuntu/stateafl"
RUN git clone https://github.com/stateafl/stateafl.git $STATEAFL && \
cd $STATEAFL && \
make clean all $MAKE_OPT && \
rm as && \
cd llvm_mode && CFLAGS="${STATEAFL_CFLAGS}" make $MAKE_OPT
# Set up environment variables for StateAFL
ENV AFL_PATH=${STATEAFL}
ENV PATH=${STATEAFL}:${PATH}
# Dedicated instrumented version for StateAFL
RUN cd $WORKDIR && \
git clone https://github.com/hfiref0x/LightFTP.git LightFTP-stateafl && \
cd LightFTP-stateafl && \
git checkout 5980ea1 && \
patch -p1 < ${WORKDIR}/fuzzing.patch && \
cd Source/Release && \
CC=${STATEAFL}/afl-clang-fast make clean all $MAKE_OPT
# Set up LightFTP for fuzzing
RUN cd ${WORKDIR}/LightFTP-stateafl/Source/Release && \
cp ${AFLNET}/tutorials/lightftp/fftp.conf ./ && \
cp ${AFLNET}/tutorials/lightftp/ftpclean.sh ./
COPY --chown=ubuntu:ubuntu in-ftp-replay ${WORKDIR}/in-ftp-replay
COPY --chown=ubuntu:ubuntu run-stateafl.sh ${WORKDIR}/run-stateafl