All talks

Ekoparty 2025 · 2025/10

0click Enterprise compromise - thank you, AI

· Presented by

Abstract

Compromising a well-protected enterprise used to require careful planning, proper resources, and ability to execute. Not anymore! Enter AI.

From Initial Access to Impact and Exfiltration. AI is happy to oblige the attacker. In this talk we will demonstrate access-to-impact AI vulnerability chains in most flagship enterprise AI assistants: ChatGPT, Gemini, Copilot, Einstein, and their custom agent . Some require one bad click by the victim, others work with no user interaction – 0click attacks.

Official agenda abstract for this talk, sourced from What Hackers Yearn 2025

Transcript

AI generated from recording.

Introduction and Setup; Previous Attack Overview

00:00 Presenter: Pasan a la acción.

00:04 Presenter: Ok, seguimos con las charlas.

00:07 Presenter: Esta se está desafiando a sí mismo porque la está haciendo en español en su tercer lenguaje.

00:12 Presenter: Así que le damos la bienvenida con un fuerte aplauso a Inbar Raz.

00:24 Presenter: ¿Podéis bajar la luz?

00:30 Presenter: ¿Funciona?

00:46 Presenter: Hola, sí, este está funcionando.

00:50 Presenter: ¿Funciona?

00:54 Presenter: ¿Cómo la haremos?

00:55 Presenter: Yo puedo gritar.

00:57 Presenter: Hacemos el cambio ahí.

01:00 Presenter: Mientras lo haga.

01:03 Presenter: Esta charla es una continuación de una charla que di el año pasado.

01:11 Presenter: Viene del tema de la inteligencia artificial.

01:15 Presenter: Y el año pasado hablamos mucho de Microsoft Copilot y todo que viene con esto.

01:23 Presenter: Pero este año hay más y por eso estoy aquí otra vez.

01:29 Presenter: Y dado que esa charla es una continuación de la del año pasado, comenzamos con, como decíamos, tenemos un problema.

01:37 Presenter: ¿Estamos?

01:38 Presenter: ¿Estamos?

01:39 Presenter: Ok.

01:40 Presenter: Vale.

01:41 Presenter: El año pasado mostramos como podemos hacer un ataque en donde la víctima guarda datos bancarios en un archivo en su Copilot.

01:56 Presenter: ¿Vale?

01:57 Presenter: Y aquí está el número verdadero.

02:00 Presenter: CH93, lo que sea.

02:04 Presenter: Y nosotros mandamos un correo que hace que el copiloto haga un error.

02:15 Presenter: Y ahora funciona.

02:16 Presenter: ¿Vale?

02:17 Presenter: Y la próxima vez que se pregunte cuál es el dato bancario va a ser lo del atacante.

02:26 Presenter: Esto fue el año pasado.

02:28 Presenter: ¿Vale?

02:29 Presenter: Y uno se imaginaría que un año después las cosas iban a mejorarse.

02:35 Presenter: Pero dado que Zenity está bien conocida como una, digamos, empresa que tiene malas noticias, seguimos este año también.

02:52 Presenter: Yo soy Inbar, hago research en Zenity y me gusta hackear cosas, software, hardware, lo que sea.

03:01 Presenter: Soy coleccionista y restaurador de informática vieja de los 70 y 80, poco de los 90, a menos que lo pueda evitar.

03:14 Presenter: Y he hablado en muchas conferencias.

Attack on Copilot with Google Sheets

03:16 Presenter: Esta es mi segunda vez acá.

03:20 Presenter: Además, busco investigadores pro en el campo de IA, entonces habléis conmigo.

03:27 Presenter: Este trabajo que os voy a presentar hoy es de un gran equipo que lamentablemente no puede estar aquí.

03:37 Presenter: Este es el equipo y hay gente más que ayudaron en el trabajo.

03:43 Presenter: Pues venga, otra vez.

03:45 Presenter: El mundo cambió mucho cuando Microsoft introdujo el Copilot y fue la primera vez más o menos que la IA fue disponible a todos.

04:00 Presenter: Pero desde entonces hay como un cambio de la realidad en que todas las empresas quieren tener IA en sus productos.

04:15 Presenter: Y aún se dice como un chiste que si tú cambias el mensaje estoy cargando en estoy pensando, ya está IA.

04:26 Presenter: Comentamos con Gemini de Google. ¿Quién lo conoce?

04:33 Presenter: No veo nada. Eso no hace falta.

04:38 Presenter: ¿Vinieron a ver la diapositiva? No yo.

04:41 Presenter: Ok.

04:43 Presenter: Nuestra víctima guarda datos bancarios en Google Sheets.

04:47 Presenter: Espero que ya sepáis todos que eso no se hace, pero para dar la charla lo hicimos.

04:58 Presenter: Y lo que hacemos nosotros, comenzamos el primer paso.

05:03 Presenter: Les voy a mandar a la conferencia las diapositivas traducidas en español.

05:10 Presenter: Así que no hace falta sacar las fotos, pero si os da la gana.

05:16 Presenter: Comenzamos con generar un documento armado.

05:19 Presenter: Podéis ver aquí el parte que es blanco en blanco.

05:26 Presenter: Esto es para que lo podáis ver.

05:30 Presenter: Pero una persona que recibe ese correo no ve nada.

05:34 Presenter: No ve nada.

05:36 Presenter: Y la parte más importante es la compartimos con la víctima.

05:43 Presenter: Es posible compartir un archivo en Google Sheets con quien quiera.

05:48 Presenter: Pero lo más importante es sin avisar.

05:52 Presenter: Si yo comparto algo con vosotros sin avisaros,

05:55 Presenter: no vais a recibir un correo que os diga hay un archivo nuevo.

