AI-Powered Security Vulnerability Detection Pipeline for Browser Hardening

mozilla · Tech · 2026 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Browser security auditing and vulnerability remediation

Mozilla needed to find latent Firefox security vulnerabilities, especially complex sandbox escapes and multiprocess browser-engine bugs, without drowning maintainers in plausible but wrong AI-generated reports.

Constraints:

Architecture

Mozilla built an agentic vulnerability-discovery harness on top of its existing Firefox fuzzing infrastructure and integrated it into the security bug lifecycle. The harness gives modern models interfaces and instructions to create and run reproducible test cases, dynamically validating hypotheses rather than producing static speculation. Mozilla first supervised terminal sessions to tune prompts and logic, then parallelized jobs across ephemeral VMs, each aimed at a target file and writing findings to a bucket. Downstream project-specific pipeline stages determine what to scan, where to scan, deduplicate against known issues, track bugs, triage, test fixes, and ship releases.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  scan-target-selector["scan-target-selector"] --> agentic-security-harness["agentic-security-harness"]
  model-upgrade-interface["model-upgrade-interface"] --> agentic-security-harness
  existing-fuzzing-infrastructure["existing-fuzzing-infrastructure"] --> agentic-security-harness
  agentic-security-harness --> ephemeral-vm-workers["ephemeral-vm-workers"]
  ephemeral-vm-workers --> findings-bucket["findings-bucket"]
  findings-bucket --> security-bug-lifecycle["security-bug-lifecycle"]
  security-bug-lifecycle --> firefox-release-process["firefox-release-process"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
scan-target-selector Chooses files, functions, and future patches for scanning based on human judgment and automated signals. agentic-security-harness
agentic-security-harness Model-driven harness that searches code, tests hypotheses, and builds reproducible vulnerability test cases. scan-target-selector, existing-fuzzing-infrastructure, ephemeral-vm-workers
existing-fuzzing-infrastructure Firefox fuzzing foundation reused as the execution and validation substrate for model-generated tests. agentic-security-harness
ephemeral-vm-workers Parallel execution environment for target-specific bug-hunting jobs. agentic-security-harness, findings-bucket
model-upgrade-interface Model-agnostic orchestration layer that allows swapping in newer models such as Claude Mythos Preview. agentic-security-harness
findings-bucket Storage location where harness workers write suspected vulnerability findings. security-bug-lifecycle
security-bug-lifecycle Project-specific workflow for deduplication, tracking, triage, fixing, testing, advisory handling, and release shipping. findings-bucket, firefox-release-process
firefox-release-process Patch review, testing, release coordination, and advisory publication for fixed vulnerabilities. security-bug-lifecycle

Data flow

Human judgment and automated signals select files/functions or future patches for scanning. A harness task runs on an ephemeral VM with a modern model, Firefox-specific interfaces, and a target instruction such as finding a bug and building a testcase. The model analyzes code, patches the browser when allowed for sandbox-escape testing, creates reproducible proof-of-concept test cases, and writes findings to a bucket. Mozilla's security workflow then deduplicates findings, opens/tracks bugs, triages severity, coordinates fixes and reviews, tests patches, and ships release/advisory updates.

4 supporting quotes
“given the right interfaces and instructions, it can create and run reproducible test cases to dynamically test hypotheses about bugs in code.”article, stated
“After fixing the initial set of issues that Anthropic sent to us in February, we built our own harness atop our existing fuzzing infrastructure.”article, stated
“we parallelized the jobs across multiple ephemeral VMs, each tasked to hunt for bugs within a specific target file and write its findings back to a bucket.”article, stated
“deduplicating against known issues, tracking bugs, triaging them, and getting fixes shipped.”article, stated

Why this architecture

Mozilla moved beyond static LLM code review because plausible but wrong reports were too costly to scale. The agentic harness changes that by letting models test their own hypotheses with reproducible cases and dismiss speculation. Building on existing fuzzing infrastructure gave the model a dynamic validation surface, while the full security lifecycle turned discoveries into shipped fixes. Model-agnostic orchestration meant new model capabilities improved the whole pipeline without a rebuild.

"the high rate of false positives made them impractical to scale.

The introduction of agentic harnesses that can reliably detect security issues has completely changed this."

3 supporting quotes
“These can find real bugs and dismiss unreproducible speculation. The key feature of such a harness is that, given the right interfaces and instructions, it can create and run reproducible test cases to dynamically test hypotheses about bugs in code.”article, stated
“A discovery subsystem is necessary but not sufficient. In order to scale the effort, we needed to integrate it with our full security bug lifecycle:”article, stated
“Once the end-to-end pipeline is in place, it’s trivial to swap in different models when they become available.”article, stated

Models used: Claude Mythos Preview · Claude Opus 4.6 · Claude Sonnet 3.5 · GPT-4

Scale

Alternatives considered (roads not taken)

static LLM code audits

Rejected because: Earlier GPT-4 and Claude Sonnet 3.5 experiments showed promise but produced too many false positives to scale.

“early attempts using models like GPT 4 or Sonnet 3.5 to statically analyze high risk code for vulnerabilities.”article, stated
“These experiments showed some promise, but the high rate of false positives made them impractical to scale.”article, stated

pure discovery harness without lifecycle integration

Rejected because: Discovery alone did not handle target selection, deduplication, bug tracking, triage, fixing, and release shipping.

“A discovery subsystem is necessary but not sufficient. In order to scale the effort, we needed to integrate it with our full security bug lifecycle:”article, stated
“we needed to integrate it with our full security bug lifecycle: determining what to look for, where to look, and how to handle what it produces.”article, stated

one-off project-independent harness

Rejected because: Mozilla says the pipeline must reflect each codebase's semantics, tooling, and processes.

“this pipeline is inherently project-specific, reflecting each codebase’s semantics, tooling, and processes.”article, stated

fixing each prototype-pollution sandbox escape separately

Rejected because: Mozilla instead made an architectural hardening change that blocked many model attempts along that line.

“Rather than fixing these problems one-by-one, we made an architectural change to freeze these prototypes by default.”article, stated

Patterns

tool-use-orchestration (agent-architecture)

The harness gives models interfaces for code analysis and dynamic testcase execution, allowing them to validate vulnerability hypotheses.

“given the right interfaces and instructions, it can create and run reproducible test cases to dynamically test hypotheses about bugs in code.”article, stated

eval-driven-development (quality)

Mozilla supervised terminal sessions, observed outputs, tuned prompts and logic, and iterated alongside Firefox engineers receiving incoming bugs.

“At first, we supervised the process in the terminal to observe the process in real-time and tune the prompts and logic.”article, stated
“Standing this up required significant iteration, with a tight feedback loop alongside the Firefox engineers who were fielding the incoming bugs.”article, stated

model-routing (model-operations)

The pipeline was built so model upgrades could be swapped in and improve bug finding, testcase generation, and impact explanation across the pipeline.

“Once the end-to-end pipeline is in place, it’s trivial to swap in different models when they become available.”article, stated
“model upgrades increase the effectiveness of the entire pipeline”article, stated

batch-offline-processing (operations)

Mozilla parallelized target-specific bug hunts across ephemeral VMs and collected findings in a bucket for downstream lifecycle processing.

“we parallelized the jobs across multiple ephemeral VMs, each tasked to hunt for bugs within a specific target file and write its findings back to a bucket.”article, stated

Tradeoffs

Unhide a small sample of bug reports early.

Chose sharing selected reports despite normal private embargo practices over keeping all details private for several months.

Rationale: Mozilla judged ecosystem urgency and interest high enough to justify showing representative examples while still limiting exposure.

“Ordinarily we keep detailed bug reports private for several months after shipping fixes”article, stated
“we’ve made the calculated decision to unhide a small sample of the reports behind the fixes we recently shipped.”article, stated

Let the model patch Firefox source code during sandbox-escape crafting.

Chose allowing sandboxed-process-only source patches for testing over forbidding code modification during harness exploration.

Rationale: For sandbox-escape research, permitting constrained patches helps the model explore compromised-content-process scenarios while respecting the boundary under test.

“When crafting a sandbox escape, the model is permitted to patch the Firefox source code”article, stated
“so long as the modified code is restricted to run only in the sandboxed process”article, stated

Use file/function targeted scanning before CI-wide patch scanning.

Chose specific code areas based on human judgment and automated signals over immediate continuous scanning of all landing patches.

Rationale: Mozilla's current system focuses scanning on areas likely to matter, while the planned next step is patch-based CI integration.

“Today, our scanning is largely focused on specific areas of the code (files, functions)”article, stated
“we intend to integrate this analysis into our continuous integration system to scan patches as they land in the tree.”article, stated

Gotchas (what bit them)

AI-generated vulnerability reports can impose asymmetric maintainer cost.

Root cause: It is cheap to produce plausible wrong reports and slow for maintainers to disprove them.

Resolution: Require dynamic reproduction through an agentic harness before scaling the pipeline.

“Dealing with reports that look plausibly correct but are wrong imposes an asymmetric cost on project maintainers”article, stated
“slow and expensive to respond to it.”article, stated

Finding a bug is not enough to improve security at scale.

Root cause: Security work still needs deduplication, tracking, triage, fixes, testing, advisories, and release process.

Resolution: Integrate the harness with Firefox's full security bug lifecycle.

“In order to scale the effort, we needed to integrate it with our full security bug lifecycle”article, stated
“Ultimately, every bug requires care and attention to properly fix.”article, stated

AI discovery created an unprecedented remediation workload.

Root cause: The harness surfaced hundreds of real security bugs in a short period.

Resolution: Mozilla mobilized more than 100 contributors across patching, review, scaling, triage, testing, and release management.

“Staying on top of this unprecedented volume has led to a lot of work and long days over the last few months”article, stated
“Over 100 people contributed code to this effort to ship the most secure Firefox yet.”article, stated

Security severity is not identical to practical exploitability.

Root cause: Firefox defense-in-depth means one high-severity bug may still require chaining with sandbox or OS mitigations.

Resolution: Mozilla rates predictable memory-safety symptoms conservatively to reduce false negatives and focus on fixing more vulnerabilities.

“a single critical/high bug is not actually enough to compromise Firefox.”article, stated
“This reduces the risk of a false negative during exploitability analysis”article, stated

Evaluation

Mozilla evaluated the system through reproduced vulnerability findings, fixed bug counts, severity distribution, comparison with fuzzing/manual discovery, and operational ability to push fixes through release channels.

Metrics: 271 bugs identified by Claude Mythos Preview for Firefox 150 · 423 total security bugs fixed in April releases · 180 sec-high, 80 sec-moderate, 11 sec-low among the 271 announced bugs · 316 internal rollup bugs across three CVEs for Firefox 150 · more than 100 contributors to the effort

“Of the 271 bugs we announced for Firefox 150: 180 were sec-high, 80 were sec-moderate, and 11 were sec-low.”article, stated
“We fixed a total of 423 security bugs in releases in April.”article, stated

Outcomes

The article reports 271 Mythos-identified bugs for Firefox 150, 423 total April security fixes, 180 sec-high bugs among the announced 271, and over 100 contributors.

3 supporting quotes
“These reports presume that the sandboxed process that renders site content has already been compromised”article, stated
“Observing such direct payoff from previous hardening work was even more rewarding than finding and fixing more bugs.”article, stated
“You will find bugs, and you will set yourself up to take advantage of new models as soon as they become available.”article, stated