Studie / S5
Kdo publikuje atestace na PyPI a npm – a kdo přestal?
Abstrakt
Atestace PEP 740 umožňují komukoli ověřit, že soubor na PyPI sestavil konkrétní repozitář a workflow. Neatestovat je normou. Dne 2026-10-02 jsme změřili:
- úplnou historii nahrávání 15 000 nejstahovanějších projektů PyPI (seznam hugovk z 2026-10-01);
- identitu vydavatele každého projektu s atestacemi (PyPI Integrity API);
- vzorek 1 500 balíčků npm.
Z 14 995 projektů, které jsme mohli analyzovat, 11 336 (75,6 %) nikdy nenahrálo atestovaný soubor.
Přijetí. Nejnovější verze je atestovaná u 3 479 z 14 995 projektů (23,2 %) a u 31,1 % těch, jejichž nejnovější verze byla poprvé nahrána po 2024-10-01. Podle pásma pořadí:
| pořadí | nejnovější verze atestovaná |
|---|---|
| 1–100 | 59,0 % |
| 10 001–15 000 | 20,3 % |
Podíl projektů s atestovanou nejnovější verzí vzrostl ze 4,0 % (konec listopadu 2024) na 23,2 % (konec září 2026). S přehledem Are we PEP 740 yet? od Trail of Bits se shodujeme u 359 z jeho 360 balíčků.
Projekty, které přestaly. 148 projektů nahrálo atestovaný soubor a později vydalo verzi bez něj. U 138 z nich měla řada vydání, kterou instaluje pip, atestace a její nejnovější verze žádné nemá: to jsou 3,8 % z 3 659 projektů, které kdy atestovaly. Podle příčiny:
| příčina | projekty |
|---|---|
| změna nástroje nebo workflow | 96 |
| jediné ojedinělé vydání | 15 |
| obnoveno po nejnovějším vydání | 1 |
| neznámá | 26 |
U 53 ze změn nástroje nebo workflow nyní publikační workflow spouští uv publish bez kroku atestace. Příklady, každý doložený commitem v paper.md §5.3: fastapi, typer, fastmcp a supabase. Ukončení je změnou nástrojů pro vydávání, nikoli známkou kompromitace.
Změny vydavatele. Nejméně 307 projektů s atestacemi změnilo vydavatele. Z 188 změn, při nichž se mění repozitář nebo druh vydavatele:
- 160 potvrzují veřejná data;
- 16 je v souladu s vlastními metadaty projektu;
- 12, v 5 projektech, potvrzeno není.
npm. 30,8 % z 1 000 nejpopulárnějších balíčků publikuje údaje o původu (provenance); 4 z 459 balíčků, které to kdy dělaly (0,9 %), přestaly.
Předchozí práce. Nejbližším existujícím měřením je přehled Trail of Bits, který pokrývá 360 nejpopulárnějších balíčků PyPI podle nejnovějšího vydání. Tato studie přidává rozložení mimo těchto 360, historii, ukončení a jejich příčiny a audit vydavatelů (paper.md §2).
Automatizace a kontrola. Studii provedli agenti AI a napsali text. Zkontroloval ji nezávislý recenzent AI (paper.md §4.1).
Citovat tuto studii
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}
}