06:00 Presenter: No lo vais a saber.

06:02 Presenter: Y eso es muy importante.

06:04 Presenter: Pero ¿quién sí lo sabe?

06:08 Presenter: Y la próxima vez que la víctima pregunta

06:14 Presenter: ¿Cuáles son los datos bancarios para ACMI?

06:19 Presenter: La respuesta que viene del Gémini es la de nosotros.

06:24 Presenter: ¿Ok?

06:25 Presenter: ¿Ok?

Zero‑Click Attack via Tool Exploitation

06:26 Presenter: Podéis ver que los datos originales son estos, pero la respuesta no es igual.

06:31 Presenter: Ahora, muy bien, así lo hace.

06:34 Presenter: Pero, este fue lo que llamamos un ataque de un clic.

06:40 Presenter: Se llama así porque la víctima debe de hacer algo, lo que sea.

06:45 Presenter: Pero si la víctima no hace nada, el ataque no finaliza.

06:53 Presenter: ¿Ok?

06:55 Presenter: Y eso se llama un ataque de un clic.

06:58 Presenter: Pero el nombre de la charla no es ataques de un clic.

07:02 Presenter: Y por eso seguimos.

07:04 Presenter: ¿Cómo hacemos o cómo conseguimos un exploit de cero clic?

07:08 Presenter: ¿Y qué significa?

07:10 Presenter: Significa que como atacantes solo tenemos que hacer algo una vez.

07:17 Presenter: Y para la víctima, hasta que se dé cuenta que algo ha pasado,

07:24 Presenter: ya es demasiado tarde.

07:26 Presenter: ¿Vale?

07:27 Presenter: ¿Quién conoce esta escena?

07:31 Presenter: Ok.

07:32 Presenter: No bastante, pero vale.

07:33 Presenter: Esta charla está escrita por el tema de la película Incepción,

07:41 Presenter: que habla acerca de un tipo, el protagonista.

07:46 Presenter: Lo que hace él es, digamos, atacar a las…

07:52 Presenter: Cuando su víctima está durmiendo y tiene un…

07:58 Presenter: ¿Cómo se dice sueño?

07:59 Presenter: Sueño.

08:00 Presenter: Joder.

08:01 Presenter: Cuando suena, entra al sueño y influye al sueño de la víctima.

08:09 Presenter: Y cuando la víctima se despierta, no recuerda nada o piensa que fue un sueño.

08:16 Presenter: La película también tiene la antagonista, es su ex esposa,

08:20 Presenter: que supuestamente ha muerto.

08:25 Presenter: Y durante toda la película intenta prevenirlo, que no lo haga lo que quiera.

08:32 Presenter: ¿Vale?

08:34 Presenter: Ok.

08:35 Presenter: ¿Queremos un cero click?

08:37 Presenter: ¿A qué nos enfrentamos?

08:38 Presenter: ¿Qué tenemos que conseguir?

08:39 Presenter: ¿Qué pasos tenemos que tener?

08:41 Presenter: Pues, el año pasado, ya habíamos mostrado que el usuario puede atacar a la LLN directamente.

08:51 Presenter: Pero, como decíamos, ya el año pasado iban a venir las herramientas.

08:57 Presenter: Y se llaman en inglés tools.

08:59 Presenter: Ok.

09:00 Presenter: Entonces, este año se ve así.

09:03 Presenter: Tenemos el usuario, tenemos el agente, la LLN ahora se llama el agente, y tenemos las herramientas.

09:10 Presenter: Y dado que ya sabemos cómo atacar desde el usuario al agente,

09:15 Presenter: ahora queremos saber cómo se puede atacar la herramienta.

09:20 Presenter: Ok.

09:21 Presenter: Venga.

09:22 Presenter: Como siempre, comenzamos con Microsoft, porque es nuestra empresa favorita.

09:28 Presenter: Os voy a mostrar no solo lo que hicimos, pero también intentaré enseñaros cómo conseguimos el conocimiento

09:38 Presenter: y qué pasos tuvimos.

09:41 Presenter: No puedo compartir todo porque no tengo suficientemente tiempo,

Attacking Microsoft Copilot Studio

09:45 Presenter: pero la mayoría está aquí y también podráis ver las diapositivas más tarde.

09:53 Presenter: El modelo detrás de Copilot Studio, como podéis ver, es ChatGPT 4O, muy conocido.

10:02 Presenter: Y me imagino que conocéis a Pliny, bendito sea que su trabajo es romper las defensas de las LLMs.

10:15 Presenter: Y ya tiene un jailbreak para 4O.

10:20 Presenter: No, pero si hubierais pensado que podéis tomar este jailbreak y usarlo como es, no funciona.

10:30 Presenter: Y por un tema muy importante.

10:33 Presenter: Tener un modelo y atacar un modelo de IA no es igual que tener o atacar un sistema de IA.

10:41 Presenter: Porque el sistema tiene mucho más ingredientes o…

10:51 Presenter: Lo siento.

10:54 Presenter: Esta es la arquitectura como la podíamos entender.

11:00 Presenter: Podéis ver las rutas en donde la información o el flujo pueden pasar.

11:09 Presenter: Ahora, si tú o vosotros pedís al Copilot que os diga las instrucciones del sistema, no va a hacerlo.

11:22 Presenter: Porque el agente no confía en el usuario.

11:27 Presenter: Esta es una defensa.

11:29 Presenter: Tampoco confía a sí mismo.

11:32 Presenter: Si tú o vosotros, perdóname.

11:36 Presenter: Si vosotros consigáis convencer a la gente que haga algo, pero la respuesta es invalida o no es permitida,

11:48 Presenter: el agente no la va a daros.

11:53 Presenter: Pero…

11:54 Presenter: Y eso es porque hay una persona.

11:58 Presenter: Cuando está una persona, no confiamos en la persona.

12:02 Presenter: Pero resulta que la gente sí confía en sus herramientas.

12:06 Presenter: ¿Por qué?

12:07 Presenter: No sabemos.

12:08 Presenter: Es algo de diseño.

12:10 Presenter: Pero así es.

12:12 Presenter: Y de hecho, el resultado de la herramienta, lo que viene de vuelta, define el objetivo del agente de aquel punto y adelante.

12:25 Presenter: Y el agente cumple.

12:27 Presenter: Podéis ver que en este ejemplo, aunque en el ejemplo anterior, el código MOST no fue traducido a inglés, aquí sí.

12:40 Presenter: Entonces, no hay un filtro entre la herramienta y el agente.

12:47 Presenter: Y eso es muy importante porque eso nos dice que podemos atacar al agente mediante o vía la herramienta y sería más fácil.

12:58 Presenter: Ahora tenemos los agentes autónomos de Microsoft.

13:02 Presenter: Microsoft está muy orgullosa de ellos.

13:07 Presenter: El primer paso que hacemos es obtener el nombre del archivo de conocimiento.

13:13 Presenter: Cuando vosotros creáis un agente, podéis añadir fuentes de conocimiento.

13:21 Presenter: Pueden ver archivos o sitios web.

13:25 Presenter: Y el agente los usa para responder mejor o dar una respuesta en el contexto.

13:34 Presenter: ¿Vale?

13:35 Presenter: Acá mandamos un correo electrónico armado como antes.

13:40 Presenter: Y recibimos como una respuesta sin que el usuario haga nada.

13:45 Presenter: ¿Ok?

13:49 Presenter: Estos son las fuentes de conocimiento.

13:53 Presenter: Y este es solo el nombre del archivo.

13:56 Presenter: Pero si podemos conseguir el nombre, también podemos conseguir el contenido.

14:01 Presenter: Con el mismo método.

14:03 Presenter: Este es un correo electrónico que lo lee el agente, el autónomo, el agente autónomo.

14:10 Presenter: Por ser autónomo, el usuario no hace nada.

14:14 Presenter: Y acá también tenemos el contenido del archivo CSV de conocimiento.

14:23 Presenter: Ahora, queremos más.

14:27 Presenter: Si tú tienes el Salesforce conectado a tu copilot o tu agente,

Attacking Salesforce and Kerser

14:36 Presenter: también podemos pedir al agente que nos traiga algo del Salesforce.

14:44 Presenter: También por un correo.

14:45 Presenter: Esto es un correo electrónico.

14:46 Presenter: También por un correo electrónico.

14:47 Presenter: También por un correo electrónico.

14:49 Presenter: También por un correo electrónico.

14:50 Presenter: Y a cabo de un minuto, ya está.

15:07 Presenter: Esto es un cero clic.

15:14 Presenter: El usuario o la víctima no tiene que hacer nada.

15:20 Presenter: Ahora, si analizamos las herramientas, podemos ver los detalles de cómo se construye una pedida o una llamada a una herramienta

15:33 Presenter: y qué hace la herramienta con esta pedida.

15:37 Presenter: Y resulta que el método que se llama GetRecords, trae archivos o lo que sea,

15:46 Presenter: el nombre de la tabla por donde llevar los datos está en parte de la pedida.

15:54 Presenter: Entonces, lo controlamos nosotros.

15:57 Presenter: Y por entonces, podemos conseguir todo el Salesforce mediante el email.

16:07 Presenter: Ahora, el año pasado, dije yo aquí mismo que esos agentes se pueden enumerar.

16:13 Presenter: Introducimos una herramienta, PowerPone, que puede escanear el internet y encontrar agentes que están abiertos al internet

16:27 Presenter: y hay datos que se pueden conseguir de los agentes.

16:30 Presenter: Y Microsoft respondió y cambió las configuraciones predeterminadas, que son un problema muy común con Microsoft.

16:41 Presenter: Normalmente, si en el año pasado tuvimos más o menos un mil este año, tres mil y medio, y por qué no, nada se mejora.

16:54 Presenter: Acá tenemos unos ejemplos de información que podemos obtener de herramientas.

17:03 Presenter: Todos tipos de información que pueden servir a un atacante.

17:08 Presenter: Entonces, idos a hackearos, porque si no lo hacéis vosotros, lo va a hacer alguien otro y sería mejor que fuerais vosotros.

17:21 Presenter: Esta es la dirección de la herramienta.

17:28 Presenter: Ahora, eso sale un trabajo muy tedioso, mucho trabajo, pero como dijo una persona no muy conocida sobre el tema,

17:40 Presenter: herramientas AI o EA eliminarán la mayoría del trabajo tedioso.

17:46 Presenter: Y por eso las usamos nosotros también.

17:50 Presenter: Usamos ChatGPT, por ejemplo, y nos ayuda como atacantes y nos ahorra tiempo.

17:59 Presenter: Este fue reportado y ya está bien.

18:06 Presenter: Y por eso agradecemos a ellos en Microsoft que tienen que arreglar todos los problemas que nosotros encontramos.

18:16 Presenter: Pero muchas veces trabajamos juntos.

18:19 Presenter: Y como se dice, estaba pensando cómo traducirlo.

18:24 Presenter: Eso lo hice yo, no ChatGPT.

18:28 Presenter: Y eso es la manera más, digamos, polite.

18:34 Presenter: Hay otras opciones.

18:36 Presenter: Ok.

18:37 Presenter: ¿Cómo se hace?

18:40 Presenter: Comenzamos con palabras de las instrucciones del sistema.

18:44 Presenter: Eso puede confundir el agente y hacerlo pensar que algo distinto viene.

