Problema de seguridad

Acceso a entorno de task runner

Por qué acceder a process.env en task runners puede exponer configuración sensible del servidor

¿Qué es este problema?

Cuando nodos Code o task runners acceden a process.env directamente, pueden leer variables de entorno sensibles como contraseñas de base de datos, claves maestras de API, o secretos de encriptación que solo deberían ser accesibles a nivel de servidor.

Patrones peligrosos:

  • process.env.DATABASE_URL en nodo Code
  • Leer N8N_ENCRYPTION_KEY desde código
  • Acceder a credenciales de proveedor cloud
  • Loguear todas las variables de entorno

¿Por qué es peligroso?

Exposición de credenciales

Secretos a nivel de servidor como contraseñas de BD pueden ser accedidos y exfiltrados.

Escalada de privilegios

Autores de workflow obtienen acceso a secretos que no deberían ver.

Bypass de auditoría

El acceso a entorno evade la gestión de credenciales y logging de n8n.

Riesgos multi-tenant

En entornos compartidos, un usuario podría acceder a secretos de otro.

Cómo solucionarlo

  1. 1

    Usar credenciales de n8n

    Almacena secretos en el sistema de credenciales de n8n en lugar de variables de entorno.

  2. 2

    Restringir acceso a entorno

    Configura N8N_BLOCK_ENV_ACCESS_IN_NODE=true para prevenir acceso a env en nodos Code.

  3. 3

    Usar runner externo

    Ejecuta nodos Code en contenedores de task runner aislados con acceso mínimo a env.

  4. 4

    Implementar allowlist de nodo Code

    Usa nodos comunitarios o extensiones personalizadas que limiten las APIs disponibles.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta nodos Code accediendo a variables de entorno.

Buscar acceso a entorno

Recursos relacionados

Problemas de seguridad relacionados