Automating the fuzzing triage process - Loh, Qi Yuan (Nanyang Technological University, 2020)
This final year project explores the usage of scripting to improve the efficiency of the fuzzing workflow. Fuzzing is a method of discovering bugs that is quickly gaining momentum within the development community. It has the ability to discover bugs within programs that might otherwise be very hard to get at using traditional methods like source code analysis and program testing using sets of pre-defined inputs. There are a large number of existing tools available to users and development of fuzzing techniques have also taken a huge step forward. Fuzzers have become a flexible tool that can help both developers and pen-testers.While the fuzzer technology has been constantly improving, the workflow of a user during the fuzzing cycle has remained constant throughout. The user runs the fuzzer and then manually debugs each of the output files from the fuzzer to determine the reason behind the erroneous behaviour. This project aims to change the existing workflow by streamlining the work during the triage process. The final tool works in conjunction with AddressSanitizer, the GDB debugger and Valgrind to achieve automated log extraction and crash analysis leading to categorisation of the files.