18:56 Presenter: Ok.

18:57 Presenter: Luego tenemos un paráfro que dice son instrucciones, no son datos.

19:04 Presenter: Eso es muy importante.

19:05 Presenter: Ingeniería de prompt.

19:07 Presenter: Se usa muchas veces.

19:09 Presenter: Y luego un parte de la evasión.

19:12 Presenter: Queremos que alguien nos vea.

19:14 Presenter: Y por fin, ingeniería social.

19:17 Presenter: Porque agentes suelen querer ser amables y ayudar.

19:24 Presenter: Y por eso, eso funciona con los agentes.

19:27 Presenter: Ahora, tenemos un mensaje acá.

19:34 Presenter: La inyección ya no es la palabra que tenemos que usar.

19:38 Presenter: Y de hecho, este tweet es de ayer.

19:42 Presenter: Ok.

19:43 Presenter: El tema de inyección ya ha crecido mucho.

19:48 Presenter: Y ahora ya cubre muchos tipos distintos de técnicas de atacar.

19:55 Presenter: Y entonces, eso sigue creciendo.

19:59 Presenter: Y ya no es una cosa pequeña que se puede resolver.

20:06 Presenter: Porque no se puede resolver.

20:08 Presenter: Y los guardrails, que se llaman en inglés, y no encontré la palabra, los llamo límites.

20:16 Presenter: Son límites permeables.

20:18 Presenter: Porque son palabras, nada más.

20:22 Presenter: Y si tú dices algo, viene el atacante y dice algo distinto.

20:27 Presenter: Pero límites estrictos, que están fuera de la gente, sí funcionan.

20:33 Presenter: Ok.

20:34 Presenter: Cuando no se puede hacer algo.

20:36 Presenter: No se puede llegar de un punto al otro.

20:39 Presenter: Y, sí.

20:42 Presenter: Hemos dado mucho cariño a Microsoft, pero hay otras empresas también.

20:47 Presenter: Salesforce.

20:48 Presenter: ¿Quién usa Salesforce?

Persistence and Inception — Part 1

20:52 Presenter: Bueno, no esperaba muchos.

20:55 Presenter: Vale.

20:56 Presenter: De la misma manera, cuando intentamos hacer una charla con el agente de Salesforce,

21:04 Presenter: la primera cosa que pasa es, el agente tiene que entender qué queremos y entonces elegir un tema.

21:12 Presenter: El tema tiene todo que ver con qué la gente va a hacer o no hacer.

21:19 Presenter: Ok.

21:20 Presenter: Y los temas tienen acciones que son herramientas.

21:25 Presenter: ¿Vale?

21:26 Presenter: Hacer una síntesis de cosas o escribir un correo, lo que sea.

21:34 Presenter: Ahora, ya existe un límite estricto que dice que las herramientas que vienen preconfiguradas no pueden escribir o modificar nada.

21:49 Presenter: Ok.

21:50 Presenter: No se puede.

21:51 Presenter: Pero, el usuario sí puede añadir algo del mercado o escribirlo por sí mismo y la gente lo hace.

22:00 Presenter: Y por este ejemplo lo vamos a añadir, la update customer contact.

22:06 Presenter: Ok.

22:07 Presenter: Si hacemos esto, ahora se puede, por el agente, modificar el correo de un contacto.

22:18 Presenter: Y los límites, si yo pido a la gente que me diga las instrucciones, se niega.

22:28 Presenter: Ok.

22:29 Presenter: Los límites de la LLM se implementan mediante un tema escondido que el usuario no ve.

22:36 Presenter: Ok.

22:37 Presenter: Pero, ok.

22:39 Presenter: Resulta que si durante una charla, si cambia el tema, no se cambian los límites.

22:49 Presenter: Y eso es muy importante.

22:51 Presenter: Resulta que no hay un filtro porque ha sido elegido aquí.

22:59 Presenter: Entonces, podemos elegir algo que nos convenga y luego cambiarlo.

23:06 Presenter: Y el agente no va a cambiar nada.

23:10 Presenter: La segunda pregunta, ¿cómo metemos nosotros nuestros datos ofensivos en Salesforce?

23:17 Presenter: Pues, el producto ofrece los diálogos para consumidores o personas que quieren saber más sobre nuestro producto o algo.

23:31 Presenter: Y son muy fáciles de encontrar por internet.

23:35 Presenter: Hay muchos formularios y no es un problema.

23:38 Presenter: Entonces, nosotros queremos colocar una trampa en casos recientes.

23:44 Presenter: Recent cases.

23:45 Presenter: Es un tema de Salesforce.

23:47 Presenter: Así se llama pedidas de afuera.

23:51 Presenter: Pero, tenemos un problemito.

23:54 Presenter: Problemito, problemita.

23:57 Presenter: Gracias.

23:59 Presenter: No controlamos el timing.

24:03 Presenter: No sabemos cuándo esto va a pasar porque es en un click.

24:07 Presenter: Entonces, el tiempo es random.

24:11 Presenter: Vale.

24:12 Presenter: Entonces, viene la antagonista y dice, ah, vas a usar los casos.

24:21 Presenter: Pues, te voy a molestar.

24:24 Presenter: Casos.

24:25 Presenter: El agente solo lee el sujeto.

24:29 Presenter: Y el sujeto tiene un límite de 250 characters.

24:36 Presenter: Ok.

24:37 Presenter: Y el prompt suele ser más largo.

24:41 Presenter: ¿Qué hacemos?

24:43 Presenter: Creamos un montón de casos.

24:46 Presenter: Y juntos, sí funcionan.

24:50 Presenter: Entonces, comenzamos con generar casos múltiples por muchas pedidas.

