Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 304

Ataque de dependency confusion

O que é Ataque de dependency confusion?

Ataque de dependency confusionAtaque de cadeia de fornecimento em que um adversário publica num registo público um pacote malicioso com o mesmo nome de uma dependência interna, levando as ferramentas de build a obter a versão pública.


O dependency confusion explora o comportamento padrão de resolução dos gestores de pacotes (npm, pip, Maven, NuGet, RubyGems, etc.) que combinam registos públicos e privados. O atacante descobre o nome de um pacote interno (via manifestos fugidos, repositórios públicos, DNS), publica no registo público um pacote com o mesmo nome e versão superior e aguarda que os agentes de build o instalem. A investigação de Alex Birsan em 2021 mostrou que dezenas de grandes empresas eram vulneráveis. Mitigações incluem âmbito explícito de registos (pacotes scoped no npm, upstream feeds no NuGet, pip --index-url), publicar placeholders internos no registo público, bloquear resolução para fora, assinar pacotes com Sigstore ou PGP e consumir via um repositório de artefactos curado que fixe nome e origem. SLSA, SBOM e a monitorização contínua de novos pacotes públicos ajudam a detetar tentativas.

Exemplos

  1. 01

    Pacote interno internal-utils substituído por um internal-utils@99.0.0 malicioso no npm.

  2. 02

    Pipeline de build a obter dependência pip do PyPI em vez do índice privado.

Perguntas frequentes

O que é Ataque de dependency confusion?

Ataque de cadeia de fornecimento em que um adversário publica num registo público um pacote malicioso com o mesmo nome de uma dependência interna, levando as ferramentas de build a obter a versão pública. Pertence à categoria Segurança de aplicações da cibersegurança.

O que significa Ataque de dependency confusion?

Ataque de cadeia de fornecimento em que um adversário publica num registo público um pacote malicioso com o mesmo nome de uma dependência interna, levando as ferramentas de build a obter a versão pública.

Como funciona Ataque de dependency confusion?

O dependency confusion explora o comportamento padrão de resolução dos gestores de pacotes (npm, pip, Maven, NuGet, RubyGems, etc.) que combinam registos públicos e privados. O atacante descobre o nome de um pacote interno (via manifestos fugidos, repositórios públicos, DNS), publica no registo público um pacote com o mesmo nome e versão superior e aguarda que os agentes de build o instalem. A investigação de Alex Birsan em 2021 mostrou que dezenas de grandes empresas eram vulneráveis. Mitigações incluem âmbito explícito de registos (pacotes scoped no npm, upstream feeds no NuGet, pip --index-url), publicar placeholders internos no registo público, bloquear resolução para fora, assinar pacotes com Sigstore ou PGP e consumir via um repositório de artefactos curado que fixe nome e origem. SLSA, SBOM e a monitorização contínua de novos pacotes públicos ajudam a detetar tentativas.

Como se defender contra Ataque de dependency confusion?

As defesas contra Ataque de dependency confusion costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Ataque de dependency confusion?

Nomes alternativos comuns: Confusão de namespaces, Ataque de substituição.

Termos relacionados

Veja também