Skip to content
SPECIFICTION
Get listed

Fuzzilli vs Jazzer

Fuzzilli

github.com

Jazzer

github.com

Side by side

FigureFuzzilliJazzer
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOSYesYes
LinuxYesYes
API—Yes
Self-hostedYesYes
Plans published12
Spec score · Fuzz Testing Software8.4 (#6)8.6 (#4)
LicenseThe repository identifies its license as Apache-2.0.The repository identifies Jazzer as Apache-2.0 licensed.
PurposeFuzzilli is a coverage-guided fuzzer for dynamic language interpreters that mutates programs in FuzzIL and translates them to JavaScript.Jazzer is a coverage-guided, in-process fuzzer for the JVM based on libFuzzer.
What it doesFuzzilli is a coverage-guided fuzzer for dynamic language interpreters, built around a custom intermediate language called FuzzIL that can be mutated and translated to JavaScript.Jazzer is an in-process, coverage-guided fuzzer for JVM applications, built on libFuzzer techniques.

Plans

Fuzzilli

  • FuzzilliFree

Fuzzilli pricing →

Jazzer

  • JazzerFree
  • Jazzer open-sourceFree

Jazzer pricing →

In their own words

Fuzzilli

Fuzzilli is a free, open-source, coverage-guided fuzzer for dynamic language interpreters. It represents test programs in FuzzIL, mutates them, and translates them to JavaScript for execution. Its mutators can change data flow or operation parameters, generate or splice code, and combine corpus programs. Components include a mutation fuzzer, script runner, corpus, environment, minimizer, evaluator, and lifter. A target engine runs repeated scripts in a read-eval-print-reset loop, resetting between cases; multiple instances can synchronize within a process or across machines over TCP. Listed target directories include JavaScriptCore, JerryScript, QuickJS, QtJS, Serenity, SpiderMonkey, V8, XS, Duktape, and njs. Setup requires compiling a supported engine with coverage instrumentation using clang 4.0 or later, then building Fuzzilli with Swift Package Manager. Docker and Google Compute Engine tooling are provided. The project supports Linux, macOS, and self-hosted use and identifies its license as Apache-2.0. Its repository says it is not an officially supported Google product. Contributions require a Contributor License Agreement and are reviewed through GitHub pull requests.

Visit github.com

Jazzer

Jazzer is a free, coverage-guided fuzzer for JVM applications, running in-process and based on libFuzzer. It supports Java, Kotlin, Scala, and Clojure targets, as well as JNI and native libraries. With JUnit 5.9.0 or newer, fuzz tests can run alongside regular unit tests. The @FuzzTest annotation lets Jazzer generate and mutate method inputs, including primitives, strings, arrays, and standard library classes. JUnit fuzz tests can use saved crashing inputs in regression mode or generate and mutate inputs to explore coverage. Built-in sanitizers detect Java security issues such as SSRF, file path traversal, and OS command injection, and provide feedback to guide fuzzing. The README documents use with Maven, Gradle, and Bazel. Jazzer can also run as a standalone binary or through its Java main class. Supported systems are Linux x86_64 and arm64, macOS 12 or newer on x86_64 and arm64, and Windows x86_64. The jazzer-junit package is available on Maven Central, and the repository identifies the project as licensed under Apache-2.0.

Visit github.com