lowCWE-1059

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.

Código Vulnerable
// 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
Código Seguro
// 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_aqui

Ejemplo 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

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas