AI DevelopmentMethodology11 min readPublished September 3, 2026

Four first-party reports, four definitions of “finding”, and one design decision all of them made

What Happened When Four Companies Let Agents Patch Code

OpenAI, Cloudflare, Ramp and the Chrome security team have each published numbers from pointing coding agents at their own code. We have not found them side by side anywhere else. The figures are not comparable, and the reasons they are not comparable are the useful part.

DA
Digital Applied Team
Senior strategists · Published Sep 3, 2026
PublishedSep 3, 2026
Read time11 min
Sources4 first-party reports
OpenAI: false positives after runtime validation
0.81%
share of findings; denominator unpublished (OpenAI)
Cloudflare: validation rejection rate
40% → 11%
after better context injection (Cloudflare)
Ramp: issues found, validated and fixed
~100
no human until PR review (Ramp)
Chrome: security bugs fixed in two milestones
1,072
agent-assisted, includes external reports (Google)

Four organisations have now published their own numbers from letting coding agents find, validate and fix security bugs in their own codebases. Ramp went first in February 2026, Cloudflare in June, Google’s Chrome team in July, and OpenAI’s “Defense Factory” page appeared the week of September 3, 2026, according to OpenAI’s Daybreak announcement of that date. This page puts all four in one table, then explains why the numbers cannot be ranked against each other.

The finding that survives the definitions is not a number. It is a design decision. None of the four trusts one agent to judge its own output. Each built a separate adversarial check with its own context, and each kept a human at pull-request review. Two of the four independently found that deduplication was the hard problem. One measured that its agents, given a static analysis tool, chose not to use it once in a month.

Key takeaways
  1. 01
    The numbers are vendor-reported and not comparable.Different codebases, scopes and definitions of finding, duplicate and validation. OpenAI's 0.81% false-positive rate and Cloudflare's 11% rejection rate measure different quantities over differently built populations.
  2. 02
    Nobody lets one agent grade its own work.Cloudflare's Validator cannot file findings; Ramp uses adversarial manager agents; Chrome runs a critic agent with separate context; OpenAI reproduces findings at runtime in isolated environments.
  3. 03
    Deduplication is the surprise cost centre.OpenAI paused routing until dedup improved and found 37% of findings were duplicates. Cloudflare built a two-layer dedup system and folded 5,442 findings into others.
  4. 04
    Every pipeline ends at a human.Cloudflare's Fixer never merges. Ramp's run had no human until PR review, then a human landed every patch. Chrome's fixes are candidates for developers. OpenAI reviews consequential changes by hand.

01The datasetThe four runs, one table.

Read the table as four separate reports that happen to share a page. The scopes differ by orders of magnitude: Ramp scanned one backend, Cloudflare scanned 128 repositories, Chrome covers a browser with more than 2,300 third-party dependencies, and OpenAI does not publish the size of its backlog at all. Each row states where the figure sits in that organisation’s own pipeline.

All figures are the organisation reporting on its own programme. Sources: OpenAI, “The Defense Factory” (undated page; referenced in OpenAI’s September 3, 2026 Daybreak post); Cloudflare, June 18, 2026; Ramp Engineering, February 20, 2026; Google, July 30, 2026.
OrganisationScopeFigureWhat it measures
OpenAIInternal security sprint, 250+ people mobilised, backlog size unpublished37%Findings identified as duplicates during agent triage
OpenAISame sprint19.5%Findings reproduced at runtime in isolated environments
OpenAISame sprint0.81%False-positive rate after dynamic validation, a residual rate at the end of the funnel
OpenAISame sprint90.6% / 100%Accepted ownership assignments; share of remediation done by Codex
Cloudflare128 repositories in the discovery fleet; 145 in the central pool; six weeks to build20,799 → ~12,057Raw candidates emitted, then survivors of adversarial validation, lifetime
CloudflareSame fleet40% → 11%Validation rejection rate before and after better context injection at the reconnaissance stage
CloudflareCentral pool, 13,841 findings5,442 / 1,154 / 7,245Folded as duplicates; routed wrong-repo or low-risk; actionable findings left for teams
RampOne backend codebase; less than a week of one engineer’s build time after a four-hour hackathon~100Issues found, validated and fixed with no human until PR review; all patched within a week of discovery
RampInitial testing on a sample set40%Proposals rejected by adversarial manager agents, all later confirmed false positives by human review
Google ChromeChromium plus satellite projects; agent harness since early 20261,072Security bugs fixed in Chrome 149 and 150 combined, more than the prior 23 milestones together; agent-assisted, includes external reports
Google ChromePre-submit checks, May 202620+Vulnerabilities blocked before reaching production, including one critical
Google ChromeDiscovery13+ yearsAge of a sandbox-escape bug the Gemini-based harness found

