Paquetes Abandonados
Las dependencias que no han sido actualizadas en 2+ años no recibirán parches de seguridad cuando se descubran nuevas vulnerabilidades.
Cómo Funciona
Cuando un mantenedor deja de trabajar en un paquete, los CVEs se acumulan sin parches. Los atacantes a veces apuntan específicamente a paquetes populares abandonados, adquiriéndolos vía solicitudes de transferencia de npm o ingeniería social, para luego publicar una actualización maliciosa a todos los usuarios existentes.
// MAL: dependencia con última actualización hace 3 años y CVEs conocidos
// package.json
{
"dependencies": {
"request": "^2.88.0" // deprecado desde 2020, sin parches de seguridad
}
}// BIEN: reemplaza paquetes abandonados con alternativas mantenidas
// package.json
{
"dependencies": {
"got": "^13.0.0" // cliente HTTP activamente mantenido
// o usa la API fetch nativa en Node 18+
}
}Ejemplo Real
El paquete npm 'request' (500M+ descargas semanales) fue deprecado en 2020 y ha acumulado múltiples vulnerabilidades sin parchear. Los proyectos que aún lo usan están expuestos sin una ruta de corrección oficial.
Cómo Prevenirlo
- Corre npm outdated regularmente y reemplaza dependencias sin releases recientes
- Usa npm audit o socket.dev para marcar paquetes etiquetados como deprecados
- Revisa la actividad en GitHub de dependencias críticas antes de adoptarlas
- Establece una política: si un paquete no tiene release en 24 meses, evalúa un reemplazo
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Typosquatting de Paquetes
highInstalar un paquete con un nombre que difiere por un caracter de una librería popular puede instalar malware en vez del paquete real.
Scripts de Instalación Maliciosos
highLos scripts postinstall de npm se ejecutan automáticamente con los permisos de tu sistema durante npm install, convirtiéndolos en un vector común de malware.
Confusión de Dependencias
highLos paquetes internos privados sin prefijo de scope pueden ser hijackeados publicando un paquete público con el mismo nombre pero mayor versión.
Lockfile Faltante
mediumSin un lockfile, npm install resuelve la versión compatible más reciente de cada dependencia — lo que puede introducir un paquete comprometido en tu próximo deploy.