Seguridad: auditar y remediar vulnerabilidades

Aprende a usar npm audit para detectar vulnerabilidades en tus dependencias, npm audit fix para remediar problemas conocidos, y mejores prácticas para mantener tus proyectos seguros.

Las vulnerabilidades en dependencias son una de las principales causas de brechas de seguridad. Un paquete aparentemente inofensivo puede contener código malicioso o tener vulnerabilidades conocidas que los atacantes explotan.

En esta lección vas a aprender a auditar tus proyectos con npm audit, interpretar los informes de seguridad, y aplicar fixes de forma segura. También conocerás herramientas adicionales como npm ci y cómo prevenir problemas.

Al terminar, sabrás mantener tus proyectos libres de vulnerabilidades conocidas.

  • Conoce los problemas de seguridad de tus dependencias.
  • npm audit analiza tu proyecto contra la base de datos de vulnerabilidades conocida (mantenida por el npm Security Team). El comando muestra un informe con todas las vulnerabilidades encontradas, clasificadas por severidad: critical, high, moderate, low.
  • Ejecuta npm audit regularmente, especialmente antes de deployments.
  • Actualiza paquetes para resolver problemas.
  • npm audit fix intenta actualizar automáticamente los paquetes a versiones que resuelvan las vulnerabilidades. Para vulnerabilidades que tienen fix disponible, esto suele funcionar.

npm audit: detectar vulnerabilidades

Conoce los problemas de seguridad de tus dependencias.

npm audit analiza tu proyecto contra la base de datos de vulnerabilidades conocida (mantenida por el npm Security Team). El comando muestra un informe con todas las vulnerabilidades encontradas, clasificadas por severidad: critical, high, moderate, low.

Ejecuta npm audit regularmente, especialmente antes de deployments.

npm audit fix: remediar vulnerabilidades

Actualiza paquetes para resolver problemas.

npm audit fix intenta actualizar automáticamente los paquetes a versiones que resuelvan las vulnerabilidades. Para vulnerabilidades que tienen fix disponible, esto suele funcionar.

Para vulnerabilidades sin fix automático, el comando te avisa y sugiere alternativas.

Entender los niveles de severidad

Critical, high, moderate, low.

npm clasifica vulnerabilidades por severidad: critical (ejecución remota de código), high (denegación de servicio, acceso no autorizado), moderate (impacto limitado), low (impacto mínimo).

Prioriza siempre las vulnerabilidades critical y high.

  • Critical: ejecutar código arbitrario
  • High: denial of service, acceso no autorizado
  • Moderate: impacto limitado
  • Low: generalmente cosmético

Prevención: mejores prácticas

Evita problemas desde el inicio.

Usa npm ci en lugar de npm install en CI/CD para instalaciones reproducibles y auditadas. Considera usar npm audit como parte de tu pipeline de CI.

Mantén dependencias actualizadas regularmente. Suscríbete a alertas de seguridad de tus paquetes críticos.

  • Usa npm ci en producción
  • Ejecuta npm audit en CI
  • Mantén dependencias actualizadas
  • Revisa paquetes antes de instalar
NPM
13

Seguridad: auditar y remediar vulnerabilidades

Aprende a usar npm audit para detectar vulnerabilidades en tus dependencias, npm audit fix para remediar problemas conocidos, y mejores prácticas para mantener tus proyectos seguros.

Código del tema: npm audit

📘 Teoría

npm audit: detectar vulnerabilidades

Conoce los problemas de seguridad de tus dependencias.

npm audit analiza tu proyecto contra la base de datos de vulnerabilidades conocida (mantenida por el npm Security Team). El comando muestra un informe con todas las vulnerabilidades encontradas, clasificadas por severidad: critical, high, moderate, low.

Ejecuta npm audit regularmente, especialmente antes de deployments.

npm audit fix: remediar vulnerabilidades

Actualiza paquetes para resolver problemas.

1

npm audit fix intenta actualizar automáticamente los paquetes a versiones que resuelvan las vulnerabilidades. Para vulnerabilidades que tienen fix disponible, esto suele funcionar.

2

Para vulnerabilidades sin fix automático, el comando te avisa y sugiere alternativas.

Entender los niveles de severidad

Critical, high, moderate, low.

npm clasifica vulnerabilidades por severidad: critical (ejecución remota de código), high (denegación de servicio, acceso no autorizado), moderate (impacto limitado), low (impacto mínimo).

Prioriza siempre las vulnerabilidades critical y high.

  • Critical: ejecutar código arbitrario
  • High: denial of service, acceso no autorizado
  • Moderate: impacto limitado
  • Low: generalmente cosmético

Prevención: mejores prácticas

Evita problemas desde el inicio.

Usa npm ci en lugar de npm install en CI/CD para instalaciones reproducibles y auditadas. Considera usar npm audit como parte de tu pipeline de CI.

Mantén dependencias actualizadas regularmente. Suscríbete a alertas de seguridad de tus paquetes críticos.

  • Usa npm ci en producción
  • Ejecuta npm audit en CI
  • Mantén dependencias actualizadas
  • Revisa paquetes antes de instalar

🧪 Aprende probando

Ejemplo Ejemplo: auditar un proyecto Ejecuta npm audit en un proyecto.

🏁 Retos

Reto Reto 1: Ejecutar auditoría Ejecuta npm audit y revisa el informe.
Reto Reto 2: Remediar vulnerabilidades Usa npm audit fix para resolver problemas.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre NPM.

Test de NPM

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com