Problema de seguridad

Importación de módulo insegura en n8n

Por qué importar módulos npm en nodos Code puede crear vulnerabilidades de seguridad

¿Qué es este problema?

Cuando nodos Code usan require() o import para cargar módulos externos, pueden ejecutar código arbitrario con permisos a nivel de servidor. Esto evade el modelo de seguridad de n8n y puede llevar a ejecución remota de código.

Patrones de import riesgosos:

  • require('child_process') para ejecución de comandos
  • require('fs') para acceso al sistema de archivos
  • require('net') para conexiones de red
  • require dinámico con template strings

¿Por qué es peligroso?

Ejecución remota de código

Módulos importados pueden ejecutar comandos arbitrarios en el servidor.

Acceso al sistema de archivos

Módulos pueden leer, escribir, o borrar archivos fuera del scope de n8n.

Exfiltración de red

Código malicioso puede abrir conexiones a servidores externos.

Escalada de privilegios

Los módulos corren con los permisos completos de n8n, no aislados.

Cómo solucionarlo

  1. 1

    Restringir módulos permitidos

    Configura N8N_NODE_OPTIONS para limitar qué módulos pueden ser importados.

  2. 2

    Usar métodos integrados

    n8n provee métodos integrados para tareas comunes—úsalos en lugar de imports crudos.

  3. 3

    Crear nodos personalizados

    Para lógica compleja, crea un nodo personalizado apropiado con revisión de código y testing.

  4. 4

    Habilitar aislamiento de task runner

    Ejecuta nodos Code en contenedores aislados que restringen acceso a módulos.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta importaciones de módulos inseguras en nodos Code.

Buscar problemas de import

Recursos relacionados

Problemas de seguridad relacionados