Studier / S5
Hvem offentliggør attestationer på PyPI og npm – og hvem holdt op?
Resumé
Attestationer efter PEP 740 gør det muligt for enhver at kontrollere, at en fil på PyPI er bygget af et navngivet repositorium og workflow. Det normale er ikke at attestere. Vi målte den 2026-10-02:
- den fulde uploadhistorik for de 15.000 mest downloadede PyPI-projekter (hugovks liste fra 2026-10-01);
- publisher-identiteten for hvert attesteret projekt (PyPI Integrity API);
- en stikprøve på 1.500 npm-pakker.
Af de 14.995 projekter, vi kunne analysere, har 11.336 (75,6 %) aldrig uploadet en attesteret fil.
Udbredelse. Den seneste version er attesteret for 3.479 af 14.995 projekter (23,2 %) og for 31,1 % af dem, hvis seneste version første gang blev uploadet efter 2024-10-01. Efter placeringsinterval:
| placeringer | seneste version attesteret |
|---|---|
| 1–100 | 59,0 % |
| 10.001–15.000 | 20,3 % |
Andelen af projekter, hvis seneste version er attesteret, steg fra 4,0 % (udgangen af november 2024) til 23,2 % (udgangen af september 2026). Vi er enige med Trail of Bits' Are we PEP 740 yet? om 359 af dens 360 pakker.
Projekter, der holdt op. 148 projekter uploadede en attesteret fil og udgav senere uden. For 138 havde den linje, som pip installerer, attestationer, og dens seneste version har ingen: 3,8 % af de 3.659 projekter, der nogensinde har attesteret. Efter årsag:
| årsag | projekter |
|---|---|
| skift af værktøj eller workflow | 96 |
| én enkeltstående udgivelse | 15 |
| genoprettet efter den seneste udgivelse | 1 |
| ukendt | 26 |
I 53 af skiftene af værktøj eller workflow kører udgivelsesworkflowet nu uv publish uden et attestationstrin. Eksempler, hver underbygget af et commit i paper.md §5.3: fastapi, typer, fastmcp og supabase. At holde op er et skift af udgivelsesværktøjer, ikke et tegn på kompromittering.
Skift af publisher. Mindst 307 attesterede projekter har skiftet publisher. Af de 188 skift, der går på tværs af repositorier eller typer af publisher:
- 160 er bekræftet af offentlige data;
- 16 er forenelige med projektets egne metadata;
- 12, i 5 projekter, er ikke bekræftet.
npm. 30,8 % af top 1.000 offentliggør provenance; 4 af 459 pakker, der nogensinde gjorde det (0,9 %), er holdt op.
Tidligere arbejde. Den nærmeste eksisterende måling er Trail of Bits' tracker, som dækker de 360 største PyPI-pakker ud fra deres seneste udgivelse. Dette studie tilføjer fordelingen ud over de 360, historikken, ophørene og deres årsager samt auditten af publishers (paper.md §2).
Automatisering og gennemgang. AI-agenter udførte studiet og skrev teksten. En uafhængig AI-reviewer kontrollerede den (paper.md §4.1).
Citér dette studie
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}
}