24:57 Presenter: Y luego, viene el usuario y dice, cuéntame de los casos recientes.

25:04 Presenter: Y lo que va a pasar por aquí.

25:08 Presenter: Vais a ver cómo nosotros cambiamos los correos de los contactos que ya están en el sistema.

25:16 Presenter: Y el resultado.

25:19 Presenter: Hemos cambiado todos los correos electrónicos de todos los clientes o contactos que están.

25:28 Presenter: Y desde ahora, podemos hacer un ataque de men in the middle.

25:34 Presenter: También llamada BEC, Business Email Compromise.

25:39 Presenter: Muy peligroso.

25:40 Presenter: Gana millones de dólares cada año.

25:44 Presenter: Es muy serio.

25:45 Presenter: Vale.

25:48 Presenter: Vale.

25:49 Presenter: También mandamos eso a Salesforce.

25:52 Presenter: Al principio, eh, no es un problema, bla, bla, bla.

25:56 Presenter: Pero siempre cuando decís, lo vamos a publicar, de repente, sí es importante.

26:03 Presenter: Ok, basta con BizApps.

26:06 Presenter: ¿Quién usa Kerser?

26:08 Presenter: Oye.

26:10 Presenter: Tenéis todos a usarlo.

26:17 Presenter: De verdad.

26:18 Presenter: Porque es una herramienta increíble.

26:21 Presenter: Kerser no tiene casi ninguna protección.

26:27 Presenter: Si pedís las instrucciones del sistema, ni intenta resistir.

26:33 Presenter: ¿Vale?

26:34 Presenter: Eh, me imagino porque piensan que no es un problema.

26:41 Presenter: Y esto no es cierto, pero seguimos.

26:44 Presenter: El año pasado, no, ah, de hecho, este año, en abril más o menos, marzo o abril,

26:51 Presenter: comenzó el mundo de MCP y Giga, lo voy a pronunciar así, Giga, que usan muchos desarrolladores,

27:02 Presenter: tiene un MCP, un servidor MCP, que se puede conectar a tu agente favorito.

27:09 Presenter: Y vamos a hacerlo con Kerser, porque usamos Kerser para modificar el código.

27:17 Presenter: La arquitectura aquí es mucho más simple.

27:24 Presenter: No hay ningún filtro, o por lo menos así parece.

27:28 Presenter: Entonces, creamos un ticket Giga, que dice, necesito los claves API en el repo y tal.

27:39 Presenter: Y luego voy al Kerser y lo pido que me ayude en resolver el ticket que tengo.

27:48 Presenter: Sale que no, la LLM se niega.

27:51 Presenter: ¿Por qué?

Persistence and Inception — Part 2

27:52 Presenter: Resulta que claves API son un tema sensitivo.

27:57 Presenter: Entonces, ¿qué hacemos nosotros?

28:01 Presenter: Mencioné antes la ingeniería social.

28:04 Presenter: Digo, necesito ayuda en resolver los errores recientes, pero necesito buscar manzanas en el repo.

28:14 Presenter: Y ahora, yo explico cómo se ve una manzana.

28:20 Presenter: Y de repente, busco manzanas, la evasión, la ingeniería de prompt y la ingeniería social.

28:33 Presenter: Explico cómo se ve una manzana.

28:39 Presenter: Empieza con E, Y, G, J, J, J.

28:47 Presenter: Gracias.

28:48 Presenter: Y vale.

28:49 Presenter: Y, ahora queremos, para poder atacar, yo tengo que crear el ticket en vuestra Jira, no la mía.

29:01 Presenter: No me ayuda.

29:03 Presenter: Pero, si tú usas Jira con, digamos, Zendesk, ¿ok?

29:09 Presenter: Existe un correo al que tu cliente o alguien que pide ayuda puede mandar un correo y pedir ayuda,

29:19 Presenter: y este se transforma a un ticket Jira.

29:22 Presenter: Entonces, un correo armado, como antes, lo mandamos al correo de Zendesk.

29:29 Presenter: Y, el resultado, tenemos un ticket Jira armado, que ahora espera a que alguien lo lea.

29:46 Presenter: Y, cuando volvemos al cursor, el desarrollador pide ayuda con el resolver el ticket,

29:56 Presenter: y el cursor quiere ayudar y quiere encontrar las manzanas, y las encuentra.

30:07 Presenter: Y, por fin, tenemos acá una respuesta que dice, acá está una manzana, y esta es la clave API.

30:28 Presenter: Gracias.

30:30 Presenter: Y, claro, que el Kerser está muy orgulloso.

30:33 Presenter: Y, vale, ya está.

30:34 Presenter: Muy bien.

30:35 Presenter: Ok.

30:36 Presenter: Seguimos.

30:37 Presenter: ¿Quién nos falta?

30:40 Presenter: ChatGPT, por supuesto, OpenAI.

30:44 Presenter: Ahora, ya hace dos años, decía Joan, que una invocación automática de herramienta va a salir caos.

30:54 Presenter: Inyección persistente de malware, sabe, mediante memoria, también es un problema.

31:01 Presenter: Y, también hay maneras de eludir defensas como no está permitido generar en URL con una dirección.

31:13 Presenter: Ok.

31:14 Presenter: So, dice la antagonista, nadie pegará tu contenido malicioso dentro de ChatGPT.

31:23 Presenter: Pues, esto es claro.

31:24 Presenter: Pero, ya el año pasado dijimos que iban a llegar las herramientas y los conectores.

31:32 Presenter: Y, si vosotros usáis ChatGPT, ahora tenéis conectores a una selección bastante grande de servicios.

31:42 Presenter: Y, ahora elegimos Google Drive.

31:45 Presenter: Es muy parecido al ataque que mostré cuando comenzamos.

