I have implemented a basic coverage guided fuzzer that is sending inputs to programs accepting ONE command line argument or ONE standard input. I am trying to find a complex code to fuzz that can meet my requirements:

  1. Code should have atleast 500 lines
  2. Code should be in only one C/C++ file

I have tried finding open source projects but they are not meeting my requirements.

If someone knows how can I go about finding one please let me know OR if you are aware of such a code then also please let me know.

P.S. I do not want to write my own buggy code.

1 Answer 1


This is not a question about reverse engineering, but you can use the DARPA Cyber Grand Challenge binaries that have been ported to Linux, Mac OS and Windows by the Trail of Bits team:

The DARPA Challenge Binaries (CBs) are custom-made programs specifically designed to contain vulnerabilities that represent a wide variety of crashing software flaws. They are more than simple test cases, they approximate real software with enough complexity to stress both manual and automated vulnerability discovery. The CBs come with extensive functionality tests, triggers for introduced bugs, patches, and performance monitoring tools, enabling benchmarking of patching tools and bug mitigation strategies.

For more information, see their blog post Your tool works better than mine? Prove it.

If this particular suite of binaries is not to your liking, I recommend reading the paper The Art, Science, and Engineering of Fuzzing: A Survey, which includes 240 references. If the paper does not discuss fuzzer benchmark suites, some of the cited papers surely will.

An additional option is to examine fuzzer-related repositories on github such as Google's fuzzer test suite.

If no existing test suites meet your specific, particular requirements, then either a) change your requirements or b) create your own test suite.

  • Thank you so much. That has helped a lot. I did look into the papers but they did not meet my requirements. Apr 14, 2019 at 18:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.