Field report: 3734 real pull requests scanned, 0 hallucinated packages confirmed

3734 real public pull requests scanned, 3500 dependencies resolved against the live registries, 0 hallucinated packages confirmed. Measured, not estimated, and re-checked weekly.

securitysupply chainmeasurementopen source

We run a security scanner on public pull requests and publish what it finds — including what it gets wrong. This is the weekly number.

What the field looks like this week

Pull requests analysed3734
Dependencies resolved against live PyPI and npm3500
Distinct package names seen3691
Hallucinated packages confirmed0
Candidates discarded on review6
Candidates still pending review12
Sweeps, since 2026-09-0415

A 404 means a name is not published. It does not mean anyone invented it — an unpublished sibling inside a monorepo returns exactly the same 404, and no HTTP request can tell them apart. So a name is counted only once a person has confirmed it, and the discarded and pending counts are published beside the total.

12 candidate(s) have not been looked at yet and are not in the count above. Uncounted is the default: we would rather say nothing than say something we have not checked.

Zero confirmed is the headline, and it is not good news for us.

A lot has been written about AI assistants inventing package names. On 3734 real pull requests we have confirmed none, and discarded 6 candidate(s) on review — sibling packages of a monorepo, and configuration keys read as package names.

We publish this because it partly undercuts one of our own arguments. The laboratory studies that report high hallucination rates measure what a model produces when asked to solve a task. That is a different population from what survives review and reaches a pull request, and the difference matters if you are deciding where to spend attention.

Check any of this yourself

Generated on 2026-09-28 from measurements taken on public repositories. Every figure above is resolved against the endpoints linked here before publishing, and re-checked weekly afterwards — if one stops being true, this article gets a dated correction at the top.

This report was generated from measurements, not written by hand: every figure above is resolved against our public endpoints before publishing and re-checked once a week afterwards. If one stops being true, a dated correction appears at the top of this page. How often we are wrong →