Two figures are deliberately absent. Cloudflare’s five minutes per fix and roughly fourteen hours from discovery to open pull request come from what the company calls a realistic benchmark based on a standard repository run, not a logged production run, so they do not belong in a results column. OpenAI’s 53 urgent issues closed on day one are attributed to teams working in parallel before the inventory was complete, not to agents. The cyber models named on OpenAI’s reference architecture are the Daybreak models we covered in our Daybreak analysis.

02The comparison problemFour meanings of every word.

A comparison post usually puts the definitions after the table. Here they have to come before anyone quotes a number. The four organisations use the same words for different things, and the differences are large enough to reverse a ranking.

Cloudflare’s hunters are tuned to over-report subtle primitives on purpose, so its raw candidate count is inflated by design. OpenAI’s percentages are shares of a backlog whose size is never stated. Ramp counts only issues that were fixed. Chrome counts bug reports, including ones filed by outside researchers, and its 1,072 fixed bugs include fixes written by people with agent-generated candidates.

Definitions as stated or implied in each organisation’s own write-up. Mapping four write-ups onto one set of stages is our editorial choice; only OpenAI published its pipeline as named stages.
Organisation“Finding”“Validated”“Fixed”
OpenAIAn item in a shared backlog of existing and new agent findings, before triage; size unpublishedReproduced at runtime in an isolated environment; execution is definitionalLeft open on purpose: follow-up checks found a gap between merged patches and fixes deployed across the fleet
CloudflareLayered: raw candidate, survived validation, total in the central pool, actionableAn isolated adversarial agent tries to disprove it; a proof-of-concept test must run against the untouched code; a later pass checks production reachabilityTarget test flips from fail to pass with no regressions, then a human reviews the branch; production rollout is separate
RampA reported issue that survived detector and adversarial manager review; only fixed issues are countedAn agent writes an integration test that fails while the bug exists and passes when the endpoint is secure; a test that passes before any change marks a false positiveTest passes and a pull request opens; a human reviews and lands it
Google ChromeA bug report, internal or external, through one triage pipelineReproduced on the specific affected OS and browser versions with a proof of conceptMerged to the stable branch, shipped in a Stable release, and the user restarts the browser

“Validation” is the sharpest split. OpenAI validates by running the service. Ramp validates by writing a test, after abandoning live deployment testing because its agents could not set up preconditions such as a victim account holding two funds. Cloudflare validates by trying to disprove, then separately asks whether the bug is reachable in production. Chrome validates by reproducing on affected platforms. A finding that clears one bar would not necessarily clear another.

03The funnelWhat each gate removed.

The chart below shows the share of candidates each organisation’s stated gate removed or let through. It is one chart with five different quantities, and the label under each bar says which. Cloudflare’s initial rejection rate and Ramp’s manager rejection rate are both 40%. That is a coincidence between a system-wide lifetime rate and a one-off sample measurement, not a shared benchmark.

Share removed or retained at each organisation's stated gate

OpenAI, Cloudflare and Ramp, each reporting on its own pipeline. Not like-for-like; see the definitions above.
Cloudflare, initial validation rejectionshare of findings the adversarial Validator disproved, before context fixes
40%
Ramp, manager rejection on a sampleinitial testing only; every rejection confirmed a false positive by humans
40%
OpenAI, duplicates in triageshare of backlog findings judged duplicate; routing paused until this improved
37%
OpenAI, reproduced at runtimeshare of findings that dynamic validation could reproduce
19.5%
Cloudflare, validation rejection after fixessame gate after better reconnaissance context was injected
11%
OpenAI, false positives after validationresidual rate among findings that already reproduced
0.81%

Cloudflare’s central pool is the one funnel whose arithmetic closes: 13,841 findings, minus 5,442 duplicates, minus 1,154 routed elsewhere, leaves 7,245 actionable findings. Its discovery funnel does not close from the prose alone, because the buckets between 20,799 raw candidates and roughly 12,057 survivors are shown only in an image. We report the prose numbers and nothing inferred from the diagram.

Chrome publishes no rate at all. Its post says the early-2026 harness ran with higher efficiency and lower false positives, without saying what it is lower than, and that automated triage saves an estimated hundreds of hours a month against a human baseline of five to more than thirty minutes per report. Google flags the saving as hard to measure precisely, and so do we.

