highCWE-829A06:2021

Typosquatting de Paquetes

Instalar un paquete con un nombre que difiere por un caracter de una librería popular puede instalar malware en vez del paquete real.

Cómo Funciona

Los atacantes registran nombres de paquetes que parecen populares (lodahs, expres, coloers) y les incrustan código que roba credenciales o backdoors. Un typo en npm install y código malicioso corre en tu entorno de build con acceso completo al sistema de archivos y variables de entorno.

Código Vulnerable
// MAL: un typo instala un paquete malicioso
// package.json
{
  "dependencies": {
    "lodahs": "^4.17.0",
    "coloers": "^1.4.0"
  }
}
Código Seguro
// BIEN: verifica los nombres exactos de paquetes antes de instalar
// package.json
{
  "dependencies": {
    "lodash": "^4.17.0",
    "colors": "^1.4.0"
  }
}

Ejemplo Real

En 2022, el mantenedor de 'node-ipc' intencionalmente agregó código malicioso. El mismo año, 'colors' y 'faker' fueron saboteados por sus autores. Pero víctimas accidentales de typosquatting incluyen paquetes como 'event-stream' (2018), transferido a un actor malicioso y descargado 2 millones de veces con un backdoor de billetera Bitcoin.

Cómo Prevenirlo

  • Siempre verifica los nombres de paquetes en npmjs.com antes de instalar
  • Usa npm audit y socket.dev para detectar paquetes sospechosos
  • Habilita el flag --ignore-scripts de npm en CI para prevenir la ejecución de scripts postinstall
  • Fija versiones exactas en package.json para dependencias críticas y verifica checksums

Tecnologías Afectadas

Node.jsPython

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas