Fuzzers vs. AI: Comparing Fuzzilli and BigSleep on JavaScript Engines Google Project Zero reported that its LLM-based bug-finding system BigSleep found 45 vulnerabilities in Chrome's V8 JavaScript engine over the past six months, compared with 37 found by the generative fuzzer Fuzzilli, with a 25% overlap in the specific bugs reported. Dedicated experiments testing theoretical overlap on vulnerabilities reported since 2023 estimated overlap at roughly 60%, and Project Zero concluded that a substantial portion of vulnerabilities were discoverable by only LLMs or only fuzzing. Project Zero recommended that vendors perform both fuzzing and agentic analysis of their code to maximize the number of vulnerabilities reported before they impact users. Summary Project Zero compared two automated tools used by Google to find vulnerabilities in Chrome’s JavaScript engine, V8, on a regular basis. Fuzzilli https://github.com/googleprojectzero/fuzzilli is a generative JavaScript engine fuzzer and BigSleep https://projectzero.google/2024/10/from-naptime-to-big-sleep.html is an LLM-based bug finding system. In the past six months, BigSleep found more vulnerabilities than Fuzzilli 45 versus 37 with a 25% overlap in the specific bugs reported. Since this comparison methodology has a tendency to underestimate overlap, we also performed dedicated experiments to test theoretical overlap in vulnerabilities reported since 2023. These experiments estimated overlap at roughly 60%. Regardless of which value is accurate, a substantial portion of vulnerabilities were discoverable by only LLMs or only fuzzing. While it is extremely promising that LLMs have become able to find so many vulnerabilities so quickly, fuzzing and LLMs are still complementary approaches. We recommend vendors perform both fuzzing and agentic analysis of their code to maximize the number of vulnerabilities that get reported before they impact users. Introduction Fuzzing has long been successfully applied to software projects such as Chrome or V8 Chrome’s JavaScript engine to detect bugs. Recently, the arrival of powerful LLMs able to read, reason about, and write code is causing a transformative change to software development and software security. With hundreds, sometimes thousands of new bugs and vulnerabilities https://blog.google/security/chrome-stronger-with-every-update/ having been discovered in well-fuzzed targets, a natural question arises: how do new LLMs compare to “traditional” fuzzers? Are they starting to replace them or do the two approaches complement each other? To help answer this, we look at three key questions: 1. How many bugs does each approach find in the real world? 2. What is the overlap between the two approaches? 3. What is the “shape” of bugs discovered by one system but not the other? For this blog post, we will limit ourselves to two concrete systems: Fuzzilli https://github.com/googleprojectzero/fuzzilli , a JavaScript engine fuzzer, and BigSleep https://projectzero.google/2024/10/from-naptime-to-big-sleep.html , an agentic bug finding system. Both of these systems run in production and automatically look for bugs in newly added code, which makes them fairly directly comparable. Specifically, Fuzzilli runs continuously across many instances, with the first ones usually picking up new changes within a few hours, while BigSleep currently runs once per day and is prompted to review new commits and write proof-of-concept testcases for any bugs it discovers. Both systems report bugs through Clusterfuzz https://github.com/google/clusterfuzz , which will do basic crash triaging, then file bug reports in Chrome’s issue tracker. https://issues.chromium.org/home We also limit ourselves to V8 as a target, a high-performance JavaScript and WebAssembly engine with a sophisticated and mature testing and fuzzing setup. In particular, Fuzzilli is a special-purpose fuzzing tool designed to find bugs in these engines. The usually complicated nature of these bugs makes for an interesting “playground” to compare the two approaches’ ability to find deep and complex bugs in well-tested software. We leave it to future work to perform similar analysis on a broader set of targets, fuzzers, and agentic bug finding systems. We will now look into each of the three main questions in a dedicated section. Each section will first summarize the general approach, then describe the methodology in detail often as bullet points, so you can skip those blocks if you don’t care too much about the details before exploring the results. We conclude with an attempt at interpreting the results to get a picture of the current state of fuzzing vs. AI. Part 1: Production Statistics This is the simplest part to analyze, although with some caveats we’ll see in a bit. The basic idea is to query issues from Chromium’s bugtracker http://issues.chromium.org/ where V8 bugs are tracked and extract various statistics from there. This is especially easy since there’s a dedicated hotlist for each of the two systems. We limit our analysis to the six months from April to September 2026 as the automatic BigSleep pipeline only became active in April this year. As such, our raw data comes from the following two bug tracker queries: - Fuzzilli: hotlistid:5433121 created:2026-04-01..2026-09-30 https://issues.chromium.org/issues?q=hotlistid:5433121%20created:2026-04-01..2026-09-30 - BigSleep: hotlistid:8067258 created:2026-04-01..2026-09-30 https://issues.chromium.org/issues?q=hotlistid:8067258%20created:2026-04-01..2026-09-30 From there, the raw numbers of bug reports are: - Fuzzilli: 316 - BigSleep: 441 Small win for BigSleep. However, this includes all types of bugs, and BigSleep initially also found a lot of configuration and integration issues in V8, for example crbug.com/503869331 https://crbug.com/503869331 where the unsafe flag blocking mechanism https://source.chromium.org/chromium/chromium/src/+/main:v8/src/flags/flag-definitions.h;l=4303;drc=4bd243831302ef96b70f7e159e5685bb2eba306f didn’t work properly yet. These are legitimate issues, but less relevant for our comparison since there’s little real-world security impact. One easy way to get rid of these is to look specifically at vulnerabilities by limiting the results to type:vulnerability : - Fuzzilli: 178 - BigSleep: 95 Suddenly a clear win for the fuzzers? Not quite. There are still some problems with this data, notably duplicates and unactionable reports e.g. bugs closed as WAI