Sin Archivo .env.example
Sin un archivo .env.example, los nuevos colaboradores no saben qué variables de entorno se requieren, lo que lleva a soluciones inseguras como hardcodear valores.
Cómo Funciona
Cuando un desarrollador clona tu repo y no puede encontrar qué variables de entorno se necesitan, pasa tiempo leyendo el código para averiguarlo o hardcodea valores para que funcione rápido. Un .env.example con todas las keys requeridas (pero sin valores reales) resuelve el problema de documentación y reduce la tentación de hardcodear.
// MAL: sin .env.example — el desarrollador tiene que adivinar qué se necesita
// .gitignore
.env
// Sin archivo .env.example
// el dev clona el repo, nada funciona, hardcodea DATABASE_URL en el código// BIEN: .env.example documenta todas las variables requeridas
// .env.example (commiteado a git, sin valores reales)
DATABASE_URL=postgresql://usuario:password@localhost:5432/midb
NEXT_PUBLIC_SUPABASE_URL=https://tu-proyecto.supabase.co
STRIPE_SECRET_KEY=sk_test_tu_key_aqui
ANTHROPIC_API_KEY=sk-ant-tu_key_aquiEjemplo Real
Estudios de repositorios open source muestran que la falta de documentación de configuración es una de las principales razones por las que los desarrolladores accidentalmente commitean secrets reales — no pueden encontrar el .env.example así que pegan valores reales directamente en el código.
Cómo Prevenirlo
- Crea un .env.example con cada key requerida y un valor placeholder que describa qué va ahí
- Mantén .env.example actualizado cuando agregues nuevas variables de entorno
- Agrega un paso de configuración en tu README que le diga a los desarrolladores que copien .env.example a .env
- Considera usar una herramienta como dotenv-safe que valide que todas las keys de .env.example estén presentes al iniciar
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Sin Linting de Seguridad
lowSin reglas de ESLint orientadas a seguridad, vulnerabilidades comunes como sinks XSS, dangerouslySetInnerHTML y uso de eval() pasan desapercibidas en code review.
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.