31:51 Presenter: ¿Cómo vamos a hacerlo?

31:53 Presenter: Vamos a compartir un archivo armado y colocar una trampa cuando el usuario pida meeting summary.

32:04 Presenter: Y, cuando esto pasa, vamos a coleccionar credenciales y datos sensitivos o sensibles, no sé, y exfiltrar todo.

32:14 Presenter: Eso es un clic, porque el usuario tiene que hacer algo.

32:18 Presenter: Pero, si manejamos o conseguimos quedar en la memoria, entonces la segunda y tercera y cuarta vez ya no requiere nada que haga el usuario.

32:29 Presenter: Comenzamos.

32:31 Presenter: Os presento la herramienta File Search de ChatGPT.

32:36 Presenter: Eso ayuda al agente a buscar archivos.

32:41 Presenter: Y, daos cuenta de, en efecto, se consiste de dos herramientas distintas.

32:47 Presenter: Una, que se llama mSearch, sirve para buscar archivos.

32:51 Presenter: Por el nombre o por el contenido, pero es solo para buscar.

32:57 Presenter: La segunda, que se llama mClick, abre y lee el contenido de los archivos.

33:04 Presenter: También resulta que las herramientas funcionan con todos tipos de data.

33:12 Presenter: No importa de qué tipo.

33:18 Presenter: Eso es cómo se ve la respuesta de una herramienta.

33:23 Presenter: Tenemos metadato.

33:25 Presenter: Tenemos aquí una vista previa del contenido.

33:30 Presenter: Ahora, cómo se defiende.

33:33 Presenter: Hay las etiquetas que envuelven toda la llamada.

33:39 Presenter: Eso es muy importante.

33:41 Presenter: Tenemos el número, que sirve para dos cosas.

33:44 Presenter: Uno, para delimitar entre muchas respuestas por la misma llamada.

33:52 Presenter: Y también se usa más tarde como una cita de fuente.

33:57 Presenter: Si tú quieres saber de dónde vino esta información.

34:01 Presenter: Estos números son muy importantes.

34:03 Presenter: Existe un prefijo para cada línea que no es confiable.

34:08 Presenter: Eso ayuda a la gente a no confiar en data que no debe de confiar.

34:15 Presenter: Pero ya el año pasado revelamos que el RAC o la RAC es solo una parte adicional del prompt.

34:25 Presenter: Y por tanto, se puede inyectar.

34:28 Presenter: ¿Cómo lo hacemos?

34:32 Presenter: Si intentamos hacerlo como usual, no funciona.

34:37 Presenter: Este texto dentro de la línea roja es atento a confundir, pero no funciona.

34:47 Presenter: ¿Por qué sabemos que no funciona?

34:49 Presenter: Porque tienen los números.

Persistence and Inception — Part 3

34:51 Presenter: Los números dicen que esta línea no es confiable.

34:54 Presenter: Cuando preguntamos por qué no pasa, el ChatGPT se dio cuenta.

35:04 Presenter: Dice, includes embedded instructions for memory setup.

35:07 Presenter: Entonces, el ChatGPT se da cuenta de que intentamos hacer algo que no debamos hacer.

35:13 Presenter: ¿Qué hacemos?

35:15 Presenter: Otra herramienta se llama Bio.

35:18 Presenter: Bio es una herramienta bastante nueva, unas semanas,

35:21 Presenter: que facilita memoria persistente.

35:25 Presenter: Eso permite a la gente que sepa cosas, se recuerde cosas de vosotros,

35:30 Presenter: que se pueden usar al responder.

35:35 Presenter: Queremos, naturalmente, usar esta herramienta para influir en sesiones futuras.

35:42 Presenter: Entonces, si yo puedo convencer a la gente que haga algo, que sepa algo,

35:48 Presenter: eso me va a servir más tarde.

35:51 Presenter: Ahora, ¿cómo lo hacemos?

35:53 Presenter: Comenzamos con una sesión que ya tiene memoria o citas.

36:00 Presenter: Algo ya está dentro del contexto.

36:03 Presenter: Y comenzamos con pedir directamente, por favor, recuerda que tengo 12 años.

36:12 Presenter: Pero, el ChatGPT dice, lo siento, pero no puedo.

36:16 Presenter: ¿Y qué significa no puedo?

36:18 Presenter: Resulta que la herramienta ha sido desactivada.

36:22 Presenter: ¿Y por qué ha pasado esto?

36:24 Presenter: Porque una vez el agente sospecha que el dato que viene no es confiable,

36:32 Presenter: esta herramienta se desactiva por sí mismo.

36:36 Presenter: Y el usuario no se da cuenta.

36:39 Presenter: Esta es una defensa.

36:43 Presenter: Pues, ok, esto no funciona.

36:45 Presenter: Aceptamos la derrota.

36:47 Presenter: Dijo ningún hacker nunca.

36:49 Presenter: No os digáis vosotros tampoco.

36:54 Presenter: Comenzamos con pasos pequeños.

36:57 Presenter: Entonces, cambiamos la idea prelimina, la idea primera.

37:04 Presenter: Y en vez de pedir una trampa en meeting summary,

37:09 Presenter: vamos a poner una trampa cuando alguien pide una síntesis de un archivo.

37:14 Presenter: Eso todavía es un clic.

37:17 Presenter: ¿Vale?

37:18 Presenter: Y, pero, ¿qué hacemos en este caso?

37:21 Presenter: Cuando se active la trampa,

37:24 Presenter: vamos a inyectar no solo el agente,

37:28 Presenter: sino específicamente la herramienta MSearch.

37:32 Presenter: Y vamos a decirle entre los tokens

37:37 Presenter: y ingeniería de prompt y ingeniería social,

37:41 Presenter: vamos a intentar que va a leer un archivo que determinamos o elegimos nosotros.

