lowCWE-1076A06:2021

Sin Linting de Seguridad

Sin reglas de ESLint orientadas a seguridad, vulnerabilidades comunes como sinks XSS, dangerouslySetInnerHTML y uso de eval() pasan desapercibidas en code review.

Cómo Funciona

ESLint estándar atrapa problemas de estilo de código. Los plugins de linting de seguridad como eslint-plugin-security y eslint-plugin-no-unsanitized atrapan patrones conocidos por causar vulnerabilidades — antes de que lleguen a producción. Correrlos en CI hace que las verificaciones de seguridad sean automáticas en cada PR.

Código Vulnerable
// MAL: .eslintrc sin reglas de seguridad
{
  "extends": ["eslint:recommended", "next/core-web-vitals"]
  // sin plugins de seguridad — dangerouslySetInnerHTML pasa desapercibido
}
Código Seguro
// BIEN: agrega plugins de ESLint orientados a seguridad
{
  "extends": ["eslint:recommended", "next/core-web-vitals"],
  "plugins": ["security", "no-unsanitized"],
  "rules": {
    "security/detect-object-injection": "warn",
    "security/detect-non-literal-regexp": "warn",
    "no-unsanitized/method": "error"
  }
}

Ejemplo Real

El equipo de ingeniería de seguridad de Shopify publicó que al introducir reglas de linting de seguridad en su pipeline de CI, atraparon 40+ problemas de seguridad por mes que de otra forma habrían llegado a code review, reduciendo significativamente la carga de revisión de seguridad.

Cómo Prevenirlo

  • Agrega eslint-plugin-security a tu configuración de ESLint y habilita sus reglas recomendadas
  • Agrega eslint-plugin-no-unsanitized para atrapar asignaciones de innerHTML inseguras en React
  • Corre ESLint en CI en cada PR — no dejes que los fallos de lint de seguridad sean opcionales
  • Revisa la lista completa de reglas de eslint-plugin-security y habilita las relevantes para tu stack

Tecnologías Afectadas

Node.jsjavascript

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas