diff --git a/projects/json/Dockerfile b/projects/json/Dockerfile index 18203ea19..3a311b8bc 100644 --- a/projects/json/Dockerfile +++ b/projects/json/Dockerfile @@ -20,4 +20,4 @@ RUN apt-get update && apt-get install -y binutils make RUN git clone --depth 1 -b develop https://github.com/nlohmann/json.git WORKDIR json/ -COPY build.sh *.options $SRC/ +COPY build.sh *.options parse_afl_fuzzer.dict $SRC/ diff --git a/projects/json/build.sh b/projects/json/build.sh index d53a1b4fc..3cf780281 100755 --- a/projects/json/build.sh +++ b/projects/json/build.sh @@ -23,3 +23,4 @@ for F in $FUZZER_FILES; do FUZZER=$(basename $F .cpp) cp $SRC/fuzzer-parse.options $OUT/$FUZZER.options done +cp $SRC/parse_afl_fuzzer.dict $OUT/ diff --git a/projects/json/parse_afl_fuzzer.dict b/projects/json/parse_afl_fuzzer.dict new file mode 100644 index 000000000..c9ced2116 --- /dev/null +++ b/projects/json/parse_afl_fuzzer.dict @@ -0,0 +1,52 @@ +# +# AFL dictionary for JSON +# ----------------------- +# +# Just the very basics. +# +# Inspired by a dictionary by Jakub Wilk +# + +"0" +",0" +":0" +"0:" +"-1.2e+3" + +"true" +"false" +"null" + +"\"\"" +",\"\"" +":\"\"" +"\"\":" + +"{}" +",{}" +":{}" +"{\"\":0}" +"{{}}" + +"[]" +",[]" +":[]" +"[0]" +"[[]]" + +"''" +"\\" +"\\b" +"\\f" +"\\n" +"\\r" +"\\t" +"\\u0000" +"\\x00" +"\\0" +"\\uD800\\uDC00" +"\\uDBFF\\uDFFF" + +"\"\":0" +"//" +"/**/" \ No newline at end of file