Open Source Fuzzing Tools

When embarking on the journey that is fuzzing, it's important as a software vendor to properly plan. There is a high likelihood that at some point someone externally will be running a fuzzer over your application, so it is imperative that you understand how your fuzzing effort will fit into your product's development lifecycle or risk public humiliation. Leaving it to be done ad-hoc means that there will likely be both duplicated efforts and uncovered testing the latter of which will eventually bite you in the ass.
Setting the goals for your fuzzing effort requires answering the questions "who," "what," "when," "how," and "why?" Why is covered earlier in this chapter and throughout the book, and the others are discussed here.
Answering these questions will help the process of running fuzzers go more smoothly.
Who owns defining the goals?
Who owns setting the criteria and making the decision on which fuzzer to use? If the decision is to build it yourself, who owns building it?
Who owns running the fuzzer?
Who owns investigating, reproducing, and determining exploitability of the bugs found by the fuzzer?
Who owns defining the criteria for which bugs found by the fuzzer will or will not be fixed?
Who owns maintaining the fuzz testing infrastructure?
Another "who" type question is, "who in management is supporting this project?" We've seen or heard of a few cases where fuzzers were run late in the...