EasyxLab
Idioma: PT Português

Tradução feita por IA do original em inglês, que é a versão de referência. Ler em inglês

Estudos / S5

Quem publica atestações no PyPI e no npm — e quem deixou de o fazer?

Versão de trabalhoPublicado 2026-10-03

Resumo

As atestações PEP 740 permitem a qualquer pessoa verificar que um ficheiro do PyPI foi construído por um repositório e um fluxo de trabalho identificados. Não as publicar é a norma. Medimos, em 2026-10-02:

  • o histórico completo de carregamentos dos 15 000 projetos mais descarregados do PyPI (a lista de hugovk de 2026-10-01);
  • a identidade do publicador de cada projeto com atestações (PyPI Integrity API);
  • uma amostra de 1500 pacotes do npm.

Dos 14 995 projetos que conseguimos analisar, 11 336 (75,6%) nunca carregaram um ficheiro com atestação.

Adoção. A última versão tem atestação em 3479 de 14 995 projetos (23,2%) e em 31,1% daqueles cuja última versão foi carregada pela primeira vez depois de 2024-10-01. Por faixa de posição:

posiçõesúltima versão com atestação
1–10059,0%
10 001–15 00020,3%

A proporção de projetos cuja última versão tem atestação passou de 4,0% (final de novembro de 2024) para 23,2% (final de setembro de 2026). Concordamos com o Are we PEP 740 yet?, da Trail of Bits, em 359 dos seus 360 pacotes.

Projetos que deixaram de o fazer. 148 projetos carregaram um ficheiro com atestação e depois publicaram versões sem ela. Em 138, a linha que o pip instala tinha atestações e a sua última versão não tem nenhuma: 3,8% dos 3659 projetos que alguma vez as publicaram. Por causa:

causaprojetos
mudança de ferramenta ou de fluxo de trabalho96
uma única versão isolada15
atestação reposta depois da última versão1
desconhecida26

Em 53 das mudanças de ferramenta ou de fluxo de trabalho, o fluxo de publicação executa agora uv publish sem nenhum passo de atestação. Exemplos, cada um sustentado por um commit em paper.md §5.3: fastapi, typer, fastmcp e supabase. Deixar de publicar atestações é uma mudança nas ferramentas de publicação, não um sinal de comprometimento.

Mudanças de publicador. Pelo menos 307 projetos com atestações mudaram de publicador. Das 188 mudanças que atravessam repositórios ou tipos de publicador:

  • 160 são confirmadas por dados públicos;
  • 16 são coerentes com os próprios metadados do projeto;
  • 12, em 5 projetos, não são confirmadas.

npm. 30,8% dos 1000 pacotes principais publicam proveniência (provenance); 4 dos 459 pacotes que alguma vez o fizeram (0,9%) deixaram de o fazer.

Trabalhos anteriores. A medição existente mais próxima é o painel de acompanhamento da Trail of Bits, que abrange a última versão dos 360 primeiros pacotes do PyPI. Este estudo acrescenta a distribuição para além desses 360, o histórico, as interrupções e as suas causas, e a auditoria de publicadores (paper.md §2).

Automatização e revisão. Agentes de IA realizaram o estudo e redigiram o texto. Um revisor de IA independente verificou-o (paper.md §4.1).

Citar este estudo

Citação
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}
}