Segurança de dependências Python em 2026 — pip-audit, lockfiles e os ataques ao PyPI que continuamos vendo
14 de maio de 2026 · 1 min de leitura · por Sudhanshu K.
Ataques à supply-chain do PyPI se tornaram rotineiros em 2026. Typosquatting é o ruído de cauda longa. Os incidentes sérios são maintainers que roubam credenciais, ataques de dependency-confusion contra nomes de pacote internos privados, e scripts de pós-instalação que exfiltram variáveis de ambiente no pip install.
As defesas do ecossistema Python alcançaram depois das do npm. Agora estão adequadas. O que precisam é de fato estarem ligadas.
O gate do CI
pip install pip-audit
pip-audit --strict --requirement requirements.txt
# pip 24+ — verifica atestações de pacote
pip install --require-hashes -r requirements.lock.txt
# Cinto e suspensório: scanner de terceiro
pip install safety
safety check --json--require-hashes faz o pip recusar instalar se o SHA256 de um pacote não bater com o que está fixado no seu lockfile. Essa única flag derrota a maioria dos ataques de supply-chain — um maintainer comprometido que empurra uma nova versão com o mesmo número não é instalado.
O artigo completo cobre:
- Por que
requirements.txtsozinho não é lockfile (e o que é — pip-compile, uv lock, Poetry) - A história PEP 740 / sigstore provenance que aterrissou em 2024
- Dependency confusion contra nomes de pacote privados — o namespace squat
- Scripts pre-install e argumentos
--no-build-isolationa evitar - O padrão de mirror PyPI interno / devpi para pipelines air-gapped
- Config do Renovate para Python — agrupamentos padrão sensatos e cadência de update
Entregamos esses controles em cada stack Python gerenciada.
Full article available
Read the full article