This project was an assignment for COMP6447 - System and Software Security Assessment.
For this task we developed a black box binary fuzzer, which given compiled binaries and valid sample inputs, mutated the inputs in order to trigger incorrect program states. We created our own fuzzing harness and developed mutations for varying filetypes (such as paintext, JSON, CSV, XML, JPEG, and more). Our aims were to touch multiple codepaths within a binary, both mutating the original input or creating new inputs, to cause any form of an incorrect program state.