EasyxLab
Limbă: RO Română

Traducere realizată cu IA a originalului în engleză, care este versiunea de referință. Citește în engleză

Studii / S5

Cine publică atestări pe PyPI și npm — și cine a renunțat?

Versiune de lucruPublicat 2026-10-03

Rezumat

Atestările PEP 740 permit oricui să verifice că un fișier PyPI a fost construit de un depozit și de un flux de lucru identificate. Lipsa atestărilor este norma. Am măsurat, pe 2026-10-02:

  • istoricul complet al încărcărilor pentru cele mai descărcate 15.000 de proiecte PyPI (lista lui hugovk din 2026-10-01);
  • identitatea publisherului fiecărui proiect atestat (PyPI Integrity API);
  • un eșantion de 1.500 de pachete npm.

Dintre cele 14.995 de proiecte pe care le-am putut analiza, 11.336 (75,6 %) nu au încărcat niciodată un fișier atestat.

Adopție. Ultima versiune este atestată pentru 3.479 din 14.995 de proiecte (23,2 %) și pentru 31,1 % dintre cele a căror ultimă versiune a fost încărcată prima dată după 2024-10-01. Pe intervale de poziție:

pozițiiultima versiune atestată
1–10059,0 %
10.001–15.00020,3 %

Ponderea proiectelor cu ultima versiune atestată a trecut de la 4,0 % (sfârșitul lui noiembrie 2024) la 23,2 % (sfârșitul lui septembrie 2026). Rezultatele noastre concordă cu cele din Are we PEP 740 yet? al Trail of Bits pentru 359 dintre cele 360 de pachete ale sale.

Proiecte care au renunțat. 148 de proiecte au încărcat un fișier atestat și ulterior au publicat versiuni fără atestare. Pentru 138 dintre ele, linia pe care o instalează pip avea atestări, iar ultima ei versiune nu are niciuna: 3,8 % dintre cele 3.659 de proiecte care au atestat vreodată. După cauză:

cauzăproiecte
schimbare de instrument sau de flux de lucru96
o singură versiune izolată15
atestare restabilită după ultima versiune1
necunoscută26

În 53 dintre schimbările de instrument sau de flux de lucru, fluxul de publicare rulează acum uv publish fără niciun pas de atestare. Exemple, fiecare susținut de un commit în paper.md §5.3: fastapi, typer, fastmcp și supabase. Renunțarea la atestare este o schimbare a instrumentelor de publicare, nu un semn de compromitere.

Schimbări de publisher. Cel puțin 307 proiecte atestate și-au schimbat publisherul. Dintre cele 188 de schimbări care traversează depozite sau tipuri de publisher:

  • 160 sunt confirmate de date publice;
  • 16 sunt în concordanță cu metadatele proiectului însuși;
  • 12, în 5 proiecte, nu sunt confirmate.

npm. 30,8 % dintre primele 1.000 de pachete publică proveniența (provenance); 4 dintre cele 459 de pachete care au făcut-o vreodată (0,9 %) au renunțat.

Lucrări anterioare. Cea mai apropiată măsurătoare existentă este trackerul Trail of Bits, care acoperă ultima versiune a primelor 360 de pachete PyPI. Acest studiu adaugă distribuția dincolo de cele 360, istoricul, renunțările și cauzele lor, precum și auditul publisherilor (paper.md §2).

Automatizare și evaluare. Agenți de IA au realizat studiul și au redactat textul. Un evaluator IA independent l-a verificat (paper.md §4.1).

Citați acest studiu

Citare
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}
}