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

Ataque de dependencia confusa

¿Qué es Ataque de dependencia confusa?

Ataque de dependencia confusaAtaque a la cadena de suministro en el que el adversario publica un paquete malicioso en un registro público con el mismo nombre que una dependencia interna, engañando a las herramientas de build para que tomen la versión pública.


El dependency confusion explota el comportamiento por defecto de los gestores de paquetes (npm, pip, Maven, NuGet, RubyGems...) que combinan registros públicos y privados. El atacante averigua el nombre de un paquete interno (manifests filtrados, repositorios públicos, DNS), publica en el registro público un paquete con el mismo nombre y versión superior y espera a que los agentes de build lo instalen. La investigación de Alex Birsan en 2021 demostró que decenas de grandes compañías eran vulnerables. Mitigaciones: ámbito explícito de registros (npm scoped packages, upstream feeds en NuGet, pip --index-url), publicar placeholders internos en registros públicos, bloquear resolución saliente, firmar paquetes con Sigstore o PGP y consumir a través de un repositorio de artefactos curado que fije nombre y origen. SLSA, SBOM y la monitorización continua de nuevos paquetes públicos también ayudan a detectar intentos.

Ejemplos

  1. 01

    Paquete interno internal-utils sustituido por un internal-utils@99.0.0 malicioso en npm.

  2. 02

    Pipeline que descarga una dependencia pip de PyPI en lugar del índice privado.

Preguntas frecuentes

¿Qué es Ataque de dependencia confusa?

Ataque a la cadena de suministro en el que el adversario publica un paquete malicioso en un registro público con el mismo nombre que una dependencia interna, engañando a las herramientas de build para que tomen la versión pública. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.

¿Qué significa Ataque de dependencia confusa?

Ataque a la cadena de suministro en el que el adversario publica un paquete malicioso en un registro público con el mismo nombre que una dependencia interna, engañando a las herramientas de build para que tomen la versión pública.

¿Cómo funciona Ataque de dependencia confusa?

El dependency confusion explota el comportamiento por defecto de los gestores de paquetes (npm, pip, Maven, NuGet, RubyGems...) que combinan registros públicos y privados. El atacante averigua el nombre de un paquete interno (manifests filtrados, repositorios públicos, DNS), publica en el registro público un paquete con el mismo nombre y versión superior y espera a que los agentes de build lo instalen. La investigación de Alex Birsan en 2021 demostró que decenas de grandes compañías eran vulnerables. Mitigaciones: ámbito explícito de registros (npm scoped packages, upstream feeds en NuGet, pip --index-url), publicar placeholders internos en registros públicos, bloquear resolución saliente, firmar paquetes con Sigstore o PGP y consumir a través de un repositorio de artefactos curado que fije nombre y origen. SLSA, SBOM y la monitorización continua de nuevos paquetes públicos también ayudan a detectar intentos.

¿Cómo defenderse de Ataque de dependencia confusa?

Las defensas contra Ataque de dependencia confusa combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Ataque de dependencia confusa?

Nombres alternativos comunes: Ataque de sustitución de paquetes, Confusión de namespaces.

Términos relacionados

Véase también