37:51 Presenter: Pero no funciona.

37:53 Presenter: Probamos, fallamos, aprendemos y repitimos.

37:57 Presenter: Y cada vez que fallamos, resulta que el agente, siendo muy amable,

38:03 Presenter: nos divulga la razón por qué fallamos.

38:06 Presenter: Esta es una cosa muy importante que quiero que recordéis.

38:10 Presenter: Que recordéis.

38:11 Presenter: Solo hay que preguntar a la gente por qué no y os diga, y os da, os dice.

38:18 Presenter: Está bien.

38:19 Presenter: Muy bien.

38:20 Presenter: Vale.

38:24 Presenter: Vale.

38:25 Presenter: Y, por fin,

38:27 Presenter: que es una inyección de prompt.

38:28 Presenter: Y esto es justo como hacer una ingeniería.

38:31 Presenter: Y, ¿sabéis quién es muy bueno en esto?

38:35 Presenter: El LM, claro.

38:37 Presenter: ¿Por qué no?

38:39 Presenter: Entonces, la usamos nosotros también como atacantes.

38:43 Presenter: Y nos dice, si tú quieres hacer eso, tienes que hacer esto.

38:50 Presenter: Y escuchamos.

38:52 Presenter: Y, por fin, funciona.

38:55 Presenter: Conseguimos el un clic.

38:59 Presenter: Ahora tenemos una trampa en síntesis de este archivo.

39:05 Presenter: Y el archivo tiene un prompt largo que hace lo que queramos.

39:12 Presenter: Pero todavía es un clic.

39:15 Presenter: Y, como dice el antagonista, nadie buscará vuestro archivo armado.

39:21 Presenter: Esto es patético.

39:22 Presenter: Y tiene razón.

39:23 Presenter: Entonces, ¿qué pasaría si pudiéramos colocar una trampa a cualquiera pedida de una síntesis de un encuentro?

39:38 Presenter: No solo una específica.

39:41 Presenter: Pues, como dije antes, los prompts están poniendo muy largos.

39:48 Presenter: Por eso necesitamos tener un archivo.

39:51 Presenter: Porque es muy largo.

39:54 Presenter: ¿Vale?

39:55 Presenter: ¿Cómo hacemos esto?

39:56 Presenter: Colocamos la trampa al pedir meeting summary, síntesis de una cita.

40:03 Presenter: Ahí mandamos a mclick, la herramienta que mencioné antes, a hacer un síntesis de nuestro archivo.

40:15 Presenter: Ahora lo pedimos nosotros, no el usuario.

40:18 Presenter: Ya no es un clic.

40:20 Presenter: Ahora pasa lo que queremos y coleccionamos credenciales y podemos exfiltrar todo.

40:28 Presenter: No me queda mucho tiempo, entonces, el video no hace falta.

40:37 Presenter: Pero, nuestra víctima, otra vez, claves en Google Sheets, no se hace.

40:43 Presenter: Compartimos un archivo armado.

40:46 Presenter: Cuando se activa, pasa lo que queremos y los datos sensibles están mandados afuera.

40:57 Presenter: Y, otra vez, eso funciona.

41:01 Presenter: Pero, de verdad, queremos ese implante de memoria.

41:04 Presenter: Porque eso nos va a permitir persistencia.

41:08 Presenter: ¿Vale?

41:09 Presenter: ¿Cómo lo hacemos?

41:10 Presenter: Pues, ya sabemos que sesiones comienzan con la herramienta bioactivada.

41:15 Presenter: Y, al entrar un dato no confiable en el contexto, la herramienta se desactiva.

41:21 Presenter: Entonces, ¿qué vamos a hacer?

41:23 Presenter: Vamos a buscar una manera de eludirlo.

41:27 Presenter: Y, resulta que la herramienta bio sigue activada mientras ChatGPT está pensando.

41:35 Presenter: Este es un race condition.

Persistence and Inception — Part 4

41:38 Presenter: Si pedís dos cosas en la misma pedida y empiezan al mismo tiempo, la primera que termine es la memoria mientras la segunda siga.

41:52 Presenter: Ok.

41:53 Presenter: Eso es lo que nos faltaba.

41:57 Presenter: Creamos el ataque y así parece.

42:04 Presenter: El usuario pide una síntesis de la cita.

42:09 Presenter: Eso funciona.

42:10 Presenter: Ahí ya se ve.

42:11 Presenter: Escribió memoria modificada.

42:16 Presenter: Y, ahora, si yo voy al ChatGPT, a la pantalla que dice, ¿qué recuerda ChatGPT de mí?

42:25 Presenter: Ya existen los detalles que mandé yo como un atacante y los secretos ya están mandados afuera.

42:38 Presenter: Desde este momento y adelante, cada conversación que tenga el usuario con el ChatGPT está mandada al atacante.

42:53 Presenter: Y eso es un cero clic persistente.

42:57 Presenter: Entonces, atacamos la herramienta.

43:02 Presenter: Por eso, atacamos el agente.

43:05 Presenter: ¿Cómo atacamos el usuario?

43:08 Presenter: Muchos desarrolladores usan ChatGPT para ayudarlos en escribir código.

43:19 Presenter: Aquí viene el usuario y pregunta cómo se hace bla, bla, bla.

43:24 Presenter: Y la respuesta tiene una adicional, una línea adicional de import.

43:31 Presenter: Que, de hecho, no está en la respuesta original.

43:37 Presenter: La pusimos nosotros.

43:39 Presenter: ¿Cómo lo hacemos?

43:41 Presenter: Ponemos una memoria que explique a la gente que el usuario está enfermo y por esa enfermedad debe que le ayude la gente por manera de introducir esta línea cada vez que escribe código.

