Studien / S5
Wer veröffentlicht Attestierungen auf PyPI und npm – und wer hat damit aufgehört?
Zusammenfassung
Attestierungen nach PEP 740 ermöglichen es jedem zu prüfen, dass eine Datei auf PyPI von einem namentlich bestimmten Repository und Workflow gebaut wurde. Nicht zu attestieren ist die Regel. Wir haben am 2026-10-02 Folgendes gemessen:
- die vollständige Upload-Historie der 15.000 meistheruntergeladenen PyPI-Projekte (Liste von hugovk vom 2026-10-01);
- die Publisher-Identität jedes attestierten Projekts (PyPI Integrity API);
- eine Stichprobe von 1.500 npm-Paketen.
Von den 14.995 Projekten, die wir analysieren konnten, haben 11.336 (75,6 %) nie eine attestierte Datei hochgeladen.
Verbreitung. Für 3.479 von 14.995 Projekten (23,2 %) ist die neueste Version attestiert, und für 31,1 % derjenigen, deren neueste Version erstmals nach dem 2024-10-01 hochgeladen wurde. Nach Rangbereich:
| Ränge | neueste Version attestiert |
|---|---|
| 1–100 | 59,0 % |
| 10.001–15.000 | 20,3 % |
Der Anteil der Projekte, deren neueste Version attestiert ist, stieg von 4,0 % (Ende November 2024) auf 23,2 % (Ende September 2026). Bei 359 seiner 360 Pakete stimmen wir mit Are we PEP 740 yet? von Trail of Bits überein.
Projekte, die aufgehört haben. 148 Projekte haben eine attestierte Datei hochgeladen und später ohne eine solche veröffentlicht. Bei 138 hatte die Versionslinie, die pip installiert, Attestierungen, und ihre neueste Version hat keine: 3,8 % der 3.659 Projekte, die jemals attestiert haben. Nach Ursache:
| Ursache | Projekte |
|---|---|
| Wechsel von Werkzeug oder Workflow | 96 |
| eine einzelne, isolierte Veröffentlichung | 15 |
| nach der neuesten Veröffentlichung wiederhergestellt | 1 |
| unbekannt | 26 |
Bei 53 der Wechsel von Werkzeug oder Workflow führt der Veröffentlichungs-Workflow jetzt uv publish ohne Attestierungsschritt aus. Beispiele, jeweils durch einen Commit in paper.md §5.3 belegt: fastapi, typer, fastmcp und supabase. Das Aufhören ist ein Wechsel der Release-Werkzeuge, kein Anzeichen einer Kompromittierung.
Publisher-Wechsel. Mindestens 307 attestierte Projekte haben den Publisher gewechselt. Von den 188 Wechseln, die über Repositorys oder Publisher-Arten hinweg erfolgen:
- 160 sind durch öffentliche Daten bestätigt;
- 16 sind mit den eigenen Metadaten des Projekts vereinbar;
- 12, in 5 Projekten, sind nicht bestätigt.
npm. 30,8 % der Top 1.000 veröffentlichen Provenance-Angaben; 4 von 459 Paketen, die das jemals taten (0,9 %), haben damit aufgehört.
Frühere Arbeiten. Die nächstliegende bestehende Messung ist der Tracker von Trail of Bits, der die 360 wichtigsten PyPI-Pakete anhand ihrer neuesten Veröffentlichung abdeckt. Diese Studie ergänzt die Verteilung über diese 360 hinaus, die Historie, das Aufhören und seine Ursachen sowie die Prüfung der Publisher (paper.md §2).
Automatisierung und Prüfung. KI-Agenten haben die Studie durchgeführt und den Text geschrieben. Ein unabhängiger KI-Gutachter hat ihn geprüft (paper.md §4.1).
Diese Studie zitieren
EasyxLab (2026). Who publishes attestations on PyPI and npm — and who stopped? Study S5. EasyByte Hub S. Coop. Mad. https://github.com/easybytehub/easyxlab/tree/main/studies/s5-pypi-attestations@techreport{easyxlab_s5,
title = {Who publishes attestations on PyPI and npm — and who stopped?},
author = {{EasyxLab}},
institution = {EasyByte Hub S. Coop. Mad.},
number = {S5},
year = {2026},
url = {https://github.com/easybytehub/easyxlab/tree/main/studies/s5-pypi-attestations}
}