Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1754122267, "reponame":"openssl", "desc":"OpenSSL", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://warmcat.com/repo/openssl", "f":3, "items": [ { "schema":"libjg2-1", "oid":{ "oid": "e8eb224b8cd2b6dc29843eab01227eab00fcf774", "alias": []},"tree": [ { "name": "corpora","mode": "16384", "size":0}, { "name": "README.md","mode": "33188", "size":1922}, { "name": "asn1.c","mode": "33188", "size":6858}, { "name": "asn1parse.c","mode": "33188", "size":1023}, { "name": "bignum.c","mode": "33188", "size":2458}, { "name": "bndiv.c","mode": "33188", "size":3286}, { "name": "build.info","mode": "33188", "size":3229}, { "name": "cms.c","mode": "33188", "size":1169}, { "name": "conf.c","mode": "33188", "size":1017}, { "name": "crl.c","mode": "33188", "size":1089}, { "name": "ct.c","mode": "33188", "size":1197}, { "name": "driver.c","mode": "33188", "size":1095}, { "name": "fuzzer.h","mode": "33188", "size":477}, { "name": "helper.py","mode": "33261", "size":1357}, { "name": "server.c","mode": "33188", "size":15471}, { "name": "test-corpus.c","mode": "33188", "size":1199}, { "name": "x509.c","mode": "33188", "size":1149}],"s":{"c":1754122267,"u": 1278}} ,{"schema":"libjg2-1", "cid":"f851d42f4301aa27eae1327268e36a34", "oid":{ "oid": "e8eb224b8cd2b6dc29843eab01227eab00fcf774", "alias": []},"blobname": "fuzz/README.md", "blob": "# I Can Haz Fuzz?\n\nLibFuzzer\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nOr, how to fuzz OpenSSL with [libfuzzer](http://llvm.org/docs/LibFuzzer.html).\n\nStarting from a vanilla+OpenSSH server Ubuntu install.\n\nUse Chrome's handy recent build of clang. Older versions may also work.\n\n $ sudo apt-get install git\n $ mkdir git-work\n $ git clone https://chromium.googlesource.com/chromium/src/tools/clang\n $ clang/scripts/update.py\n\nYou may want to git pull and re-run the update from time to time.\n\nUpdate your path:\n\n $ PATH\u003d~/third_party/llvm-build/Release+Asserts/bin/:$PATH\n\nGet and build libFuzzer (there is a git mirror at\nhttps://github.com/llvm-mirror/llvm/tree/master/lib/Fuzzer if you prefer):\n\n $ cd\n $ sudo apt-get install subversion\n $ mkdir svn-work\n $ cd svn-work\n $ svn co http://llvm.org/svn/llvm-project/llvm/trunk/lib/Fuzzer\n $ cd Fuzzer\n $ clang++ -c -g -O2 -std\u003dc++11 *.cpp\n $ ar r libFuzzer.a *.o\n $ ranlib libFuzzer.a\n\nConfigure for fuzzing:\n\n $ CC\u003dclang ./config enable-fuzz-libfuzzer \u005c\n --with-fuzzer-include\u003d../../svn-work/Fuzzer \u005c\n --with-fuzzer-lib\u003d../../svn-work/Fuzzer/libFuzzer \u005c\n -DPEDANTIC enable-asan enable-ubsan no-shared \u005c\n -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION \u005c\n\t -fsanitize-coverage\u003dedge,indirect-calls,8bit-counters\n $ sudo apt-get install make\n $ LDCMD\u003dclang++ make -j\n $ fuzz/helper.py $FUZZER\n\nWhere $FUZZER is one of the executables in `fuzz/`.\n\nIf you get a crash, you should find a corresponding input file in\n`fuzz/corpora/$FUZZER-crash/`. You can reproduce the crash with\n\n $ fuzz/$FUZZER \u003ccrashfile\u003e\n\nAFL\n\u003d\u003d\u003d\n\nConfigure for fuzzing:\n\n $ sudo apt-get install afl-clang\n $ CC\u003dafl-clang-fast ./config enable-fuzz-afl no-shared\n $ make\n\nRun one of the fuzzers:\n\n $ afl-fuzz -i fuzz/corpora/$FUZZER -o fuzz/corpora/$FUZZER/out fuzz/$FUZZER\n\nWhere $FUZZER is one of the executables in `fuzz/`.\n","s":{"c":1754122267,"u": 104}} ],"g": 2268,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 1, "si": 0, "db":0, "di":1, "sat":0, "lfc": "0000"}