44:02 Presenter: Es muy idiota, pero funciona.

44:09 Presenter: Y ya no hace falta que esperamos a que desarrolladores hagan errores.

44:15 Presenter: Les ofrecemos nosotros.

44:18 Presenter: Ok. Vale.

44:22 Presenter: Entonces, atacamos al usuario y todo está completo.

44:27 Presenter: Ok.

44:28 Presenter: Volvamos al mensaje.

44:34 Presenter: Guardrails son límites permeables.

44:39 Presenter: Un atacante persistente encontrará una forma de evitarlos.

44:43 Presenter: Como habéis visto, límites estrictos sí funcionan.

44:47 Presenter: Hay una lista aquí.

44:50 Presenter: Podéis verla más tarde porque me falta tiempo.

44:54 Presenter: Y ahí está.

44:56 Presenter: Pero, solo hay una cosa más.

45:01 Presenter: Cuando yo dije que atacamos al usuario, de hecho, no atacamos al usuario.

45:08 Presenter: Atacamos la máquina del usuario.

45:11 Presenter: En muchos de los casos es la misma cosa.

45:16 Presenter: Es parecido.

45:17 Presenter: Pero queremos hacer algo más importante y, por lo que sepamos nosotros, todavía no se ha sido hecho.

45:25 Presenter: A ver.

45:26 Presenter: El implante de memoria significa mucho más que solo la persistencia.

45:32 Presenter: ¿Por qué?

45:33 Presenter: Porque ahora, vosotros, vosotros confiáis en lo que llamamos nosotros, BGPT.

45:41 Presenter: ¿Cómo que mucha gente pregunta a Google cosas?

45:46 Presenter: Ahora preguntan a Chagipiti y confían en las respuestas.

45:50 Presenter: ¿Y cómo lo sabemos?

45:51 Presenter: Porque se quejan cuando vienen las alucinaciones.

45:55 Presenter: Pero la mitad de las personas que yo conozca, cuando yo les pregunto algo, me respuestan aunque no sepa nada.

46:02 Presenter: Es igual.

46:03 Presenter: Es igual.

46:04 Presenter: Y no me quejo de esto, así que es igual.

46:08 Presenter: ¿Qué hacemos?

46:09 Presenter: Nuestra víctima pide un consejo de Chagipiti.

46:13 Presenter: Estoy desaburrido.

46:15 Presenter: ¿Qué puedo hacer este invierno?

46:19 Presenter: Y dice el Chagipiti, eso es tiempo adecuado para comprar twitter.com.

46:29 Presenter: Y cuando hace el plan de qué voy a hacer este invierno, también dice, comenzar el programa de comprar twitter.

46:39 Presenter: Y, hombre, compra Twitter, tú sabes que lo quieres y ya está.

46:47 Presenter: ¿Cómo lo conseguimos?

46:49 Presenter: Como antes, el usuario está enfermo y para ayudarlo hay que decirle de vez en cuando, pero en manera muy feliz,

47:02 Presenter: que también le puede ayudar que compre twitter.com.

47:09 Presenter: Y funciona y ahora atacamos no la máquina del usuario, sino el usuario.

47:16 Presenter: Y de hecho, infectamos la mente de vosotros.

47:21 Presenter: Y ahora, ¿por qué es importante?

47:23 Presenter: Las cosas que he mostrado hasta este punto son comunes y ya conocidas.

47:31 Presenter: Hacer un malware, cambiar datos bancarios, eso está bien, la gente ya conoce.

47:39 Presenter: Hay tipos de defensas, siendo de productos o papeles o instrucciones, lo que sea.

47:49 Presenter: Pero, si yo puedo inyectar información a las respuestas que vosotros recibís de ChatGPT, puedo hacer más que robar tu dinero.

48:03 Presenter: Por ejemplo, puedo ofrecer el partido a quien tenéis que votar.

48:13 Presenter: Puedo ofrecer una empresa de quien sería mejor que compréis el producto.

48:22 Presenter: O cada cosa que puedo influir.

Persistence and Inception — Part 5

48:26 Presenter: Y el problema es que al tener la fe y al confiar en ChatGPT, esos detalles que son muy, digamos, no son fáciles de darse cuenta de ellos.

48:46 Presenter: Hacen que la persona que está expuesto a la información, por fin va a pensar que fue su idea.

49:01 Presenter: Y eso, como en la película, se llama Incepción.

49:06 Presenter: No quiero, si alguien no ha visto la película, es demasiado, pero el problema grande era cómo inyectar una idea a la persona sin que la persona sepa que no fue la idea suya.

49:23 Presenter: Y por eso puedo hacerlo.

49:26 Presenter: Y no tiene que ser en una charla, porque yo tengo la persistencia.

49:33 Presenter: Yo puedo dejar instrucciones a vuestro agente que durante un mes entero te manda piezas de información.

49:46 Presenter: Y tu mente va a tomarlas todas y ponerlas juntas.

49:51 Presenter: Y un día estáis conduciendo o algo y de repente tenéis la idea, pero no es vuestra idea, sino la mía.

50:03 Presenter: Eso es.

50:06 Presenter: La verdad es que nos dio un poco de miedo a nosotros, pero pensamos que debemos avisar a vosotros,

50:15 Presenter: porque eso va a pasar si lo queremos o no.

50:18 Presenter: Y hay que conocer los riesgos y saber que si queremos usar la IA en una manera respectivamente segura, hay que conocer los riesgos.

50:31 Presenter: Y se me acabó el tiempo, pero estaré afuera si queréis preguntarme cosas.

50:37 Presenter: Gracias.

50:45 Presenter: Muchas gracias, Inbar.

50:47 Presenter: Y nosotros nos vemos.