All software: vulnerabilities disclosed

CVEs published

The final bar is a partial quarter; hover for the flag.

Definition

This series counts every CVE published in the US government's vulnerability database, across all software. There is no fixed codebase, so the population being searched grows along with the count. There is no finder attribution. A CVE is published when a numbering authority's process publishes it, so a single organization's pipeline can move the aggregate without the world's stock of bugs changing.

A "discovery" here is one CVE record, counted in the quarter NVD published it. The 2016-to-2017 near-tripling is a process break — the expansion of CVE numbering authorities — so the series is comparable only from about 2018.

Facts

The annualization, the growth rates and the doubling arithmetic are this repository's calculations over the vendored counts, not figures any source states.

The collection-wide cumulative index redraws this series as cumulative CVEs published to date:

Cumulative CVEs published to date.

Method

The CSVs are built by fetch.py. NVD caps a query window at 120 days and rate-limits unkeyed callers, so each year is fetched as four quarterly windows with a pause between calls and a backoff for the HTML error pages the API returns when the limit is hit; the script reads totalResults rather than the records themselves. Quarters are therefore the query's native grain, and the annual file is their sum.

figure.py calls the shared periodic_stacked() shape in ../../lib/families.py, drawing one bar per quarter from the nvd_published column of nvd-by-quarter.csv. The bars are blue, the colour this collection uses for human or uncredited finders, because nothing in this series is attributed to anyone; there is no red band to draw. The partial_quarter row is outlined in dark grey and annotated with the data_through value. The axis is linear and January 2026 onward is shaded, as in every figure here. The kev_added counts plotted in all software: known exploited were once a second column of this file and now live in that folder; the two are drawn as separate figures because they differ by two orders of magnitude. check.py recomputes the fact lines above from the CSVs.

Limitations

AI attribution

No CVE record in this series carries a finder credit; nothing here can be attributed to AI, to a human, or to a tool, as of the 2026-08-10 read of the API [@nvd2026api]. Claims connecting the 2026 records to AI sit outside the series: Anthropic's Mythos preview claims "thousands" of previously unknown vulnerabilities, an unaudited vendor figure [@anthropicmythos2026], and press reporting frames the 2026 records as AI-driven [@bloomberg2026recordflaws]. Neither maps to identifiable rows here; for attribution that can be counted, the fixed-codebase series under Sources are the instrument.

Sources