How breach numbers get inflated

Terminal verification script running a breach claim through checks, returning "not citable as fact yet — cite it as a claim"

A headline number has a specific texture: it’s precise, it’s large, and it’s stated with total confidence — “40 million records,” never “somewhere between 4 and 40 million, depending which of three conflicting reports you believe.” That precision is doing a lot of persuasive work it usually hasn’t earned. Most breach statistics that make it into general circulation have passed through several hands between the original claim and the number you read, and each hand tends to round toward “more dramatic,” not “more accurate.”

This isn’t a piece about any one incident. It’s the methodology — the specific, repeatable ways a breach number inflates, and a checklist for catching it before you repeat it as fact.

Why breach numbers look more solid than they are

A number that appears in five different articles feels five times as confirmed as a number that appears in one. That feeling is usually wrong, and it’s wrong in a specific, mechanical way: breach-tracking aggregators, security-news roundups, and social posts frequently source from the same single upstream claim — a leak-site listing, a threat-actor’s own post, one forum thread — and each republication looks like independent confirmation without being one. Call it citation echo: the number didn’t get more true, it just got louder.

The fix isn’t cynicism toward every reported breach — plenty are confirmed, disclosed, and well-documented. It’s routing every number through the same question this site applies everywhere else: does this trace back to one unverified claim wearing several outfits, or to something that was actually independently established?

Five ways a number gets inflated

Ranked roughly by how often each one is the actual mechanism, not the most dramatic one:

  • Claim conflated with confirmation. A ransomware or extortion group listing a target on its leak site is a claim, not a verified breach — it costs the group nothing to post, and double-extortion groups are specifically incentivized to post regardless of how much access they actually achieved. “Company X was listed by group Y” and “Company X was breached” are different statements, and headline writers collapse them into one constantly.
  • Self-reported record counts. When a figure like “40 million records” originates from the threat actor itself, it’s a number chosen by a party with a direct financial incentive to make the number look large — leverage in an extortion negotiation, and reputation within the criminal ecosystem, both reward bigger claims. Independent security researchers have documented specific ransomware operations fabricating or inflating claims outright, which is the strongest reason self-reported figures deserve default skepticism rather than default trust.
  • Recycled data re-dated as new. Old breach dumps get repackaged, relisted, or resold as if freshly obtained, sometimes years after the original incident and sometimes by a different actor than the one who originally obtained the data. A “new breach” headline can be describing data that’s been circulating for a long time — the record count is real, but the “new incident” framing isn’t.
  • Aggregator/mirror double-counting. Breach-tracking sites and roundup articles frequently mirror each other’s listings. When three trackers list the same claim, that’s one claim with three mirrors, not three corroborating sources — but cited together, they read like independent confirmation to anyone who doesn’t check whether each one actually did its own verification or just imported the same feed.
  • Flat cost-per-record math applied to unconfirmed scope. Industry reports publish average cost-per-breached-record figures, useful as an industry-wide benchmark. Applying that average directly to an unconfirmed or disputed record count produces a dollar figure that looks rigorously calculated but is actually two uncertain numbers multiplied together — an estimate’s average cost times a claim’s unverified scope.

A verification checklist before you cite a stat

The same discipline, as a runnable checklist:

  1. Trace it to a primary source. Find the earliest occurrence of the claim — the original leak-site post, breach notification, or regulatory filing — not the most convenient article that cites it.
  2. Check for independent corroboration, not just repetition. Ask whether a second source did its own verification, or just linked/mirrored the first one. A shared upstream source isn’t a second source.
  3. Separate “listed” from “confirmed.” A claim, a leak-site posting, or an unverified forum post is not the same evidentiary weight as a company disclosure, a regulator’s statement, or a forensic investigation’s findings.
  4. Check the date the data was actually obtained, not the date it was posted or reported. Recycled data re-surfacing isn’t a new incident, even when it’s reported as one.
  5. Check whether the figure is per-incident or cumulative. Some widely cited “total records breached this year” statistics silently sum listings that include duplicate or overlapping datasets, inflating the total beyond what any accounting of distinct individuals affected would show.
  6. Check whether a dollar figure is measured or extrapolated. A cost figure tied to a specific, investigated incident is a different kind of evidence than an industry average multiplied by an unconfirmed record count.

If a claim fails most of these, the correct move isn’t to drop it — it’s to report it as a claim, attributed to whoever made it, with the uncertainty stated plainly instead of laundered into a headline fact.

What a well-sourced number actually looks like

The positive case, so the checklist doesn’t read as pure skepticism: a well-sourced breach figure usually has some combination of a regulatory breach notification (many jurisdictions require these, with a filed record count), a company’s own disclosure following its internal investigation, a named forensic firm’s findings, or corroboration from a security researcher who independently examined the exposed data rather than relaying the claimant’s own count. None of these are infallible either — investigations get revised as more is learned, and early disclosed figures are sometimes corrected upward or downward — but they carry actual verification work behind the number, which is the thing a leak-site post or an aggregator mirror never had to begin with.

Quick reference

Signal What it usually means What to do
Only the threat actor’s own post as a source Unverified claim Report as a claim, attributed, not as fact
Multiple trackers list the same figure Possible mirror, not corroboration Check whether each did independent verification
“New breach” with an old-looking dataset Possibly recycled data Check when the data was actually obtained
Large round number (“50 million”) Common in self-reported/inflated claims Weight it lower than a precise, sourced count
Dollar figure with no incident-specific investigation Likely an average applied to an estimate Treat as illustrative, not measured
Company disclosure or regulatory filing exists Verified evidentiary source Citable with normal sourcing caveats

Sources (defanged)

  • hxxps://cloudsek[.]com/ (independent assessment of a ransomware group fabricating and recycling breach claims)
  • hxxps://databreaches[.]net/ (breach-claim verification reporting and methodology)
  • hxxps://www[.]ibm[.]com/reports/data-breach (Cost of a Data Breach Report — industry average cost-per-record methodology, referenced for the extrapolation point above)
  • hxxps://www[.]verizon[.]com/business/resources/reports/dbir/ (Data Breach Investigations Report — methodology notes on confirmed vs. suspected incidents)
  • hxxps://www[.]ransomware[.]live/ (leak-site activity tracker, useful for tracing a claim to its earliest posting)