Skip to content

AI Glossary · Security & attacks

What is Fuzzing?

Fuzzing

Fuzzing is automated software testing that repeatedly generates or mutates inputs to find bugs. A fuzzer looks for failures such as crashes, hangs, or memory errors, which developers then investigate.

Also known as: fuzz testing

· Updated · Chain of Thought

AI Security

  • 1 episode
  • 1 guest clip

A fuzzing harness connects the testing engine to the code under test, such as a file parser. Coverage-guided fuzzers keep inputs that reach new parts of the program and mutate them to explore further. Runtime checks called sanitizers can expose memory errors or undefined behavior that would otherwise go unnoticed. LLVM’s libFuzzer documentation explains how these pieces work together.

A finding is a starting point for investigation. Developers need to reproduce it, identify the cause, assess its security impact, and test a fix. Some bugs affect reliability without providing an attack path. In the episode below, Dan Lorenc uses fuzzing as an example of why faster bug discovery still needs a workable remediation process. That distinction matters when assessing what AI-assisted vulnerability discovery actually delivers.

Hear it from the guest

“But in the Linux kernel and a bunch of other critical projects, fuzzing has been outpacing remediation for a decade already. It's just one of these cases where the bottleneck is not the people finding bugs, but it's always the bottleneck to fix the bugs.”
Watch on YouTube

Quotes lightly edited to remove filler words.

From the conversation