PYSEC advisories for PyPI published in 2026 number 4,319, against 269 to 890 a year from 2021 to 2025. Of those 4,319, 4,216 (98%) list a GitHub advisory as an alias, so most look like second records for flaws already described. A jump in records says little about whether more flaws exist.
Method
We downloaded the PyPI OSV dump on 19 October 2026 and took records with IDs starting PYSEC (the PyPI advisory database) and GHSA (GitHub's advisory database). We counted PYSEC records by published year, by month and by day, and checked their aliases for GHSA and CVE IDs. We did not establish why the records were published when they were.
The jump
| Year published | PYSEC records |
|---|---|
| 2021 | 890 |
| 2022 | 526 |
| 2023 | 321 |
| 2024 | 328 |
| 2025 | 269 |
| 2026 (to 18 October) | 4,319 |
Within 2026, monthly PyPI advisory records of all kinds run from 125 in January to 3,027 in July. Two days stand out: 7 July (1,188 records) and 13 July (927).
What the new records are
Of the 4,319 PYSEC records from 2026, 4,216 list a GHSA record in their aliases. Only 103 do not. Taking each record's earliest CVE alias, the years are spread: 2,167 are 2026 CVEs, but 490 are 2022, 256 are 2023, 510 are 2024 and 494 are 2025, with a thin tail back to 2000. So most are not new flaws. They are records for older flaws, dated 2026 because that is when the record was published.
Why it matters
A chart of "PyPI advisories per year" built from published dates shows a spike that has nothing to do with attackers or maintainers. A tool that counts every record as a finding will also double count: a project affected by one flaw may carry a GHSA record and a PYSEC record. Our post on records versus unique vulnerabilities measures that overlap.
What to do
- Deduplicate by alias before you count.
- Use the date the flaw was disclosed, when you can find it, rather than the date the record was published.
- When comparing tools, check whether one reports the same flaw twice.
- If a vendor or analyst reports a jump in PyPI advisories, ask whether PYSEC and GHSA records were both counted.
This is a good example of why we state a method with every figure. The same dataset yields a flat line or a spike depending on one choice.
Safeguard's SBOM and dependency scanning lists the components you run, and reachability analysis helps separate vulnerable code your application calls from code it does not. You can try a free scan at gold.safeguard.sh/scan.
Quick check
Did PyPI become less safe in 2026?
This data does not show that. Most of the extra 2026 records describe older flaws and mirror GitHub records.
What is a PYSEC record?
An advisory from the PyPI advisory database, published in OSV format under an ID starting PYSEC.
Sources
- OSV data sources and dumps, per-ecosystem OSV dumps downloaded on 19 October 2026.
Last reviewed: 19 October 2026.