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.
// MAL: .eslintrc sin reglas de seguridad
{
"extends": ["eslint:recommended", "next/core-web-vitals"]
// sin plugins de seguridad — dangerouslySetInnerHTML pasa desapercibido
}// 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
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Sin Archivo .env.example
lowSin un archivo .env.example, los nuevos colaboradores no saben qué variables de entorno se requieren, lo que lleva a soluciones inseguras como hardcodear valores.
Sin Git Hooks de Seguridad
lowSin hooks de pre-commit que escaneen en busca de secrets y problemas de seguridad, los desarrolladores pueden accidentalmente pushear API keys y contraseñas al repositorio.
.gitignore Inadecuado
mediumUn .gitignore que no cubre archivos .env, artefactos de build y configuraciones de IDE puede llevar a que secrets o datos sensibles sean accidentalmente commiteados.
npm Scripts Inseguros
mediumLos npm scripts que obtienen y ejecutan código remoto, o que incrustan secrets como argumentos de shell, son un riesgo de supply chain y exposición de credenciales.