04The patternWhere all four agree.

Four teams with different codebases, languages and threat models reached the same architecture without coordinating. Ranked by the strength of the published evidence, the convergences are these.

01
A second opinion with its own context
All four

Cloudflare's Validator cannot file findings and a different model re-judges the central pool. Ramp's manager agents critique each detector. Chrome's critic agent reads SECURITY.md in a separate context. OpenAI reproduces findings in isolated environments.

Strongest evidence
02
Durable repo-level context
All four

OpenAI and Chrome both landed on a SECURITY.md file, independently. Cloudflare's reconnaissance agents write an architecture file per run and carry a 450-line audit skill. Ramp built skills from real examples in its own codebase.

Two chose the same filename
03
Deduplication is the hard problem
Two of four

Cloudflare needed a deterministic shortlist plus a reasoning agent, clustering by root cause rather than file path. OpenAI paused routing until deduplication improved. Ramp publishes nothing on it, and Chrome's only published mention is a duplicate check at bug intake, with no figure.

Surprise cost centre
04
Environments limit validation
Two of four

OpenAI says environment setup became the constraint and began with services it could run repeatedly. Ramp abandoned live-deployment validation because agents could not configure preconditions. Same wall, opposite directions.

Not model capability

Cloudflare states the reason for the first convergence outright: “If a Hunter is allowed to grade its own homework, it will confidently validate everything it outputs.” Two further patterns have weaker but real support. The bottleneck moves rather than disappears: Cloudflare calls its Fixer “the youngest and slowest part of the system” and says the scarce resource becomes review capacity, not discovery.

Zero invocations

Cloudflare plumbed Semgrep, a static analysis tool, through to its hunting agents. Over a month of runs the agents invoked it zero times, preferring to read and run the code. Ramp reports that its roughly 100 issues had not been caught by penetration tests, its bug bounty programme, static analysis or trials from 10 or more code-scanning vendors. Chrome still runs fuzzing alongside the agents and describes it as complementary.

All four also concluded that one agent in one context window is the wrong unit of work. Cloudflare argues that a generic coding agent pursues a single hypothesis, exhausts its context window on a fraction of a real repository, and forgets things when that context is compacted. Its answer, and OpenAI’s, is that the durable asset is the harness around the model. That matches what we found in our agent runtime sandbox matrix: the isolation and orchestration layer decides what an agent can safely be allowed to do.

05The gateWhere the human still sits.

None of the four reports describes an agent merging a security fix on its own. The placement of the human gate is the same in every case: after validation, at code review, before anything reaches a main branch or a production fleet.

Human gates as described in each organisation’s own report, read September 4, 2026.
OrganisationAgents doPeople do
OpenAIInventory, discovery, runtime validation, ownership labelling, patch generation and testing against running servicesSpot-check triage, resolve ambiguous ownership, review consequential changes and independently verify deployed fixes
CloudflareReconnaissance, hunting, adversarial validation, deduplication, judgment, patch and test in a branchReview every branch before merge; sign off on a dry run before anything writes to production
RampDetect, critique, write the reproducing test, fix by test-driven development, open the pull requestReview the patch and land the code; no earlier involvement in the run
Google ChromeTriage, reproduce, assign, propose candidate fixes, critique them, write cross-platform testsEvaluate the fix, override severity when needed, own the merge and the release

OpenAI’s account of how it got there is the useful part for a team planning the same thing. It says the work began with small batches under human review, and that manual steps were dropped one at a time as the results justified it. That is the same shape as the permission model in our default-deny versus default-allow analysis. Autonomy was granted per stage against evidence, not switched on.

06The limitsWhat nobody claims.

Nobody publishes a recall rate, and Cloudflare explains why none can: “We don’t claim a false-negative rate for our system. There’s no labeled set of every real bug in a codebase, so any claimed recall number is entirely speculative.” Nobody publishes a dollar cost. Cloudflare describes the shape of its spend, with 50 to 200 workers per repository and each follow-up pass costing about half the initial hunt, but no figure. The other three say nothing about cost.

Cloudflare also says its own numbers are out of date by the time anyone reads them, and that its findings come from a ring-fenced research experiment rather than live unpatched production vulnerabilities. OpenAI publishes no start date, end date or duration for its sprint. Ramp names no models. Chrome gives no false-positive rate. Those blanks are recorded here as blanks.

Methodology

