EasyxLab
Език: BG Български

Превод с ИИ на английския оригинал, който е референтната версия. Прочетете на английски

Изследвания / S5

Кой публикува атестации в PyPI и npm – и кой спря?

Работен вариантПубликувано 2026-10-03

Резюме

Атестациите PEP 740 позволяват на всеки да провери, че даден файл в PyPI е изграден от посочено хранилище и работен процес (workflow). Липсата на атестация е нормата. На 2026-10-02 измерихме:

  • пълната история на качванията на 15 000-те най-изтегляни проекта в PyPI (списъкът на hugovk от 2026-10-01);
  • самоличността на издателя на всеки проект с атестации (PyPI Integrity API);
  • извадка от 1 500 пакета в npm.

От 14 995-те проекта, които успяхме да анализираме, 11 336 (75,6%) никога не са качвали атестиран файл.

Възприемане. Най-новата версия е атестирана при 3 479 от 14 995 проекта (23,2%) и при 31,1% от тези, чиято най-нова версия е качена за първи път след 2024-10-01. По диапазон в класирането:

позиции в класиранетоатестирана най-нова версия
1–10059,0%
10 001–15 00020,3%

Делът на проектите с атестирана най-нова версия нарасна от 4,0% (края на ноември 2024 г.) до 23,2% (края на септември 2026 г.). Съгласни сме с Are we PEP 740 yet? на Trail of Bits за 359 от неговите 360 пакета.

Проекти, които спряха. 148 проекта са качили атестиран файл, а по-късно са издали версия без такъв. При 138 от тях линията от версии, която pip инсталира, е имала атестации, а най-новата ѝ версия няма: това са 3,8% от 3 659-те проекта, които някога са атестирали. По причина:

причинапроекти
смяна на инструмента или работния процес96
едно изолирано издание15
възстановено след най-новото издание1
неизвестна26

При 53 от смените на инструмента или работния процес работният процес за публикуване вече изпълнява uv publish без стъпка за атестация. Примери, всеки подкрепен с commit в paper.md §5.3: fastapi, typer, fastmcp и supabase. Спирането е смяна на инструментите за издаване, а не признак на компрометиране.

Смени на издателя. Поне 307 проекта с атестации са сменили издателя си. От 188-те смени, при които се сменя хранилището или видът на издателя:

  • 160 са потвърдени от публични данни;
  • 16 съответстват на собствените метаданни на проекта;
  • 12, в 5 проекта, не са потвърдени.

npm. 30,8% от 1 000-те водещи пакета публикуват данни за произход (provenance); 4 от 459-те пакета, които някога са го правили (0,9%), са спрели.

Предишни изследвания. Най-близкото съществуващо измерване е проследяващият инструмент на Trail of Bits, който обхваща 360-те водещи пакета в PyPI по най-ново издание. Това изследване добавя разпределението отвъд тези 360, историята, спиранията и техните причини, както и одита на издателите (paper.md §2).

Автоматизация и преглед. Изследването е проведено от агенти с ИИ, които са написали и текста. Проверено е от независим рецензент с ИИ (paper.md §4.1).

Цитирайте това изследване

Цитиране
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
BibTeX
@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}
}