highCWE-547A05:2021

Variables de Entorno de Dev en Producción

Usar credenciales de desarrollo (API keys de prueba, URLs de base de datos local, keys de pago sandbox) en producción pone en riesgo a usuarios reales.

Cómo Funciona

Las variables de entorno de desarrollo frecuentemente apuntan a servicios de prueba, configuraciones menos seguras o servicios con rate limits más relajados. Usar keys de prueba de Stripe en producción significa que no se procesan pagos reales. Usar una URL de base de datos local en producción enruta datos de usuarios a la base de datos incorrecta.

Código Vulnerable
// MAL: credenciales de prueba/dev usadas en producción
STRIPE_SECRET_KEY=sk_test_4eC39HqLyjWDarjtT1zdp7dc  # key de prueba — ¡los cobros no son reales!
DATABASE_URL=postgresql://localhost:5432/myapp_dev  # DB local — entorno incorrecto
NEXT_PUBLIC_API_URL=http://localhost:3000  # localhost — nada funciona en prod
Código Seguro
// BIEN: credenciales específicas de producción en el entorno de producción
STRIPE_SECRET_KEY=sk_live_...  # key live — cobros reales
DATABASE_URL=postgresql://host-prod:5432/myapp_prod  # DB de producción
NEXT_PUBLIC_API_URL=https://myapp.com  # URL de producción

Ejemplo Real

Varias startups han lanzado a producción con keys de prueba de Stripe configuradas, resultando en usuarios que completan el flujo de checkout pero sin cobros reales procesados — llevando a pérdida de ingresos y confusión de usuarios hasta que el error fue detectado.

Cómo Prevenirlo

  • Usa nombres de variables específicos por entorno y documenta qué valores se requieren para cada entorno
  • Agrega un script de validación al inicio que verifique valores conocidos de solo producción (por ejemplo, prefijo de key live de Stripe 'sk_live_')
  • Usa archivos .env.production y .env.development separados, nunca compartiendo valores entre ellos
  • Audita todas las variables de entorno antes de cada deployment a producción

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas