zzuf is a transparent application input fuzzer. Its purpose is to find bugs in applications by corrupting their user-contributed data (which more than often comes from untrusted sources on the Internet).
It works by intercepting file and network operations and changing random bits in the program’s input. zzuf’s behavior is deterministic, making it easier to reproduce bugs. Its main areas of use are:
- Quality assurance: use zzuf to test existing software, or integrate it into your own software’s testsuite
- Security: very often, segmentation faults or memory corruption issues mean a potential security hole, zzuf helps exposing some of them.
zzuf’s primary target is media players, image viewers and web browsers, because the data they process is inherently insecure, but it was also successfully used to find bugs in system utilities such as objdump.