This page compiles first-party reports only. Nothing here has been independently replicated by anyone, including us.

Sources
OpenAI, “The Defense Factory”; Cloudflare, “Build your own vulnerability harness” (June 18, 2026); Ramp Engineering, “We proactively fixed ~100 security issues in 6 days with 0 humans” (February 20, 2026); Google, “Chrome: stronger with every update” (July 30, 2026). Ramp is cited by name and not linked under our outbound-link policy.
As-of date
All four pages were read on September 4, 2026. The page is dated September 3 for the week OpenAI’s report appeared; the collection date is stated here and not restated elsewhere.
OpenAI dating
The Defense Factory page carries no publication date. OpenAI’s September 3 Daybreak announcement says the approach was published that week, which is the only first-party dating we have.
Exclusions
Cloudflare’s modelled benchmark timings; OpenAI’s 53 day-one closures; Chrome’s memory-safety programme statistics, which predate the agent harness; figures shown only in images on the Cloudflare and Google pages.
Stage mapping
The stage frame is OpenAI’s, extended with a deduplication stage. Placing the other three organisations’ work in it is our interpretation.
Change log
September 4, 2026: first publication with four organisations.

07ConclusionCopy the architecture, not the percentages.

Agents patching code

Four organisations reached the same design by different routes, and none of them reached a comparable number.

The percentages in this page will be quoted without their definitions. That is the reason the definitions come first. OpenAI’s 0.81% is a residual rate after runtime reproduction over an unpublished backlog. Cloudflare’s 11% is a rejection rate over candidates that are over-reported by design. Ramp’s 40% is a sample. Chrome’s 1,072 counts human work too.

What transfers is the shape. Give the agent that finds a bug no authority to confirm it. Put a second agent with separate context in its way, and make the proof a test or a runtime reproduction rather than an argument. Expect deduplication to cost more than discovery. Keep the human at review, and grant each stage autonomy only after it has earned it.

A fifth organisation will publish its own numbers soon. This page will add a row, and the definitions column will grow with it. Our AI transformation practice builds this kind of pipeline for teams that want the architecture without repeating the four discoveries.

Build the harness

Put a second agent between the finding and the fix.

We design agent pipelines with adversarial validation, deduplication and human gates built in, then measure them against your own codebase rather than a vendor's.

Free consultationExpert guidanceTailored solutions
What we build

Agentic remediation pipelines

  • Separate discovery and validation agents
  • Test-based or runtime proof before triage
  • Root-cause deduplication across runs
  • Ownership routing and review gates
  • Merged-versus-deployed verification
FAQ · Agents patching code

The questions we get about agents patching code.

Four have published first-party figures: Ramp (February 20, 2026), Cloudflare (June 18, 2026), Google's Chrome security team (July 30, 2026) and OpenAI, whose Defense Factory page is undated but was referenced as published the week of September 3, 2026. All four report on their own programmes with no independent replication.
Related dispatches

Continue exploring agentic security.

AI Development

Can You Still Read What Your AI Agent Is Actually Thinking

What OpenAI, Anthropic, Google DeepMind and Meta each publish on whether an agent's reasoning trace can be read and trusted: every measured figure, every blank.

September 3, 2026 · 10 minRead
AI Development

Test a New AI Model on Your Own Traffic Before Switching

OpenAI replayed 54,218 real agent tasks against GPT-6 Astra before deploying it. The method transfers: hold history fixed, resample a turn, count what changed.

September 3, 2026 · 7 minRead
AI Development

When a Tool Call Takes Ten Minutes, What Does Your Agent Do

What OpenAI, Anthropic and Google document for a tool call the model must wait on: which can keep working, how a late result reattaches, and the limits.

September 3, 2026 · 10 minRead
AI Development

OpenAI Is Giving Away $1B of Cyber AI. Who Qualifies

OpenAI committed $1 billion in subsidised Daybreak access over six months. What it is, which organisations are prioritised, and what remains unpublished.

September 3, 2026 · 8 minRead
AI Development

Harness Co-Training: Models Raised Inside Agent Loops

poolside trains across several agent harnesses on purpose, Cursor stitches tool-call corrections into training, Anthropic argues for holding the model fixed.

August 5, 2026 · 17 minRead
AI Development

State of AI Agents 2026: 200+ Data Points Compiled

The definitive State of AI Agents 2026 — 247 data points across adoption, ROI, autonomy, and governance, sourced from McKinsey, Stanford HAI, and Gartner.

May 22, 2026 · 16 minRead