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
Restringir módulos permitidos
Configura N8N_NODE_OPTIONS para limitar qué módulos pueden ser importados.
- 2
Usar métodos integrados
n8n provee métodos integrados para tareas comunes—úsalos en lugar de imports crudos.
- 3
Crear nodos personalizados
Para lógica compleja, crea un nodo personalizado apropiado con revisión de código y testing.
- 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.