Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

CiberJueves: Pablo Asenjo "n8n aplicado a la ciberseguridad, alertas y cibervigilancia

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 7 de julio de 2026 por Admin-educamadrid-mediateca

7 visualizaciones

Descargar la transcripción

Hoy vamos a hablar de N8N, que es una cosa para automatizar cosas. Yo no soy técnico y ya está. Esa es la introducción que te puedo hacer. Pero como hemos traído un ponente, nos va a contar mejor todo eso. 00:00:00
Y traemos a Pablo Asenjo González para explicarnos N8N, aplicado a ciberseguridad, alertas y cibervigilancia. Un aplauso para él. 00:00:15
Gracias, gracias. Pues la verdad es que yo no lo habría explicado mal. O sea, mejor, N8N es una cosa para automatizar cosas. Mejor, imposible. 00:00:23
Dado que estamos en la Consejería de Digitalización y estamos con la Agencia de Ciberseguridad de la Comunidad de Madrid, vamos a intentar orientarlo un poco al campo donde me especializo más, que es la parte de ciberseguridad, la parte de alertas y luego vamos a ver un tramo de cibervigilancia. 00:00:39
Y luego una sorpresita al final, que no estaba pensada, pero viene con relación con otro de los ponentes que ha estado aquí, Yeser Ferreira, y con eso vamos a explicaros qué es lo que vamos a ver para que no perdáis el tiempo. 00:00:54
Vamos a ver qué es lo que resuelve NHN, qué es lo que no resuelve, muy muy importante, 00:01:10
y por qué encaja un poco en el sector ciberseguridad, las capacidades que tiene, 00:01:15
en específico en sector ciberseguridad, la parte de ingesta, transformación y las otras muchas capacidades que veremos. 00:01:19
Luego vamos a ver tres ejemplos prácticos, uno de ciberseguridad orientado a parte de alertas, 00:01:26
vamos a ver una integración con un EDR, las limitaciones que tiene, 00:01:32
pero cómo se puede hacer una parte de enriquecimiento de alertas dentro del propio N8N. 00:01:37
Y luego vamos a ver una parte de Intel, que es donde vamos a meter la parte de ciberseguridad y la parte de la sorpresa. Ahora lo veremos. 00:01:43
Y por último, unas breves conclusiones, sobre todo para intentar transmitiros las muchas horas que le he dedicado a N8N de la manera más en píldora posible. 00:01:51
Este es el objetivo de hoy, que entendáis este flujo. 00:02:01
Al final de la sesión, no se ve muy allá, pero al final de la sesión es que entendáis este flujo entero, cada uno de los nodos que hay ahí. 00:02:03
Vamos a hacer un repaso luego por la interfaz gráfica de N8n, al final esto va a ser mucho más interactivo que una presentación con slides, 00:02:15
por eso he pedido el atril y que me dejen mi portátil, porque vamos a estar cambiando todo el rato entre N8n y la presentación. 00:02:21
Bien, antes de nada, explicaros un poco qué hago aquí, quién soy. Pablo Asenjo, analista de ciberinteligencia, pentester, bueno, todo lo que pone ahí. 00:02:27
Lo que os tenéis que quedar es vocación por la enseñanza. Me encanta la parte de divulgar. Ahí hay unos pocos eventos donde he dado charlas. 00:02:38
estudio en el extranjero 00:02:47
en Oxford Brookes University 00:02:49
y luego la última 00:02:51
frase de cofundador 00:02:54
y presidente de la Spanish Space Initiative 00:02:56
es una iniciativa 00:02:57
para nada relacionada con ciberseguridad 00:02:58
para que veáis que todo es compatible 00:03:01
unas pequeñas fotos 00:03:03
de la iniciativa 00:03:05
aquí la iniciativa se encarga de hacer competiciones 00:03:06
a nivel internacional 00:03:09
basadas en España principalmente 00:03:11
pero que tienen recorrido internacional 00:03:13
Hacemos la fase nacional de las Space Design Competition, que es una simulación de la industria espacial donde a los chicos se les da un reto y tienen unas horas para resolverlo, presentarlo al jurado y se van clasificando por fases. 00:03:16
Aquí en España se clasifican a la fase europea y de la fase europea pasan a la fase internacional, que se celebra todos los años en Florida, en el Kennedy Space Center, donde se lanzan los cohetes. 00:03:27
Así que si os mola el espacio y luego queréis hablarme de temas de espacio, yo encantado también con eso. 00:03:36
Bien, ahora sí, ¿qué resuelve y qué no resuelve N8N? Importante. Aquí hay mucha gente que cuando se vende a una herramienta dicen lo bueno, bueno, bueno que es la herramienta y luego faltan decir cuáles son las limitaciones reales que tiene la herramienta. 00:03:43
Entonces, para parte de ciberseguridad, ¿qué resuelve? Conecta herramientas que normalmente estarían separadas, que no tendrían visibilidad una de otras, automatiza tareas repetitivas, transforma datos en información estructurada, es decir, todo lo que se ingeste se puede… 00:03:59
Ahora veremos cuál es la arquitectura de un flujo, pero todo lo que se ingeste puede salir de otra manera, haciendo cosas con cosas. Ahora lo veremos. Enriquecimiento de alertas con contexto para la parte de ciberseguridad específicamente y orquestación de procesos. 00:04:18
Aquí cuando le he preguntado a HGPT que me defina N8N en cuatro palabras, me ha dicho, te lo hago en tres, crack, orquestación de procesos. Así que quedaros con eso. Orquesta, procesos. 00:04:34
Aquí he puesto también la descripción de qué es un SIEM y qué es un SOAR. 00:04:45
Lo digo porque un N8N no sustituye ni a un SIEM, es decir, donde se ingestan todas las alertas que puedan venir de una entidad, 00:04:50
en el caso de Wazoo, Sentinel One, CrowdStrike, lo que sea, muchos agentes, antivirus, vamos a llamarlos así, 00:05:00
instalados en muchos equipos que llegan toda esa información a un sitio, eso se llama el SIEM. 00:05:05
Y luego la parte del SOAR es cómo se automatizan esas alertas que llegan. 00:05:10
Es decir, a mí me llegan todos los logs de lo que sea, de Google Workspace o de Microsoft Teams y todos los inicios de sesión sospechosos pasan por el SOAR y luego hay playbooks que se ejecutan. 00:05:14
Es un poco parecido, es un sistema de justamente Security, Orchestration, Automation and Response, pero es dedicado. 00:05:28
N8n vale para muchas otras cosas, así que tiene sus cosas buenas y sus cosas malas. 00:05:36
No lo sustituye, es lo primero que pone. No resuelve, no sustituye un SIEM o un SOAR dedicado, no sustituye al analista, desde luego, no convierte una mala fuente en una buena fuente, de lo que sea, no elimina una validación, trazabilidad, revisión, toda la parte de revisión humana es súper importante y es que lo vamos a ver ahora a posteriori. 00:05:40
Vamos a ir un poquito con teoría y luego vamos a pasar directamente a NHN. ¿Por qué tiene sentido en ciberseguridad? Pues porque hay muchas cosas que son repetitivas. Hace unos años el principal objetivo de todos los departamentos de ciberseguridad era tener más fuentes, tener más información, más visibilidad. 00:06:05
Pero luego hemos llegado a un punto en el que ya tenemos todas esas fuentes y tener una fuente más no es una mejora, casi es algo que va a hacer que el analista se frustre más, tenga que dedicarle más tiempo y al final acabamos con 350 paneles que revisar y 4 analistas para que lo revisen. 00:06:25
Entonces, dentro de esto, N8N viene muy bien, así como lo haría un SOAR, para minimizar el tiempo que dedican los analistas y centralizar cosas. 00:06:44
Lo que aporta N8N, pues eso, conectividad de sistema, reduce tiempos, estandariza procesos, 00:06:54
vienen por la parte de que cuando hay en una empresa o en una institución un know-how de hacer algo, 00:07:01
pero nunca se ha intentado extraer, ese know-how solo se queda en las personas, y esas personas se van, se pierden. 00:07:06
Cuando se estandariza el proceso, se entiende qué es lo que se hace en cada uno de ellos, entonces es más fácil replicarlo en otros sitios. Y la parte donde encaja dentro de ciberseguridad. 00:07:13
Y ahora sí que sí, vamos a pasar a la parte de capacidades generales, a la parte de lo que mola, de la parte dinámica. Antes de nada, quería preguntar quién de aquí es técnico. Vale, eso me va a gustar, un perfil técnico. 00:07:25
vamos a hacer una diferenciación entre N8n y herramientas agénticas 00:07:43
para empezar 00:07:48
porque creo que todo el mundo hemos usado 00:07:48
de las tres que hay allí 00:07:51
Open Cloud, quien lo conozca, enhorabuena 00:07:52
Hermes Agent también 00:07:54
cuando salieron estas herramientas agénticas 00:07:55
que también permiten automatizar 00:07:58
parecía que la carrera de N8n había desaparecido 00:08:00
pero quiero que sepáis que son cosas complementarias 00:08:03
hay muchas cosas que se pueden hacer con Cloud Code 00:08:05
con ChatGPT, con Gemini 00:08:07
e incluso con sistemas tipo Open Cloud o Hermes Agent 00:08:08
que se materializan como tareas de cronjobs que van asociadas a un cronómetro y que se ejecutan cada equis tiempo. 00:08:11
Pero aquí N8n es donde gana un poco la ventaja. 00:08:22
N8n es determinista, es decir, es un flujo que siempre va a seguir el mismo camino. 00:08:26
Independientemente de que luego metas más o menos LLMs, va a seguir siempre el mismo camino. 00:08:30
N8n es más barato en todos los procesos. 00:08:35
Esto viene por la parte de los tokens. 00:08:37
Cuando tú pides que cada X, que todos los días HGPT te haga un resumen de las noticias de ciberseguridad, N8N va a seguir un flujo. Un Open Claw va a tener que extraer todas las noticias, pero además resumirlas. 00:08:40
Es decir, todos los tokens que gasta un agente, da igual el que sea, va a ser impepinable. Tú puedes tener un N8N sin que gaste ni un solo token de ningún LLM, porque son flujos de automatización muy deterministas. 00:08:58
es fácil de auditar lo veremos en la parte de ejecuciones en dentro de la 00:09:10
interfaz gráfica y luego es ideal para workflows que son recurrentes eso cada 00:09:15
equis días cada equis minutos cada equis horas y que no consumen excesivamente 00:09:21
excesiva cantidad de tokens y luego la parte de las integraciones con apis que 00:09:26
es una de las cosas por las que se han hecho más famosas y por la otra parte 00:09:31
pues en que es bueno o en que destaca la parte de herramientas agénticas que son 00:09:34
más flexibles para lo bueno y para la mano útiles para tareas más ambiguas por 00:09:39
mucho que le bajes la temperatura a un modelo es decir limitar la capacidad de 00:09:44
creatividad siempre va a tener ese granito de querer innovar no consumen 00:09:49
tokens desde luego en cada request aquí en h&n lo dejas instalado puedes tener 00:09:55
un webhook recurrente y eso no gasta ningún token y luego si tienen un aporte 00:09:59
y en valor, en la parte de resumir, en la parte de razonar, procesar, todo eso lo hacen mejor que en 8N por lo general, aunque en 8N utilicemos los mismos modelos. 00:10:05
Las capacidades en ciber, como ya las he comentado un poco, no voy a dedicarle excesivo tiempo, pero esto es un poco lo que se puede hacer en el sector ciber. 00:10:17
La parte de ingesta, de transformación, enriquecimiento, el clasificado, da igual de lo que sea, lo veremos luego en la parte de obtención de cibervigilancia, como puedes clasificar el contenido de grupos en Telegram en función del tipo de ataques que hagan, hablando siempre de la parte de cibercriminal, por supuesto, o clasificar grupos en función de si son de apuestas, grupos de chavales o donde está infiltrado un analista. 00:10:26
La parte de alertado, por supuesto, lo veremos ahora porque el flujo va a venir al pelo, como si yo detecto unos keywords, automáticamente se me manda una alerta, donde quieras, porque tenemos la parte de integración que tiene todo. Slack, Telegram, Google Chat, es que si lo podéis pensar, está, y si no está, lo podéis integrar, que es una de las cosas por las que es tan famoso en HL. 00:10:53
La parte de reporting, súper importante, cuando tú tienes una base de datos que has ingestado y transformado, clasificado, tú luego le puedes pedir a N8N un bucle de todos los días, quiero que me mandes un resumen de lo que se haya ingestado en esta base de datos del último día y lo puedes hacer porque dentro de N8N hay nodos de inteligencia artificial, que era la última parte, la parte de traducción, resúmenes, extracción, ahora lo veremos. 00:11:17
Los nodos, importante. Aquí la arquitectura de un flujo son tres cosas, como han dicho previamente. Algo entra, algo pasa con lo que entra y algo sale. 00:11:45
Ahora, más sencillo, es muy complicado hacer esto más sencillo que esto. Los nodos que convierten el flujo en esto, la parte de entrada, los triggers, que son los que disparan el flujo, la parte de obtención de datos, esto no es directamente la parte de la integración, sino cuando a ti te llega un trigger, puede ser que lo hayas disparado con información. 00:11:59
Por ejemplo, un webhook de cuando pase algo en el SIEM que me lo mande. Eso va a parte de la obtención de datos, de HTTP request, de la parte de bases de datos, integraciones con Google AI, 10 millones, APIs externas. 00:12:22
La parte de transformación de esos datos, es decir, una vez yo ya tengo esos datos, ¿qué se hace con esos datos? ¿Cómo se transforman? ¿Cómo se dividen? ¿Se clasifican? ¿Se ingestan en otra base de datos? 00:12:36
que se hace con esos datos, la parte de transformación. 00:12:47
Luego para los familiarizados con programación, lo que vienen a ser los enrutadores, 00:12:50
la parte de decisión, los ifs, los switch, los filtros, todo eso se puede hacer dentro de N8n. 00:12:54
Hay nodos especializados de ejecución de JavaScript dentro, de JavaScript, de Python, 00:12:59
con lo que puedes hacer cosas bastante chulas. 00:13:06
Luego la parte de integración y la parte de IA son las que están en rojo porque son en esencia, 00:13:09
por lo que N8n ahora mismo es lo que es. 00:13:14
integración, ¿con qué? con todo, literalmente con todo, si buscas un nodo de virus total lo vas a tener, 00:13:17
un nodo de, es que, ahora lo veremos, pero es que es tan desmedido la cantidad de cosas que tiene, 00:13:23
vamos a crear aquí un flujo de ejemplo, y vamos a ver, estupendo, se ve decente, 00:13:29
vamos a crear un trigger manual, y vamos a ver con qué se puede integrar, 00:13:39
y cuanto más bajéis 00:13:44
más vais a encontrar con que 00:13:49
hay más integraciones 00:13:51
no sé cuál es la velocidad de refresco 00:13:53
de esto, pero bueno, ya vamos bajando un rato 00:13:55
vamos por la B, pero 00:13:57
da igual, o sea 00:13:59
cualquier cosa que busquéis va a estar 00:14:01
y si no, siempre puedes tener 00:14:03
un buen hook 00:14:07
que estos van a ser 00:14:09
van a servir para todos 00:14:13
un HTTP request 00:14:14
bueno, un HTTP request 00:14:16
y luego la parte de la inteligencia artificial 00:14:28
que la vamos a ver también en detalle 00:14:31
la parte de los nodos 00:14:32
agénticos 00:14:34
que estos los vamos a ver en detalle 00:14:36
vamos a tener un ejemplo dedicado solo a esto 00:14:38
como he visto que ha habido bastante gente 00:14:39
que ha levantado la mano en parte de técnicos 00:14:41
pero también ha habido gente que no la ha levantado 00:14:43
vamos a ir con 00:14:45
última cosa 00:14:48
de teoría y ya pasamos, lo prometo 00:14:50
donde se puede instalar N8n, en local 00:14:52
recomendado 00:14:54
en un VPS en cloud 00:14:56
recomendado 00:14:58
no me pagan, pero 00:14:59
los de Hostinger tienen un 00:15:02
buen sistema de Docker en el que 00:15:04
podéis, o sea, esto es un VPS que 00:15:06
tengo yo por ahí 00:15:08
ahí se me va a liquear la IP 00:15:09
pero no hay ningún problema 00:15:12
y en la administración de Docker 00:15:14
puedes, es tan sencillo como 00:15:16
componer manual 00:15:18
Finalmente, implementación con un clic, y dentro del catálogo que tienen, puedes implementar muchas de las aplicaciones que utilicéis en vuestro día a día. 00:15:20
Pero puedes directamente implementar un N8n y automáticamente se te va a desplegar una nueva instancia de N8n dentro de tu Docker. 00:15:38
Para los que os preguntéis por precios, porque digáis, pero es que eso cuesta dinero, esto cuesta 5 euros al mes, si lo coges al año sale por 3 euros al mes durante todo el año. 00:15:47
Entonces, esto merece la pena. La otra opción, la más barata, es tener un OVPS nuestro, es decir, un ordenador viejo, una Raspberry Pi o algo por el estilo y con puertos furgardeados, si es que necesitamos que salga internet, que suele ser lo suyo. 00:15:58
¿Por qué lo de tenerlo en local tiene sus limitaciones? Porque si yo quiero flujos que corran las 24 horas del día, yo cuando cierre la tapa del ordenador o apague el ordenador, el flujo va a dejar de estar en funcionamiento. 00:16:14
entonces tiene mucho sentido 00:16:26
tener un VPS en cloud 00:16:28
que de verdad hay algunos muy muy baratos 00:16:30
aquí he puesto otro ejemplo que os he contado 00:16:32
que es todavía más barato 00:16:34
que Hostinger 00:16:36
y sale muy a cuenta 00:16:37
ahora ya sí que sí 00:16:40
la parte de ciberseguridad 00:16:42
vamos a intentar entender tres casos 00:16:43
y los vamos a ver 00:16:45
en tiempo real 00:16:48
vamos a empezar de lo más básico 00:16:49
a luego llegar al 00:16:51
ejemplo final 00:16:54
Vamos a empezar por esto y lo vamos a ir explicando uno a uno. No sé si esto tiene, pero como si no tuviera. Empezamos por el trigger. Este iconito de aquí indica que es un trigger. Significa que es el nodo inicial. Además se ve porque esta parte de aquí es curva y esta parte de aquí es cuadrada. Todos los demás son cuadrados hasta el nodo final, si es que hay un nodo final. 00:16:55
Lo siguiente que hay es un if. Vamos a explicar qué hace este workflow antes de intentar entender los nodos que tiene. Este workflow lo que hace es una request a una API para saber las contraseñas que tienes filtradas de un correo. 00:17:18
sencillo 00:17:34
lo primero que va a hacer el chat 00:17:36
es esto de aquí abajo 00:17:39
es para poner un correo 00:17:40
entonces lo primero que 00:17:43
hace el if 00:17:45
que es el siguiente nodo 00:17:47
es preguntar si contiene un arroba 00:17:48
pues es una mínima validación 00:17:50
es una chorrada para que entendáis como funciona un if 00:17:52
entonces 00:17:54
si yo aquí en el chat 00:17:55
pongo un test 00:17:58
ya vemos como se está ejecutando 00:18:01
lo que me va a decir es por favor mete un email válido porque porque ha seguido 00:18:03
esta ruta es tan sencillo como coger un dedo e ir haciendo 00:18:09
no tiene desperdicio esto no me podéis decir que es complicado 00:18:14
qué es lo que hay aquí un nodo de enviar un mensaje al chat que diga enter a 00:18:18
validmail ya está qué es lo que hay por arriba lo que por 00:18:23
arriba es un http request esto es un es una app y pública no te va 00:18:27
dar grandes insights pero sí que nos viene súper bien para hacer la prueba 00:18:32
pues leeksec.io tiene una parte de API donde si tú integras el 00:18:37
el correo detrás te sale que es lo que hay liqueado y te lo devuelve en formato 00:18:43
JSON que eso es muy muy importante entonces si yo aquí pongo test 00:18:47
arroba gmail.com va a ir por el camino de arriba 00:18:54
Este nodo es un nodo en JavaScript. Esto no penséis que lo he redactado yo con mucho esfuerzo. Esto generalmente lo más sencillo es trabajar con un agente en el que tú le pasas la respuesta del JSON que te da la API y le dices, oye, quiero que me lo pongas bonito o quiero que me lo pongas con este formato. 00:18:58
omite esta información, ponme esta, pero es básicamente código, no tiene otra cosa. 00:19:15
Y por último, el nodo de enviar, que es la parte donde se le dice cómo quieres que se envíe. 00:19:22
Pone Telegram Message porque este nodo lo llamé Telegram Message porque en principio este workflow se puede utilizar 00:19:31
en vez de con chat dentro de N8N con Telegram, ahora lo veremos, pero es solo el nombre. 00:19:39
Entonces si yo envío esto, vamos a ver que pasa como un correo válido, hace la request, pasa por el nodo para formatearlo 00:19:47
y te dice aquí que es lo que hay liqueado, que bueno, al ser un correo tan público, pues está liqueado 20.000 coincidencias. 00:19:58
Pues era lo esperado. Allá abajo vienen los dominios donde está liqueado. Necesitaba beber agua, chicos. Y ya con esto entendemos un poco cómo es el funcionamiento. Es decir, la interfaz gráfica no tiene demasiada cosa. 00:20:07
Aquí a la izquierda podemos ver los workflows que tenemos, es decir, en Overview vemos los workflows que tenemos, la parte de credenciales, donde podéis subir las credenciales que tengáis. 00:20:27
Además, muy conveniente que no se pueda, para los que trabajáis en empresa y tenéis una instancia compartida, una vez metes la API de cualquier cosa, esto ya no se puede ver. 00:20:41
No hay un ojito ni nada por el estilo. Este valor va a salir blank value y no se puede ver. O sea, eso de ahí no es un API de OpenAI para los que no lo conozcáis. Entonces, es muy versátil porque puedo decirle, oye jefe, necesito que me metas una clave de lo que sea, como si es de Google Chat. Pues ya luego no se va a poder ver. 00:20:52
Continuamos con el segundo ejemplo 00:21:15
El segundo ejemplo es para entender cómo funcionan el tema de los agentes 00:21:20
Este ejemplo es de los más más tontos que hay 00:21:27
Pero es únicamente para entender este nodo 00:21:30
Porque es de los más importantes dentro de N8n 00:21:32
Este nodo tiene principalmente dos cosas 00:21:35
La parte del user prompt, es decir, qué es lo que pone el usuario 00:21:38
Y el system message 00:21:41
De hecho, hay varios sitios donde tú puedes hacer prompt injections precisamente poniendo justamente antes system message, dos puntos comillas y poniendo como si fueras administrador del sistema. 00:21:43
Porque es en realidad como se envía al ERM todo junto. 00:21:55
¿Qué es lo que le estamos diciendo? 00:21:58
Eres un asistente que responde siempre en tres palabras. 00:22:00
Sencillo. 00:22:04
¿Qué es lo que le hemos dado a este agente? 00:22:05
Le hemos dado un modelo y le hemos dado una memoria. 00:22:07
esta memoria no se va a guardar en bases de datos 00:22:11
aunque se puede guardar en bases de datos 00:22:13
en estos tipos 00:22:15
de bases de datos, sobre todo para cuando 00:22:17
hay memorias a gran escala o cuando 00:22:19
hay varios usuarios, esta es una memoria simple 00:22:21
sobre todo para hacer pruebas, no requiere 00:22:23
credenciales, es lo más tonto de 00:22:25
implementar, pero vale 00:22:27
es súper útil para hacer pruebas 00:22:29
le hemos dado una 00:22:31
idea para que me guarde 00:22:34
que soy yo, entonces aquí 00:22:35
vamos a hacer lo mismo 00:22:37
y vamos a preguntarle 00:22:39
vamos a decirle hola 00:22:40
y aquí vemos que es lo que está pasando 00:22:44
el agente ha recibido la request 00:22:47
ha consultado la memoria 00:22:49
se la ha pasado a la API que tengo de OpenAI 00:22:51
en este caso es una API 00:22:54
con el modelo O4 Mini 00:22:56
que es de los más baratitos que hay 00:23:00
sino el más baratito que hay 00:23:02
y me ha respondido en tres palabras 00:23:03
hola, ¿qué tal? 00:23:05
aquí me gusta hacer esta prueba de 00:23:06
buenos días 00:23:08
Entonces, quiero que me expliques la revolución francesa. Y como es un agente que tiene la obligación de respondernos en tres palabras, a no ser que se salte las leyes de la programación, nos va a decir que es un cambio social profundo. 00:23:10
Vamos a intentar mover esto un poquito para acá. 00:23:34
He entendido un poco lo que es la parte del LLM. 00:23:40
Esto, así, visto en un único nodo, parece una tontería. 00:23:42
Pero luego, cuando volvamos a los nodos completos, a los workflows, 00:23:46
donde este trocito de aquí va a ser un clasifícame la alerta que ha llegado, 00:23:50
si este usuario le conozco o no le conozco, esto tiene un valor grandísimo. 00:23:56
Además de esto, los agentes se les pueden meter tools, herramientas. 00:24:02
Es decir, yo a este agente le podría meter como una herramienta un HTTP request 00:24:06
y ponerle exactamente la misma URL que hemos hecho en el ejemplo anterior. 00:24:11
Es decir, darle la capacidad de hacer una request para que me consulte mi correo. 00:24:15
Luego habría que currárselo un poco más y decirle en el system prompt, 00:24:21
oye, que sepas que tienes esta herramienta, pero se puede hacer. 00:24:24
y tanto con 00:24:27
HTTPS Request como 00:24:29
bases de datos, como se le puede instalar 00:24:31
un MCP, es decir, yo tengo 00:24:33
esta herramienta que me he picado para mí, es interna 00:24:35
o es de la institución pero es interna 00:24:38
¿cómo se usa? Pues se puede crear 00:24:39
un MCP para que un agente lo sepa utilizar 00:24:42
independientemente del contexto que tenga 00:24:44
y eso es súper potente 00:24:46
súper, súper potente 00:24:48
además de esto, tiene una patita por aquí 00:24:49
que ahora mismo no estáis viendo porque está 00:24:52
deshabilitada, que es 00:24:53
el parser 00:24:54
Cuando tú le dices que el output tiene que requerir un formato específico, lo que te sale es esto, una patita más, que se llama output parser. 00:24:57
Este output parser te va a dar la opción de utilizar diferentes, pero el structure output parser lo que le va a decir es, oye mira, yo necesito que las respuestas que me des tengan o este formato en modo example o este esquema. 00:25:08
Y le sube directamente el esquema con los tipos dentro del esquema. 00:25:24
Y si no te lo da así, no va a funcionar. 00:25:28
Lo bueno de esto, que luego a la hora de coger la parte de los inputs es mucho más sencillo. 00:25:32
Esto no lo he explicado, pero el cómo tú vas de un nodo al otro, cómo vas desarrollando, 00:25:39
es otra de las cosas más potentes que tiene 8N. 00:25:48
Porque para gente no técnica o gente con un nivel técnico más bajo, que no esté dedicado al desarrollo de automatizaciones al 100%, yo aquí esto me dice directamente cuando el chat he recibido, es decir, es el nodo anterior, me salen las respuestas de los nodos anteriores y pues me salen estos tres puntitos. 00:25:50
lo que yo le he metido 00:26:10
el session ID, que esto se autogenera 00:26:11
y la acción que he hecho, que ha sido enviar un mensaje 00:26:14
pues normalmente 00:26:16
yo tendría que coger, venir aquí 00:26:18
y escribir aquí entre corchetes 00:26:20
el tipo de input que yo quiero 00:26:23
que reciba, pero cuando me voy a la parte 00:26:24
de esquema, es tan sencillo como coger 00:26:26
el chat input 00:26:28
y arrastrarlo, y automáticamente 00:26:29
ya se me ha puesto, es decir, el nodo del 00:26:32
agente, lo que recibe es el 00:26:34
JSON de chat input, tan sencillo 00:26:36
No he tenido que picar nada, ha sido arrastrar, como si fuera Scratch. 00:26:39
Eso también tiene muchísimo valor. 00:26:43
Y por último vamos a ver lo que sería este mismo caso en Telegram. 00:26:46
Es decir, conexión con Telegram. 00:26:52
Una tontería, pero va a venir muy bien para ilustrar lo que queremos hacer. 00:26:54
Aquí lo mismo, le vamos a decir que es un asistente de tres palabras. 00:26:58
Y lo que vamos a hacer es desbloquear este nuevo botón. 00:27:01
Ahora mismo todos los workflows que hemos utilizado estaban en local, es decir, no estaban publicados. 00:27:05
Si yo quería conectar con Anchor, lo tenía que hacer desde mi máquina. 00:27:08
Cuando tú lo publicas, le puedes poner un nombre de versión, un production checklist, los mensajes que te da están muy bien. 00:27:11
Esto ya se ha puesto en verde, lo que significa que yo ahora puedo utilizarlo desde fuera. 00:27:20
Me voy a venir aquí, que por cierto, el cómo se integra una API de Telegram es ridículo. 00:27:27
aquí tienes los nodos, aquí tengo puesto 00:27:34
ppCiberJueves 00:27:37
voy a mutear esto 00:27:38
que si no, ahí está 00:27:43
ppCiberJueves 00:27:44
y es tan sencillo como añadir una nueva credencial 00:27:46
¿alguien conoce BotDog? 00:27:49
o sea, BotDog, BotFader 00:27:50
pues 00:27:52
lo que te genera BotFader 00:27:54
además no tengo problema, no veo a nadie 00:27:56
comportado por aquí, así que no creo que vaya a haber problema 00:27:58
lo que te dé BotFader 00:28:01
la API 00:28:03
es tan sencilla como copiarla 00:28:04
y pegarla 00:28:06
cuando le das a guardar 00:28:09
voy a poner esto aquí 00:28:11
lo que va a hacer es un test 00:28:12
ya tengo una cuenta integrada con Telegram 00:28:14
a ese nivel de sencillez 00:28:17
cuando ya tengo esta cuenta creada 00:28:19
en principio debería dar igual 00:28:22
pero voy a poner esto por un poco 00:28:23
de consistencia 00:28:25
vamos a volver a publicar 00:28:28
no debería haber ningún cambio 00:28:30
pero publicamos 00:28:31
y vamos a darle los buenos días 00:28:33
buenos días 00:28:37
buenos días 00:28:41
¿qué tal? uff ahí son cuatro palabras 00:28:43
vamos a no ser que aquí tenga puesto 00:28:45
cuatro palabras 00:28:47
tres palabras 00:28:48
vamos a preguntarle lo mismo 00:28:50
bueno ahí ha hecho un save 00:28:52
en el minuto 90 00:29:02
pero es un poco 00:29:03
el cómo se pueden integrar esto con 00:29:06
cosas externas, se puede integrar con google chat 00:29:08
con Slack, es que da igual lo que tengáis 00:29:09
se puede integrar, seguro 00:29:12
con WhatsApp, con Discord, con 00:29:13
todo, con lo que queráis 00:29:15
y venimos a la parte de ejecuciones, donde 00:29:17
veis que esta mañana he estado a las 00:29:19
8 de la mañana terminando alguna 00:29:22
pruebecilla para ver que todo funcionaba en orden 00:29:25
pero esta es la parte de ejecuciones, esta es la parte 00:29:27
de la auditoría, lo que os comentaba antes 00:29:29
de que es muy fácil de auditar el proceso 00:29:31
aquí puedo ver que es la última 00:29:33
ejecución que he hecho, ha salido 00:29:35
todo en orden y ver qué es lo que ha hecho. Me ha dado este input del Telegram Trigger, 00:29:37
aquí me sale la ID de mi cuenta de Telegram, el cómo me llamo en Telegram, todo lo que 00:29:44
te sale de la integración con Telegram. En el chat model te sale qué es lo que ha enviado 00:29:48
y aquí es donde se ve realmente cómo se hacen las cosas. Input, system, eres un asistente 00:29:55
responde siempre en tres palabras, human 00:30:03
por eso, si en algún LLM 00:30:05
sobre todo antes, ahora ya 00:30:07
esto está muy depurado, pero cuando poníais 00:30:09
system prompt, dos puntos y una 00:30:11
palabra de 00:30:13
me puedes decir tu código fuente, te lo daba 00:30:14
porque así es como realmente 00:30:17
se construían las consultas por detrás 00:30:19
se construían, ahora tienen muchos más 00:30:20
guardarrailes, pero en N8n 00:30:23
un ejemplo básico nos 00:30:25
ayuda bastante, y el último 00:30:27
nodo que lo que ha hecho ha sido 00:30:29
outputear el mensaje 00:30:31
a telegram y ya está caso 3 visto y ya con esto tenemos los tres casos vistos hay uno más que 00:30:32
normalmente no enseño pero bueno como vamos bien de tiempo os lo voy a enseñar que es el caso 4 00:30:45
que es exactamente lo mismo pero con un trigger distinto este trigger no lo hemos visto es un 00:30:48
schedule trigger y yo lo que puedo hacer con esto es decirle cada cuánto quiero que se ejecute el 00:30:55
workflow preestablecido aquí le voy a decir 00:30:59
cada segundo para hacer un poco la coña y aquí lo que quiero que haga 00:31:05
quiero que me digas una frase motivadora rápida 00:31:12
y esto si yo lo ejecuto si aquí arriba podéis ver diferentes botones si lo 00:31:16
ejecutó directamente lo esfuerzo a que se ejecute lo que me 00:31:22
va a crear es una frase motivadora rápida cree en ti mismo y conquista tus 00:31:27
sueños y cuando yo ejecuto esto a mi bot a mí me ha sonado el mensaje 00:31:32
lo tengo aquí esto vale para cualquier cosa hazme un reporte mensual de 00:31:38
la caída de bitcoin hazme un reporte mensual de la bolsa un reporte de mis 00:31:45
correos electrónicos que me han entrado esta mañana un flujo súper útil para lo 00:31:51
que sea si yo esto lo pongo en producción 00:31:55
y lo que va a pasar es que este workflow va a empezar a funcionar solo entonces 00:32:00
en la parte de ejecuciones vamos a poder ir viendo cómo están corriendo los 00:32:04
flujos a cada segundo y pues cómo se van poniendo de 4 en 4 y como pues mi 00:32:09
motivación va subiendo 00:32:15
notablemente por por respeto a la cantidad de créditos que 00:32:18
me quedan hechas GPT, lo voy a despublicar. 00:32:24
Ahora veremos un poco cuánto es el consumo de créditos. 00:32:28
Ya os voy adelantando que no es mucho. 00:32:30
De hecho, os puedo decir que para la RUTED del año pasado metí 20 euros en la parte de OpenAI 00:32:33
y creo que me quedan 15 y juego con él bastante. 00:32:39
O sea, puedo deciros que si utilizáis los modelos más baratos, no es tan caro, 00:32:43
no es algo que sea inasumible para ninguna organización. 00:32:50
Y ya con esto hemos visto los cuatro casos. Me siguen llegando mensajes del ciberjueves, pero creo que ya está. El éxito es la suma de pequeños esfuerzos repetidos día tras día. Qué razón, ¿eh? Genial. 00:32:54
Y ya con esto hemos entendido los 3 barra 4 casos. 00:33:10
Ahora vamos a ver lo que sería una integración de un EDR directamente con N8N. 00:33:15
Vamos a ver si lo tengo aquí, que creo que se va a ver un poco mejor, 00:33:21
o al menos voy a poder hacer zoom más rápido. 00:33:25
Aquí está. 00:33:28
Eso es. 00:33:34
Entonces, este sistema es, ahora que tenéis el contexto de cómo se utilizan 00:33:35
los cuatro casos de uso anteriores, este ya parece más entendible, al menos no es tan ajeno. 00:33:42
Por eso quería hacer la parte de enseñaros casos más aterrizados. 00:33:47
Ahora no me voy a detener demasiado en cada nodo específicamente, pero sí que vamos a ir viendo un poco qué es lo que hace. 00:33:54
Ahora solo por entender las capacidades que puede llegar a tener, más que por enseñaros desarrollos que yo ya he podido hacer, 00:33:59
que igual es un poco más coñazo. 00:34:06
Empezamos por el webhook de alerta. Esto sería la alerta que llega directamente desde el EDR, en este caso desde Wazoo. 00:34:08
Lo que va a hacer es lo mismo que hacían los otros flujos, como cuando te llega un mensaje de Telegram, te llega el webhook formateado. 00:34:15
Este nodo lo que va a hacer es preparar la consulta para VirusTotal en el formato que a VirusTotal le gusta, 00:34:23
porque lo que vamos a hacer es coger el hash de la alerta o el hash o el file path, 00:34:27
un poco la información que podamos contrastar en virus total, sea IP, IP, y meterla dentro de virus total. 00:34:36
Por supuesto hay un nodo específico de virus total dentro de N8N. 00:34:44
Aquí lo que vamos a hacer es un if en caso de que no haya nada, nos ha llegado una alerta que es de correo y no hay ni hash, 00:34:49
ni IP, no hay nada, pues no la vamos a tirar a Virus Total. Directamente se responde al 00:34:57
AguaZoo diciéndole, oye, de esto no se puede hacer nada, no se puede enriquecer esta alerta. 00:35:05
Y si no, la vamos a pasar por Virus Total. Este nodo de aquí lo que va a hacer es, no 00:35:10
sé si conocéis Virus Total, pero es el repositorio por excelencia de todo el malware que ha habido 00:35:15
y por haber entonces la pasa unifica todos los resultados con este nodo lo que hace lo que hace 00:35:19
este nodo es básicamente todo lo que ha devuelto virus total y lo junta en un único hay nodos de 00:35:28
estos específicos que se llaman agregadores pero bueno si me cambia el formato sé que con este 00:35:35
seguro no se me va a romper y lo que va a hacer es pasárselo al agente que la gente lo que va a 00:35:40
decidir es la como de posible es que eso sea un riesgo real para él 00:35:45
para que sea una alerta real que no sea un falso positivo que sea una alerta que 00:35:54
realmente pueda tener algo de algo de daño por detrás lo que va a hacer este 00:36:03
agente es utilizar la memoria de chat para ver si lo ha procesado en los 00:36:08
últimos 200 o 400 mensajes de contexto que se le dé, coger contexto de Wazoo de 00:36:12
alertas similares, esto viene súper bien porque si yo ya he declarado en mi EDR 00:36:20
que este tío que es técnico que tiene el PC400 y es administrador de sistemas 00:36:25
necesita esta herramienta que es un RDP sí o sí, pues yo ya sé que ese cuando me 00:36:34
vuelva a saltar esa alerta la tengo clasificada como oye no te preocupes que 00:36:40
esta alerta me ha dicho ya me ha confirmado el tío el cliente o quien sea 00:36:44
que esta alerta está autorizada y le metemos el mcp de wazoo para saber qué 00:36:48
integraciones se pueden hacer con wazoo directamente 00:36:54
y lo que vamos a pasar es directamente a la parte de alertado aquí tiene dos 00:36:57
sistemas de alertado uno que no es un send message es un send actions que eso 00:37:02
Lo que va a hacer es en Telegram pedirle al humano si es un problema o no, lo que se llama el human in the loop, es decir, confirmar con el humano que es algo benigno o que en su defecto no es, que es malicioso. 00:37:07
Y lo mismo en Google Chat, porque en el trabajo yo curro con Google Chat y es muy útil, tiene integraciones muy sencillitas de hacer. 00:37:26
Esto de aquí, que veis, significa que no están las credenciales puestas, porque esta es mi cuenta personal, no la del trabajo, pero si veis un nodo con esto, significa que hay algo que no está, algo que está mal configurado. 00:37:36
Y responder directamente ya a Wazo, con la revisión que haya dado el humano. Sencillito de entender. 00:37:48
Este es uno de los casos de uso especialmente en ciberseguridad, como habíamos comentado, pero hay otros muchos casos de uso. 00:37:54
Integraciones con CM hay muchísimas, integraciones con EDR es lo mismo, automatizaciones de cómo se responde, el poder llegar a tener un SOC 100% autónomo no es viable. 00:38:07
Siempre se necesita al menos un analista de nivel 3 que verifiquen que las alertas son correctas, al menos las críticas y las high. 00:38:20
Y para eso se necesitan flujos con aprobación humana, es decir, personas que verifiquen que lo que hay sea correcto. 00:38:28
Y ahora pasamos a lo que para mi parecer es la parte más chula, más entretenida, la parte de cibervigilancia y ciberinteligencia. 00:38:36
este es el primer flujo que hemos visto 00:38:43
y yo creo que ya lo vais a entender todos sin ningún problema 00:38:47
lo vamos a pasar directamente a N8N también 00:38:51
y este se llama 00:38:53
este 00:38:58
pero yo creo que se va a entender súper súper sencillito 00:39:03
y además creo que esto sí que lo podéis aplicar en la red social que queráis 00:39:07
yo he hecho la demostración con Telegram por facilidad de uso 00:39:11
porque si te pones a intentar hacer esto con Instagram, por ejemplo, se puede, 00:39:14
lo que pasa es que Meta tiene unas políticas de abuso un poco más restrictivas, 00:39:19
lo mismo con WhatsApp y lo mismo con otras herramientas, 00:39:25
entonces te tumban las cuentas antes, te las pillan como bots un poco antes, 00:39:27
entonces Telegram es lo más sencillo. 00:39:31
Vamos a partir de esto. 00:39:34
Aquí vamos a suponer que tenemos un archivo, un Python corriendo por detrás, 00:39:36
lo podemos tener doquerizado con una cuenta ingestada como si fuera Telegram web o WhatsApp web, es decir, hay una cuenta, hay una librería en Python que se encarga justamente de eso, 00:39:40
de todo lo que vaya pillando la cuenta, lo voy ingestando y lo mando por webhook al flujo. Este podría ser un mensaje de prueba, donde veríais ahí el nombre de la cuenta que está ingestando la información 00:39:49
y la fecha y un mensaje de ejemplo. 00:40:01
En este caso es uno de Dodosia. 00:40:06
No sé si conocéis Dodosia, pero es parte de Noname, 00:40:10
un grupo ruso súper conocido por los ataques de denegación de servicio que hace. 00:40:14
Cuando tenemos el mensaje, lo primero que hacemos es Postgres. 00:40:22
Postgres es una base de datos, es una tecnología de bases de datos, 00:40:26
lo ingestamos en Postgres. 00:40:29
Con esa información, instantáneamente, ya me da igual si el actor o quien sea ha borrado el mensaje, yo ya la tengo ingestada. 00:40:31
Eso no lo voy a perder. 00:40:37
Luego lo puede editar, lo volveré a ingestar, lo puede eliminar, me da igual, no se me va a eliminar de la base de datos. 00:40:38
Lo siguiente que vamos a hacer es un flujo de 50-50 enriquecimiento y 50-50 descubrir si es algo que a mí me interesa. 00:40:44
Entonces, empezamos por la parte de keywords. 00:40:52
Esto es muy sencillito de entender, programéis o no. 00:40:54
Vamos a filtrar por estos keywords. 00:40:57
tiene ransomware, Steeler, InfoSteeler 00:40:58
estas son las cosas que a mi 00:41:01
me pueden interesar como analista 00:41:02
o que me pueden alertar de bueno 00:41:04
esto merece la pena revisarlo porque se está 00:41:06
mencionando algo que no es como si estuviéramos 00:41:08
en el grupo de los 00:41:10
colegas, no, aquí puede haber algo serio 00:41:12
tiene, si realmente 00:41:15
lo vamos a ir ejecutando de hecho 00:41:18
esto me va a dar error porque no está configurado 00:41:20
pero bueno, está configurado para que saque el ítem 00:41:22
a pesar del error 00:41:24
Vamos a filtrar por keywords 00:41:26
El mensaje de ataque no llevaba ningún keyword que nosotros registráramos 00:41:28
Entonces, ¿qué es lo que va a pasar? 00:41:34
Que me va a sacar un false 00:41:36
Pues esto no parece que sea maligno así de buenas a primeras 00:41:37
Cuando luego el mensaje sí que indica de un ataque 00:41:40
Pero, por suerte, tenemos estos agentes de contextualización 00:41:43
Esto es lo que hemos visto antes, súper pequeñito 00:41:46
Pero aquí, esto ya sí juega un papel bastante más importante 00:41:49
Esto lo que tiene es el siguiente rol 00:41:52
No sé si se va a leer desde aquí, pero bueno, lo leo un poco en voz alta. Eres un clasificador de alertas ciberterroristas y cibercriminales, lee el campo texto del mensaje y responde solo con sí, si el mensaje indica o sugiere un ataque, amenaza o acción dirigida contra un país, su gobierno, etcétera, etcétera, o no, si no se trata de un ataque. 00:41:54
y le especifico aquí que le van a llegar muchos mensajes porque es una cuenta, es una o varias cuentas que están metidas en muchos grupos 00:42:14
y pueden ser grupos de minería de criptomonedas, grupos de inversión o grupos normales, que no todo por lo que vaya a analizar tiene que ser directamente esto 00:42:24
Entonces se le contextualiza un poco. Y cuando ejecutamos este agente, lo que debería decirnos es, en efecto, este if lo que va a hacer es decir, si la respuesta contiene un no, entonces como si es un ataque o si es parte de un flujo de ciberamenazas, lo va a pasar. 00:42:35
Y aquí vamos con la parte de enriquecimiento. Este flujo entero va a hacer lo que pone generalmente en cada uno de los suyos. No me voy a detener en todos para que lo sepáis un poco la parte de traducción, donde le meto la parte de webhook, el mensaje, vaya para que le llegue y el system prompt. Esto es lo mismo que hemos visto desplegado antes. 00:43:04
Y lo mismo aquí. Eres un agente de normalización, más idioma, más traducción al español, te llega el string y tu tarea es normalizarlo, básicamente. 00:43:24
Voy a ejecutar hasta aquí porque este no tiene el parser y el que tiene el parser coge información de este e información de este y lo pasa por el parser para que me dé una información estructurada. 00:43:36
estructurada. ¿Esto por qué? Porque yo quiero que luego esto me lo divida así. En idioma 00:43:48
detectado, inglés. Original, normalizado y la traducción al español. ¿Esto por qué? 00:43:56
Porque si yo quiero que me dé el mensaje en español, yo no sé inglés o en caso de 00:44:01
estos rusos no sé ruso o no sé chino o no sé el idioma que sea, yo quiero el mensaje 00:44:05
en español. Entonces pues tiramos del LMS para que nos lo traduzca. Aquí este es un 00:44:08
nodo súper, súper, súper útil 00:44:14
que es lo único que se encarga de poner la fecha bonita 00:44:16
y es que cuando 00:44:18
viene un mensaje de Telegram, desgraciadamente 00:44:20
aquí lo podemos ver si leemos un poco 00:44:22
esto es del webhook, es decir 00:44:24
el first note, el JSON 00:44:26
en el body, el mensaje 00:44:28
y el date, entonces yo me vengo aquí 00:44:30
el webhook en el body 00:44:32
el mensaje 00:44:34
el date 00:44:36
y esta es la fecha que me llega 00:44:37
y pues 00:44:40
a mí esto no se me hace muy intuitivo de leer 00:44:42
Entonces, este nodo lo único para lo que sirve es para lo que dice, para poner la fecha bonita. Y me pone la fecha bonita. Y luego tenemos otros agentes. La parte de duplicación, porque aunque yo no pueda ingestar un mensaje, es decir, no me vaya a llegar un mensaje duplicado, si tengo dos cuentas en el mismo grupo, lo que sí que puede pasar es que el actor, mismamente de dosia, diga por el chat que tiene en inglés, hecho esto, y luego lo repita por el chat que tiene en ruso, el chat que tiene en inglés, hecho esto. 00:44:44
que tiene en francés, en español 00:45:14
entonces me llegue muchas veces el mismo mensaje 00:45:16
entonces, aquí se le da una ventana de contexto 00:45:18
con una memoria de 00:45:20
los últimos 20 mensajes 00:45:21
si no lo has procesado 00:45:24
y dice básicamente eso 00:45:26
si verificas que 00:45:27
no lo has leído en esta conversación, me dices eso 00:45:30
y pasamos directamente al siguiente 00:45:32
el if 00:45:34
dice, lo has recibido o no lo has recibido 00:45:36
aquí como no tiene memoria, sería complicado 00:45:38
o sea, si 00:45:40
le uno esto con esto 00:45:41
sí que detectaría que lo ha leído 00:45:43
por las pruebas que estaba haciendo esta mañana 00:45:45
y aquí lo que me hace 00:45:47
es detectarme el país al que afecta 00:45:50
y luego una lista 00:45:52
un analista que va a 00:45:54
decirme la criticidad 00:45:55
la vericidad de la fuente 00:45:57
y un poco más 00:46:00
datos, me va a generar un resumen 00:46:02
y sobre todo para que luego 00:46:03
cuando lo metamos como alerta 00:46:05
sea mucho 00:46:08
más intuitivo de leer y aquí 00:46:10
creo que es un if también, es un switch 00:46:11
que me dice si estaba en castellano o no 00:46:15
porque si me está en castellano voy a utilizar la parte del original 00:46:17
si no estaba en castellano voy a utilizar la parte traducida 00:46:20
y le voy a poner de qué idioma está traducido 00:46:22
como esto estaba en inglés 00:46:24
se me va para la parte de no traducido 00:46:25
y esto se vería tal que así 00:46:29
acceso a un sistema de control industrial crítico 00:46:33
La información, y bueno, este es un mensaje ya desde hace bastante tiempo, el 6 de marzo de este año, y un resumen, el idioma del que viene traducido y la traducción. 00:46:38
Sencillito. Esto ya sí que está aportando un valor con un flujo que tampoco es tan complicado, que si os ponéis en una tarde, tengáis idea o no, lo sacáis. 00:46:52
y ya con esto hemos terminado la parte de cibervigilancia 00:47:00
aquí hace no mucho vino un ponente especializado en OSINT 00:47:07
un señor brasileño que a mí me cae muy bien 00:47:11
y he decidido hacer algo un poco en su honor 00:47:14
este es un flujo que me ha pasado un alumno que tengo en República Dominicana 00:47:17
de temas de formación de N8N 00:47:23
o sea, un tío que cuando vino no tenía ni idea de qué es N8N 00:47:24
este es el flujo que me ha pasado el otro día 00:47:28
le pedí permiso para ver si lo podía enseñar aquí 00:47:30
me ha hecho adelante 00:47:31
Y es increíble lo que puedes hacer cuando le dedicas tiempo a N8N. 00:47:33
Vamos a verlo de primera mano. 00:47:39
Este flujo lo que hace, es una cosa increíble, lo que hace es consultar con todas las fuentes, como hacéis SpiderFood, 00:47:42
pues lo que hace es consultar con todas las fuentes 00:47:52
de SpiderFood 00:47:56
con otras herramientas de recolección 00:47:58
que mi amigo Yeser 00:48:00
menciona por ahí 00:48:02
y aparte también de análisis visual 00:48:05
para el tema de face recognition 00:48:08
lo pasa por PIM-ICE y otras herramientas 00:48:10
y luego analista en lo mismo 00:48:12
pero en parte en UV 00:48:15
o sea, esto es en local 00:48:17
y esto es en UV 00:48:19
Es decir, HTTP request. Y estos nodos no los hemos visto, pero es muy valioso saber que existen porque lo que hacen son conectarse con cosas que tú tienes programadas, que tú tienes instaladas en tu CLI. 00:48:22
Yo esto lo tengo en un VPS de Hostinger, como os he enseñado antes. Entonces, estas herramientas, Jolele, Migrate y todas las demás que hay, se llaman por consola directamente. 00:48:33
O sea, no hace falta tener una integración dedicada para cada una de estas. Si yo quiero orquestar, que es para lo que sirve, desde N8N directamente, se puede hacer así. 00:48:43
Entonces, ¿cómo funciona esto? Es con un chat, ni siquiera lo ha integrado con Telegram, pero tampoco hace falta, y en función del tipo de cosa que sea, si es una imagen o si es un IOC tipo texto, lo ha pasado por arriba o por abajo. 00:48:53
Imagen para la parte que hemos visto de cosas visuales, de reconocimiento y la parte de arriba para la parte de texto. 00:49:13
Aquí que se puede mirar, dominios, IPs, emails y usuarios como poco. 00:49:20
Que para temas de OSINT es más que suficiente. 00:49:25
Entonces voy a intentar poner aquí, yo no tengo las herramientas instaladas en este VPS, 00:49:29
pero bueno os pongo aquí mi correo electrónico para que veáis un poco como sería el flujo. 00:49:35
Y así lo tenéis por si luego me queréis escribir un correo. 00:49:43
Yo se lo envío y esto lo que está haciendo es consultar, ha detectado que es un IOC y aquí el router va a decidir para dónde tiene que ir. 00:49:46
Voy a intentar hacer esto un poco más grande por la parte de arriba. 00:49:57
Entonces, el router lo que va a decir, vale, ¿a qué tiramos primero? 00:50:02
Tiramos a la parte de SpiderFood para conseguir herramientas, tiramos directamente al recolector, ¿qué hacemos? 00:50:06
y él va a ir consultando con sus distintas herramientas, todas van a dar error 00:50:10
porque no hay ninguna que tenga instalada en CLI, ya os lo adelanto 00:50:15
pero sí que me han enseñado la demo de cómo funciona en llamada 00:50:17
y es una maravilla porque es gratis, ninguna de estas cosas lleva API 00:50:22
la única API que lleva es la de Tavili, pero es una API gratuita 00:50:26
es una especie de buscador que puedes integrar en este tipo de cosas 00:50:30
y después de mergear todos los resultados que te han dado 00:50:35
en este caso le ha debido dar poca cosa hay un enriquecedor donde si hay oces 00:50:39
que haya podido sacar pues si de mi correo electrónico mi correo electrónico 00:50:45
es un supervisibles como me llamo pero si hay un correo chungo por ahí y lo ha 00:50:50
relacionado con una cuenta de github una cuenta de my fitness palo lo que sea va 00:50:53
a enriquecer esa información con navegación con fuentes abiertas y con 00:50:58
request y luego por último va a haber un router, un analista que se encargue de 00:51:03
hacer el resumen final. Ahora yo ya tengo toda esta información y tengo un 00:51:10
analista, un agente dedicado a únicamente resumir esa información que es hacer un 00:51:15
informe al final y me lo va a pasar aquí por texto, lo que me va a decir es eso, que no hay nada, pero es para que veáis las 00:51:21
capacidades de orquestación que tiene este tipo de herramientas que son 00:51:30
increíbles ya me apetece esperar pero sólo por saber 00:51:34
lo que me va a dar es probablemente algo parecido a esto 00:51:40
para que lo veáis ningún mensaje error técnico problemas 00:51:44
o sea no ha habido ninguna conclusión porque no hay nada instalado me dice que 00:51:49
me tengo que instalar las herramientas pero en este vps no me quiere estar ahí 00:51:54
Ahí está. Entonces, es un poco para que veáis las capacidades que se pueden llegar a tener de orquestación, lo que digo, no de una demo en vivo. 00:51:58
Y ahora ya sí que sí, bueno, terminamos. ¿Para qué puede servir en cibervigilancia, en investigaciones, en vuestro día a día, para lo que sea? 00:52:09
Aquí hay otras pocas, hay otras muchas, yo por ejemplo a nivel personal lo uso para tema de facturas, 00:52:26
cada vez que me llega una factura hay un agente que se encarga de extraer toda la información y enviármela al correo, 00:52:33
ver qué es lo que tengo que hacer con ello. 00:52:38
Lo tengo también puesto en el formulario de la web de la Spanish Space Initiative, 00:52:40
si vosotros enviáis un correo de contacto por ahí, el formulario lo que va a hacer es llamar al webhub de N8N 00:52:43
y enviarme a mí un correo porque tengo conectado la API de enviar tanto un telegram, 00:52:51
algo parecido a esto, de cuando se une una persona, algo parecido a esto, 00:52:57
la parte de voluntarios, la parte de contactos, esto es lo que se envía por detrás, 00:53:08
tanto un correo como a mi correo personal para que se me notifique por los dos lados 00:53:13
y así no se me pueda pasar. 00:53:19
Y las últimas tres recomendaciones, si queréis empezar con esto, empezar pequeño, hacer cosas concretas y medir si lo que estáis haciendo realmente tiene valor, si merece la pena automatizarlo. 00:53:21
Lo único malo de N8N es que es tan bueno como el tiempo que le dediques. Si tú le dedicas 15 horas, no vas a tener un muro que digas, vale, esto ya no lo puedo hacer con N8N, pero le vas a tener que dedicar una cantidad de tiempo desmedido. 00:53:37
Como último ejemplo para que veáis de lo que hace una persona con mucho tiempo libre, esto es lo que se puede llegar a hacer, un bot completo de Telegram, cuando tú tienes una cantidad de tiempo libre que no es normal. 00:53:51
Entonces, este flujo, si os ponéis a mirarlo, lo podéis llegar a entender, o sea, no es complicado. 00:54:06
Yo aquí tengo todas las claves que tendría un bot, ¿no? Un huamay, un search, start. 00:54:12
Este bot era precisamente para consultar la base de datos de la investigación de Telegram que hemos hecho. 00:54:16
Se puede hacer. Al final, lo puedes intentar meter y lo puedes intentar formatear con... 00:54:23
O sea, que te pueden dar archivos N8N, hay parte de administración de añadir cuentas, quitar cuentas, lo puedes conectar con un MISP si tenéis un SOC y lo puedes intentar incluso enriquecer los IOCs que os salgan. 00:54:30
Por eso digo que el tiempo que le dediquéis es directamente proporcional a la masificación que os haga. Por eso, medir si realmente lo que estáis intentando hacer no es más fácil hacerlo con otro tipo de sistema. 00:54:43
Muchas gracias. 00:54:57
Muchas gracias Pablo, muchas gracias. 00:54:58
educamadrid y a mí siempre tengo curiosidad y sobre todo por saber en 8n 00:55:41
no crees que al ser un entorno tan gráfico te hace muy dependiente sobre 00:55:48
todo en el tiempo en el que vivimos que yo creo que ha ido todo 00:55:56
evolucionando a cosas pasándolo a código y justo en el 8n es 00:56:02
lo contrario. ¿No te 00:56:09
hace que sea 00:56:11
dependiente de N8N, que tenga muchos 00:56:12
flujos en N8N, que al 00:56:14
no verlo todo como código 00:56:17
te haga tener esa dependencia? 00:56:18
¿Tú qué opinas? 00:56:21
Es una muy buena pregunta. 00:56:24
Sí y no. Tiene 00:56:29
sus pros. Cuando tú tienes un 00:56:31
equipo que no es técnico, yo sí 00:56:33
necesito que alguien me administre las facturas 00:56:34
y necesito que alguien le dé soporte 00:56:36
a mi flujo de las facturas 00:56:38
que me llegan 00:56:41
hasta qué punto me merece la pena 00:56:41
que sea algo con código 00:56:45
y te lo pongo 00:56:46
por la otra parte 00:56:49
una funcionalidad que no hemos visto porque es que 00:56:50
esto es masivo 00:56:53
pero a mí no me han pasado 00:56:54
un flujo compartiéndomelo 00:56:56
como se comparte en Google Drive 00:56:58
por ejemplo, tú puedes 00:57:01
desarrollar flujos enteramente 00:57:03
en archivos JSON 00:57:04
entonces cuando tú importas archivos en JSON 00:57:05
este por ejemplo que es el que os he importado 00:57:08
puedes desarrollar en código 00:57:14
perfectamente 00:57:16
esto está importado y está hecho 100% en código 00:57:17
de hecho 00:57:19
si me apuras creo que hasta lo puedo abrir 00:57:20
aquí está 00:57:24
esto es código 00:57:27
tú puedes seguir desarrollando 00:57:31
en JSON 00:57:33
cuando 00:57:34
digo que merece la pena 00:57:38
revisar 00:57:40
si realmente está aportando valor 00:57:43
o si son cosas que no son 00:57:44
demasiado amplias, lo digo por eso, porque hay gente que 00:57:46
se pierde de, vale, yo quiero automatizar 00:57:48
todo mi flujo 00:57:51
de ventas, pero vamos a ver, eso es una barbaridad 00:57:53
eso no se puede hacer 00:57:54
con el 8N, pero no se puede hacer con prácticamente nada 00:57:56
si lo quieres empezar a hacer 00:57:58
poquito a poco, a lo que 00:58:00
terminará siendo, es a desarrollar 00:58:02
un CRM, no vas a terminar 00:58:04
haciendo un flujo masivo 00:58:06
de leads, deals 00:58:08
los que se me quedan fríos, los que hay que calentar, un flujo de automatización de todas las semanas, me haces un resumen, se pueden, cosas concretas. 00:58:10
Cuando tú empiezas a masificar todo, ahí es cuando viene el problema. Es muy buena pregunta. No sé si te responde. 00:58:20
Sí, sí, muy buena respuesta, la verdad. Muchas gracias. 00:58:26
N8N tiene un MCP 00:58:29
para trabajar 00:58:34
entonces 00:58:36
la curva de aprendizaje 00:58:38
todavía es más sencilla 00:58:40
y la otra 00:58:41
pregunta es, si has trabajado con él 00:58:44
¿tiene muchas limitaciones 00:58:46
ese MCP o se trabaja correctamente 00:58:48
con él? Se trabaja perfectamente 00:58:51
si te refieres MCP por la parte 00:58:52
de desarrollar flujos 00:58:54
Sí, exactamente, estar con el agente 00:58:56
o directamente tú 00:58:57
Yo, por ejemplo, tengo Cursor, no sé si le conocéis, pero es un foro de Visual Studio. 00:58:59
Aquí le puedes pedir directamente que te haga flujos enteros. 00:59:05
Con ChatGPT lo mismo, os lo descargáis y lo subís. 00:59:10
Cuando tú, lo bueno de esto, no sé si esto lo podré... 00:59:13
o sea, yo aquí tengo, por ejemplo, el MCP de muchas cosas, pero tengo o debería tener el MCP de N8N. 00:59:16
Entonces, a esto no le puedo hacer zoom, pero ahí se ve cómo tengo el MCP de N8N. 00:59:30
El MCP, para quien no lo sepa, es como todo el endpoint de cosas que puedo hacer de algo 00:59:35
o como una especie de enciclopedia de cosas que se pueden hacer en una herramienta y para desarrollar yo lo uso y a mí de hecho me hace flujos enteros. 00:59:41
Ninguno de los que habéis visto hoy, pero sí que lo he utilizado para basarme en algunos, pero aquí hay flujos de Wazoo, de indexación, de enriquecimiento con virus total y cosas así que se pueden hacer y la cosa es ir jugando. 00:59:51
Además, si lo tienes instalado en local, creo que no lo he enseñado, pero yo también tengo una instancia de N8 en el local, puedes ir desarrollando con él en paralelo y abrirte una instancia en local, o sea, una pestaña en local, que es esta que tengo aquí al lado, localhost, y estos son los flujos que me hace él. 01:00:02
y yo ni siquiera los tengo que 01:00:20
no tengo que importar el archivo 01:00:21
eso es una manera de desarrollarlo 01:00:23
a nivel justamente técnico 01:00:25
de ir viendo código 01:00:27
más que otra cosa 01:00:30
y puede hacer 01:00:30
este justamente es el que he tocado yo 01:00:31
pero sobre todo lo ves 01:00:35
por la calidad que tienen 01:00:38
este por ejemplo 01:00:39
con sus notas y demás 01:00:40
lo ha desarrollado enteramente él 01:00:44
y me ha dicho mira tú tienes que hacer para esto 01:00:45
tienes que hacer esto, esto y esto 01:00:47
Creo que te lo puedo implementar así. Sacas un skill de N8N, el MCP, y te lo intenta implementar. 01:00:48
¿Más preguntas por ahí? ¿David, tienes alguna pregunta? 01:01:00
Bueno, yo más que pregunta como tal de todo el tema de N8N, te iba a comentar si nos puedes comentar un poquito más de la iniciativa tuya de Spanish Inventive. 01:01:05
Por supuesto 01:01:16
Por supuesto 01:01:18
La iniciativa que tengo 01:01:20
Que es la Spanish Space Initiative 01:01:22
Nos dedicamos a 01:01:24
Entre otras muchas cosas 01:01:26
A fomentar 01:01:28
Talento 01:01:30
Es la descripción más sencilla que se puede dar 01:01:31
Tenemos un equipo 01:01:33
De espléndidos voluntarios 01:01:36
Si la gente no se puede hacer nada 01:01:37
En la que hacemos competiciones de este estilo 01:01:39
Donde en formatos de 01:01:41
Uno, dos, tres días 01:01:44
en función de si es fase nacional, regional o internacional, se mete a chicos en compañías de 50 personas, ellos mismos se organizan, se eligen su presidente a votación, 01:01:45
su vicepresidente de ingeniería, de marketing, sus jefes de departamento de estructuras, automatización y otras mil millones de cosas, 01:01:57
mucho más orientado al espacio que a ciberseguridad, me temo, y el resultado es gente con un talento desmedido que termina llegando al Kennedy Space Center 01:02:03
y eso luego te abre muchas puertas. El haber ido al Kennedy Space Center, haber estado compitiendo entre lo mejor de lo mejor del talento joven de todo el mundo, 01:02:16
Porque esto no es algo que se celebre en España, se celebra en todas las partes del mundo. En Europa, en Asia, en América, tanto del norte como del sur. Y la gente que va para allá, de verdad, cuando te juntas, yo he tenido la oportunidad de ser competidor y además ganar la final internacional. 01:02:25
el llegar y que tu compañía sea un equipo de argentinos, un equipo de europeos, que son romanos, chinos, romanos, portugueses, italianos, alemanes, todos en el mismo equipo. 01:02:43
Luego viene la parte de los chinos, la parte de los japoneses y luego un equipo de Texas con el sombrero y ya te quedas, vamos. 01:02:57
Parece un chiste, pero tener ese ambiente multicultural de colaborar con gente que tiene una forma de trabajar completamente distinta a la tuya es impresionante. 01:03:04
Y esa es la oportunidad que llevamos dentro de la iniciativa. 01:03:14
Nosotros recogemos la fase nacional y ponemos a los chicos en la fase internacional. 01:03:17
¿Alguna pregunta más? 01:03:25
Bueno, lo primero de todo, felicidades. Me ha gustado mucho la charla. 01:03:30
Yo he hecho cuatro cosas con N8N 01:03:34
A veces más fácil, a veces más difícil 01:03:37
Pero he tenido una sensación un poco rara 01:03:41
Que no sé si es porque soy yo y ya está 01:03:44
Me estoy pegando con mis cosas 01:03:47
O si tú la has tenido alguna otra vez 01:03:49
O conoces a más gente que la ha podido tener 01:03:51
Que es la sensación de que a veces dejo algo funcionando 01:03:53
Y luego vuelvo una semana después y ya no funciona 01:03:58
porque resulta que ha cambiado la credencial 01:04:01
de la API y nadie me ha avisado 01:04:03
yo no me he acordado 01:04:05
porque la versión del sistema operativo 01:04:06
del Docker al final es un poco 01:04:09
diferente, es actualizado y no sé qué 01:04:11
porque hoy me ha pasado 01:04:13
tengo un 01:04:15
flujo programado semanalmente 01:04:17
y me ha estado funcionando dos o tres semanas 01:04:19
y de repente ya no me funciona 01:04:21
claro, yo lo miro y digo, pues si es un flujo 01:04:22
es muy chorra 01:04:25
tiene que ser una chorrada lo que se me está pasando 01:04:26
pero sí que tengo un poco esa sensación 01:04:29
de jolín, se supone que 01:04:31
aquí montas algo y ya 01:04:33
está montado y esto debería estar 01:04:35
funcionando y no tengo que estar supervisando que lo que 01:04:37
está automatizado realmente 01:04:39
funciona, entonces bueno 01:04:41
simplemente por compartir contigo esa sensación 01:04:43
y por saber si de verdad que es 01:04:45
justo mi casuística que se ha dado 01:04:47
o es una cosa que a lo mejor 01:04:49
pues sí que hay que tener en cuenta cuando se trabaja con 01:04:50
N8N ¿no? Siento completamente 01:04:53
tu sufrimiento 01:04:55
de verdad te lo digo 01:04:56
es una cosa que pasa 01:04:57
pero desgraciadamente 01:04:59
generalmente nunca va a ser por cosa de N8N 01:05:01
ni siquiera por Docker 01:05:04
porque eso 01:05:05
nunca he tenido la casuística 01:05:06
y mira que en N8N han salido muchas vulnerabilidades 01:05:09
a mí se me 01:05:12
lo tengo configurado eso sí para que se actualice 01:05:13
solo y es un periodo que está 01:05:16
bajo y luego se vuelve a subir 01:05:18
se levanta solo 01:05:19
lo que sí que me pasa es con integraciones 01:05:20
que me he quedado sin créditos 01:05:23
en tal aplicación 01:05:26
en OpenAI nunca me ha pasado 01:05:27
pero de repente 01:05:29
mi equipo ha cambiado la credencial 01:05:30
de una cosa a otra 01:05:33
y la cuenta 01:05:34
administrativa que se encargaba 01:05:36
de eso, la han cerrado 01:05:39
si es que eso 01:05:40
si no está documentado en ningún sitio va a pasar 01:05:42
y la única solución que te puedo dar 01:05:45
es activar la parte de notificaciones 01:05:47
de N8N que te llegue al correo 01:05:49
cuando algún nodo falla 01:05:51
si son sobre todo cosas críticas 01:05:52
oye, que sepas que esta 01:05:54
ejecución ha salido mal y normalmente suele poner un detallito creo que no 01:05:57
tengo no creo que no tengo ninguno en el personal pero se puede configurar para 01:06:00
que oye te avise si algo ha fallado no de hoy eso no me debería haber llegado 01:06:06
ayer que lo tenía programa no me ha llegado nada y te des cuenta posterior 01:06:11
muchas gracias y ahora continuamos con como siempre entregamos un pequeño 01:06:17
detalle a los ponentes y para hacer entrega del mismo llamo al escenario al jefe de plataformas 01:06:24
educativas, Adolfo Sánchez Diego. Muy bien, muchas gracias. Muchas, muchas gracias. Muchas gracias. 01:06:30
Etiquetas:
Eventos, Ciberseguridad
Subido por:
Admin-educamadrid-mediateca
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
7
Fecha:
7 de julio de 2026 - 13:12
Visibilidad:
Público
Centro:
EST ADMI DIRECCIÓN GENERAL DE ESTRATEGIA DIGITAL
Duración:
1h′ 07′ 07″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
280.39 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid