.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}
What is a fuzzer?
A fuzzer is a tool that automatically inputs random data into an application to detect possible anomalies. With the help of fuzzers, cybersecurity specialists can identify vulnerabilities before hackers have an opportunity to exploit them. This allows for corrective measures to be implemented, preventing potential attacks.The origin of the word fuzzing
In the 1980s, Professor Barton Miller from the University of Wisconsin experienced system interference while using the telephone network during strong winds. This interference eventually led to a system crash. Intrigued, Miller tasked his students with recreating this experience using a noise generator to see if such signals could crash UNIX systems. This led to the development of the first fuzzing test, which was later expanded to various computing environments..elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=”.svg”]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}
How does fuzzing work?
The concept of fuzzing revolves around deliberately introducing incorrect inputs into a system to unveil faults. A fuzzer consists of several essential components, humorously nicknamed poet, messenger, and oracle due to their distinct functions: generating, delivering, and analyzing test cases.- A poet, which generates test data (test cases). The essence of a fuzzer is to move beyond known vulnerabilities, aiming to create as many test cases as possible.
- A messenger that delivers these test cases to the target software.
- An oracle, which identifies if a fault has occurred. If so, it offers information to help reproduce, analyze, and correct the issue.
The three types of ‘test cases’
The poet crafts random data drawing from evolutionary models or derives it from a profound understanding of protocols, file formats, or APIs. Three approaches can be adopted:- Random fuzzing: involves entirely random data.
- Evolutionary fuzzing: introduces anomalies into valid inputs, adjusting based on outcomes.
- Generational fuzzing: is based on understanding system rules and seeks to systematically break them.
The advantages of fuzzing
Fuzzing offers numerous benefits.Security assessment
It conducts a thorough evaluation of robustness and security risks.Prevention of hacks
It identifies potential hacking opportunities before they can be exploited.Reduced cost
A fuzzer, once set up, can function independently.Bug detection
A fuzzer uncovers bugs that traditional testing methods may overlook.
The types of fuzzers
Black box
The term “black box” signifies that the fuzzer has no knowledge of the internal workings of the software.White box
A white box fuzzer has comprehensive knowledge of the software being tested, with access to its source code, documentation, and internal structure.The main fuzzers
Paid fuzzers
- Beyond Security beSTORM
- Black Duck Defensics
- Code Intelligence Fuzz
- ForAllSecure Mayhem for Code
- Coverity Fuzz Testing
Open source fuzzers
- Ffuf (Fuzz Faster U Fool)
- OneFuzz
- PeachTech Peach Fuzzer


























