Mostrando entradas con la etiqueta Google Chrome. Mostrar todas las entradas
Mostrando entradas con la etiqueta Google Chrome. Mostrar todas las entradas

lunes, septiembre 28, 2026

La transcripción Speech-to-Text Client-Side que no puntúa correctamente por no usar un LLM-MM

No soy mucho de enviar audios por las aplicaciones de mensajería. Lo hago sólo con amigos, y gente muy cercana, pero no me gusta mucho usar la voz. Va demasiado de mí en los audios. Sin embargo, es mucho más rápido que escribir. Pero... ¿por qué no usar el Speech-To-Text del smartphone? Pues porque no suelo tener buena experiencia con la puntuación. Eso es lo que estaba pensando ayer domingo, trabajando viendo el puente del 25 de Abril de Lisboa, así que quise probar si, con la llegada de los LLMs Multi Modales, había mejorado.

Figura 1: La transcripción Speech-to-Text Client-Side que
no puntúa correctamente por no usar un LLM-MM

Primera prueba, usando Twitter/X en iOS, y el botón de Speech-To-Text del teclado del iPhone 17 Pro Max que tengo, con un mensaje muy sencillo. Aquí tenéis el resultado, muy al estilo de los primeros Cognitive Services del año 2016 (si no anteriores). Han pasado 10 años ya para seguir con esta calidad.

Figura 2: Speech-to-Text del teclado de iPhone.
No pone el punto ni las interrogaciones. Ni una coma.
Six-Seven nada más.

Lo siguiente que hice fue probarlo en Gemini, pero ahora pidiéndole que me lo hiciera bien con un Prompt y subiéndole un audio, para que hiciera todo el proceso en backend (Server-Side). El resultado es muy bueno, que es lo que yo estoy esperando de un Speech-to-Text en el terminal móvil.

Figura 3: Gemini lo borda. Correcto.

Así que, como lo hizo muy bien Gemini, que es un LLM-MM, le pregunté por qué la soluciones Speech-To-Text en Smartphone tienen tantas carencias a la hora de poner las puntuaciones correctas, y aquí está la explicación que me dio.

Figura 4: Problemas del Speech-to-Text para puntuar correctamente.

Por supuesto, la primera es que no se dictan los puntos y las comas, ni las interrogaciones o exclamaciones. Evidente, pero en el mundo que estamos hoy en día, los modelos de IA reconocen las entonaciones con facilidad, así como se hace el análisis de sentimiento, que de eso hemos hablado mucho. Basta con un clasificador de Machine-Learning para hacer eso.

Figura 5: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Lo siguiente que dice es que las pausas pueden ser ambigüas, bueno, pero se puede hacer mejor que lo que se hace ahora. También dice que puede afectar la diferente forma de entonar que se tiene o que el contexto puede ser indeterminado. Además del uso de fórmulas habladas, como las muletillas. Nada, no se lo compro, debería ser mucho mejor que esta prueba que he hecho con Notas de iPhone.

Figura 6: Ni una puntuación.

Visto esto, le pregunté a Gemini, si estos problemas existen, cómo es posible qué él lo hubiera hecho tan bien con el audio que le había subido, y la respuesta se resume en... Yo soy un LLM-MM de primer nivel, para mí es trivial.

Figura 7: La respuesta de por qué lo hace él tan bien

Por supuesto, hay una diferencia fundamental entre hacer un análisis en tiempo real del flujo de audio en "stream" a hacerlo con el fichero completo en "bloque", pero aún así es muy mejorable. De hecho, este Prompt se lo he subido usando el Speeh-To-Text en Google Chrome en la webapp de Gemini - ejecutándose el Client-Side - , y la verdad que lo hace muy bien.

Figura 8: Usando el Speech-To-Text de Gemini en Google Chrome Client-Side

Lo dicho, creo que si estos sistemas de Speech-To-Text en Client-Side funcionara mejor - que estamos en la era ElevenLabs y traducción en tiempo real de conversaciones, la gente haría menos uso de los envíos de audios, y sería un avance para los usuarios, porque a veces hay que escribir textos muy largos por no enviar el audio a una persona que no se quiere enviar.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, abril 21, 2026

Cómo crear un exploit 1-day sobre un CVE de Chrome con Vibe Coding usando Claude Opus (no Mythos) y poner en jaque todas las apps en Electron

Utilizar la Inteligencia Artificial para buscar vulnerabilidades es algo de lo que os he hablado en más de alguna ocasión. En el artículo de "Usar Deep Reasoning en GitHub para buscar ( y parchear ) Bugs en proyectos Open Source" os hablaba hace ya un años de que me extrañaba mucho que esto no fuera un parte fundamental de los repositorios de código. Y sobre explotar CVEs publicados sólo con la información pública, ya tuvimos en el año 2024 el paper de "LLM Agents can Autonomously Exploit One-day Vulnerabilities".
Esto, lógicamente, lleva a que la profesión de dedicarse al Bug Bounty haya cambiado, y empiece a ser imprescindible trabajar con los LLM tanto para la búsqueda como para la explotación, que es de lo que habla David Padilla  en su libro de "Bug Hunter".

Figura 2:"Bug Hunter" escrito por David Padilla en 0xWord

Esto mismo es lo que ha hecho el investigador s1r1us con Google Chrome, para demostrar el riesgo que además esto tiene en las aplicaciones hechas con Electron, y que ha publicado en un artículo que debes leer "I Let Claude Opus Write a Chrome Exploit: The Next Model (Mythos?) Won't Need My Help?". El gran problema es que las aplicaciones hechas con Electron llevan embebidas versiones de Chrome completas, pero hay un gap entre la actualización y parcheo de vulnerabilidades de Google Chrome y las versiones que llevan aplicaciones súper populares hechas con Electron.
A día de hoy, estamos, tras la última actualización del 7 de Abril en Google Chrome 147, así que todos los bugs parcheados en esta última versión, aún están presentes en Cursor, Claude Desktop, Discord, Slack, etcétera. Así que... ¿por qué no, a partir de la publicación de los CVEs parcheados en Google Chrome usar Claude Opus (No Mythos) para intentar hacer el exploit de estas vulnerabilidades conocidas?
Para ello, s1r1us estuvo enfocando a Claude Opus sobre distintos CVEs de los que no había exploit público, gastando tokens y dinero en ellos, hasta que encontró uno que el modelo descubrió cómo explotarlo, y con la ayuda del investigador - sólo con prompting - fue trabajando hasta que consiguió un código funcional que permitía ejecutar las primitivas de escritura y lectura dentro de la Sandbox de Google Chrome.
Por supuesto no es un 0-day, sino un 1-day o n-day, como quieras llamarlo, pero del que no existe un exploit público, por lo que sigue teniendo mucho valor en el mercado del bug bounty legítimo, pero como os podéis imaginar, también en el mercado negro. 
El siguiente fase hay que conseguir evadir la sandbox, y de esto no hay un CVE claro, pero el investigador hace una cosa maravillosa, que es irse a Chromium Tracker y buscar un reporte de existencia de este problema, y encontró el fallo descrito como: "V8 Sandbox Bypass: WasmCPT handle UAF by import dispatch table growth", un fallo conocido en la V8 Sandbox de Chromium.
Así que apuntó a Claude Opus hacia él, y juntando las dos piezas fue capaz de conseguir construir un exploit totalmente funcional para un CVE público del que no había exploit conocido, y que tiene un valor espectacular para el equipo de seguridad de Google, para las empresas de seguridad ofensiva y, por supuesto para el black market.
Por supuesto, los datos son los más interesantes, porque dejan ver el mundo hacia donde vamos, y que como podéis ver permite que con unas 20 horas de trabajo de "babysitter", y unos 2.000 USD en tokens se posible explotar un CVE conocido que está sin parchear en tooooooodas las aplicaciones Electron tan populares que tenemos hoy en día, con millones de instalaciones en todas las empresas y organizaciones que te puedas imaginar.
Estos exploits, se pagan en los Bug Bounties por unos 10.000 USD, así que sigue saliendo positivo en términos económicos el experimento, pero sobre todo pensando en la evolución de estos modelos. ¿Cómo será este mundo cuando se liberen modelos como Mythos? ¿Podremos permitirnos publicaciones de CVEs con tanta información pública? 

¿Serán sostenibles estos gaps entre los componentes y las aplicaciones que usan esos componentes? En la gráfica anterior tenéis un resumen de los días, las horas, los tokens y los costes invertidos en conseguir hacer este exploit. En el mundo de los exploits, estos costes son ridículos, y tener exploiters experimentados capaces de hacer estas cosas suele costar mucho más dinero. Mundo curioso al que vamos.

escrito por Chema Alonso con la colaboración de Pablo González, Fran Ramírez, Amador Aparicio, Manuel S. Lemos y José Palanco en 0xWord

Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los posts, papers y charlas que se han  escrito, citado o publicado en este blog sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, febrero 22, 2026

Cómo salir del cuadro de dialogo que te ha bloqueado Blogger porque te quedaste sin Internet

Que yo publico todos los días es algo que podéis ver en los artículos del blog diariamente. Eso me obliga a tener que conectarme desde cualquier ubicación, ya sea en medio de las montañas, en países de todo el mundo, en mitad de una ciudad, un avión, o en el medio del mar mientras me mecen las olas. Y por supuesto, muchas veces tengo problemas con la conectividad mientras estoy trabajando.

Figura 1: Cómo salir del cuadro de dialogo que te ha
bloqueado porque te quedaste sin Internet

En estas situaciones, me he topado muchas veces con un problema con Blogger. Me permite trabajar off-line bastante bien, pero tiene un par de situaciones de "Deadlock" en las que me quedo bloqueado sin poder grabar el contenido. Como eso me obligaría a re-escribir el artículo completo, aprendí un workaround que es lo que os voy a contar hoy.

Figura 2: Escribiendo un post en Blogger tranquilamente

En la imagen anterior estoy escribiendo un post en mi blog, tranquilamente. Tengo conexión a Internet - o no -, pero sigo trabajando tranquilamente. De repente, quiero poner un enlace y no me doy cuenta de que estoy sin conexión a Internet, y entro en un "Dead-end".

Figura 3: He querido poner un hipervínculo y sin conexión no puedo hacer nada.

En esta situación, la opción de "Apply" no está funcionando, y la tecla de ESC - mi querida tecla roja - no está funcionando, así que no puedo tocar nada más del interfaz. En mi primer incidente de este tipo, restauré la conexión a Internet, esperando que se activara la opción de "Apply", cambiando el enlace varias veces, pero nada.

Figura 4: Una vez roto el cuadro de diálogo, ni con Internet se arregla

Así que automaticé un workaround que, como me ha pasado estos días, os lo cuento hoy. No hay más que entrar en las herramientas de Developer en Google Chrome y buscar el cuadro de diálogo en la sección de ELEMENTS, que está dentro de un DIV y que en el UX se ve resaltado en azul y con el DIV asociado.

Figura 5: Elimina el DIV del cuadro de dialogo y listo.

En Blogger no es suficiente, porque hay una capa que bloquea el acceso al resto del interfaz incluso una vez que hayas borrado este DIV. Así que con un poco de paciencia, encuentras el bloqueador y a borrarlo.

Figura 6: Borra también la capa que bloque el UX

Una vez que hayas borrado estos dos elementos, ya puedes volver a disfrutar del IU, en este caso, de Blogger, y una vez restaurada la conexión, guardar todos los cambios que hayas hecho mientras el equipo estaba off-line.

Figura 7: El UI de Blogger restaurado para que guardes tus contenidos

No sé si esto te ayudará en alguna ocasión, pero a mí me ha salvado la vida varias veces, al evitar que perdiera el trabajo que tenía hecho mientras estaba off-line, porque estos cuadros de diálogos no están preparados para el modo off-line. ¿Es un bug de UX? Pues sí, creo que deberían arreglado, pero llevo tanto años en Blogger que hasta me he acostumbrado a sus límites.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, octubre 23, 2025

Indirect Prompt Injection en Perplexity Comet para atacar tu Stripe y el riesgo de los AI-First Web Browsers con ChatGPT Atlas

Antes de ayer salía el anuncio de ChatGPT Atlas, el nuevo AI-First Web Browser de OpenAI. Basado en Agentic AI actions, siguiendo la estela de Perplexity Comet. Al mismo tiempo, se publicaba una nueva PoC de un Indirect Prompt Injection en Perplexity Comet que permitía cargarse todas las suscripciones en Stripe de una compañía, publicada por Eito Miyamura.
Y digo que es el segundo Indirect Prompt Injection en Perplexity Comet, porque ya tuvimos una PoC de cómo robar con un Indirect Prompt Injection en Perplexity Comet la mismísima cuenta de Perplexity, pero podría haber sido al de cualquier otro servicio online conectado a la cuenta de Gmail con la que tuvieras iniciada sesión en Perplexity Comet. 

En este caso, la PoC de Indirect Prompt Injection en Perplexity Comet para atacar tu Stripe es similar, pero en lugar de lanzarse desde el resumen de una página web, como era el caso anterior, lo hace desde un invitación de calendario que no debe ni de ser aceptada.
La gracia es que haciendo una comprobación del Invite, si le dejas a Perplexity que te ayude a preparar la reunión, y dices que sí, se lanza el ataque de Prompt Injecion oculto den los detalles de la convocatoria. 
Una vez que se diga que sí, lo que hace el ataque de Prompt Injeciton que se oculta en los detalles de la invitación al evento, es conectarse a la cuenta de Stripe asociada al navegador de Perplexity Comet, y comenzar a borrar las suscripciones de los clientes.
Este proceso se realiza una a una con todas y cada una de las suscripciones que hubiera logrado esa empresa, dejándola sin poder cobrar ese mes a sus clientes. Solo por haber usado Perplexity Comet para ayudar a preparar una reunión.
El resultado final es que la cuenta de Stripe se queda como podéis ver, totalmente pelada. La organización ha perdido todas las suscripciones, y tocará recrear todo este trabajo, que ha sido ejecutado automáticamente por el Agentic AI de tu Perplexity Comet.
Vamos, que podría haber hecho cualquier otra cosa en tu cuenta de Stripe, y si tienes concedido derechos de pago a tu Agentic AI de Perplexity Comet te podría haber robado todo el dinero. Un auténtico "Show me the (e-)money".
Al final, este tipo de ataques basados en AI-First Web Browsers va a ser muy común hasta que esta tecnología sea segura. Y va a pasar aún un tiempo. Para que os hagáis una idea, en el Bug Bounty de OpenAI para sus productos, la parte que tiene que ver con Prompt Injection / Jailbreak, así como todo lo que tiene que ver con Hallucinations, está fuera de objetivo.
Es decir, ya se sabe que estas tecnologías adolecen por diseño de seguridad, y por eso estamos teniendo tantos problemas de seguridad explotable en todas las plataformas que están haciendo uso de ellos, como vimos en:
OpenAI Atlas  AI-First Web Browser

Pero es que ChatGPT Atlas, sucede lo mismo, y si miramos el texto de la publicación de ChatGPT Atlas AI-First Web Browser tenemos un disclaimer como el que podéis ver en la imagen siguiente, que, traducido al Español para que se entienda claramente es lo que antes sería un gran problema de seguridad.
Pero hemos pasado de recomendarle a los usuarios que naveguen con usuarios No Administradores de la máquina, a poner en sus manos AI First Web Browsers que tienen acceso y control a toda tu vida digital, incluidas tus cuentas bancarias si les dejas. Mi recomendación por ahora... no lo hagas.
Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los posts, papers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, agosto 25, 2025

Cómo investigar y hacer doxing con las sombras de una fotografía en la calle publicada en Instagram usando Google Earth Pro, ShadeMap, Google Street y ChatGPT

Dentro de una investigación de una fotografía, tal vez te interese saber dónde está hecha, o a qué hora se hizo. Cualquiera de esas dos informaciones puede requerir observar hasta el último detalle de la misma, los metadatos, letreros de tiendas, edificios, bocas de riego, postes de telefónica y, por supuesto, las sombras de los mismos en la calle.

Figura 1: Cómo investigar y hacer doxing con las sombras
de una fotografía en la calle publicada en Instagram usando
Google Earth Pro, ShadeMap, Google Street y ChatGPT

Para localizar un lugar, utilizar Google Street View suele ser una forma bastante sencilla donde, a partir de una simple foto de Instagram, se puede intentar buscar toda la información. Esto es parte de las disciplinas OSINT (Open Source Intelligence) que tantas veces han ayudado a resolver un caso.
En el caso de las fotografías de Instagram, hay dos puntos de información que son relevantes. El primero de ellos es la Localización de la fotografía. Normalmente no se publica la ubicación exacta de la fotografía, pero sí es común encontrarse con pueblos, ciudades, o lugares genéricos que pueden ayudar a acotar la búsqueda.

Figura 3: Muchas fotografías de Instagram llevan localización genérica.
Yo muy pocas veces hago uso de ese metadato. Pero....

Una vez que tengas el lugar genérico, por ejemplo Móstoles, son muchas las horas que te puedes pasar con Google Street View buscando las calles, y paseando a ver si alguna de esas se parece a la que se ve en la fotografía publicada en Instagram. Yo uso la versión de Google Street View que viene con Google Earth Pro que me resulta más cómoda y puedo llevarla a veces en entornos con conexión intermitente como el tren.

Figura 4: Google Street View en Google Earth Pro

Sin embargo, una cosa que puedes hacer para acotar la búsqueda, especialmente si no conoces el lugar es preguntarle a ChatGPT o Perplexity Pro que seguro que te ayudan. Por ejemplo, si en la calle se ven árboles, un bulevar o un centro de salud, puedes preguntarle y que te dé calles donde pasear.

Figura 5: Buscando un bulevar en Móstoles... o en cualquier otra ciudad.

Además, si hay detalles más finos, le puedes dar la información completa a ChatGPT o Perplexity que te va a ayudar a acotar la búsqueda para que des menos paseos, como ves en esta parte de la respuesta que nos da para este Prompt.

Figura 6: Acotando la búsqueda de la calle

Y una vez acotada, pues nos vamos a nuestro querido Google Street View, para comprobar si esta podría ser la respuesta a la información de la ubicación que estamos buscando. En este caso, nuestra mítica Avenida de Portugal, segmentada de la Nacional V hace muchos años.

Figura 7: Avenida de Portugal en Google Street View
con su bulevar, cera y árboles

Pero puede que nos encontremos con dudas, especialmente si queremos localizar una zona muy concreta de esa calle o una hora muy determinada, que son dos cosas totalmente diferentes. Para ello, en Instagram podemos extraer en primer lugar la hora de publicación. ¿Es la hora en la que se tomó la fotografía? Puede que sí o puede que no, pero si es que sí, va a ayudar mucho a acotar la ubicación.

Sacar la hora exacta de la publicación de una foto en Instagram

Este es un proceso muy sencillo. Basta con seleccionar la fecha de publicación de la fotografía, donde día el día del año, o cuánto hace que se publicó, y luego dar con el botón derecho para seleccionar la opción de Inspeccionar en Google Chrome.

Figura 8: Inspeccionar en Google Chrome la fecha
de publicación de una fotografía en Instagram

Esto nos llevará al código HTML, donde tenemos la etiqueta Time y el parámetro datetime. Allí verás la fecha y la hora exacta en formato ISO 8601 (por ejemplo, 2025-08-22T15:34:20.000Z), que normalmente está en UTC. Y si das con el botón derecho a la opción de Edit HTML podrás copiarlo

Figura 9: Hora exacta de publicación de una foto de Instagram

Una vez copiada, solo debes ver qué hora era exactamente. Puedes buscar la conversión correcta del formato, o decirle a Perplexity o ChatGPT que hagan el trabajo de convertirlo por ti. ¿Quién necesita un conversor cuando puede hacer Prompts?

Figura 10: Foto publicada a las 17:00 de la tarde en Instagram

Ya tenemos la hora en Instagram, ahora podes ir e investigar las sombras. Para eso necesitamos un mapa con la luz solar a cada día y hora, y para ello Google Earth Pro es perfecto. Primero debemos ir al menú de View y seleccionar la opción de Sun.

Figura 11: Activando la luz solar en los mapas 3D de Google Earth Pro

Una vez activado el "Sun" podemos ver la evolución de la luz solar en cada ubicación en todo el mundo, dependiendo del día y la hora que configures. En este vídeo se ve cómo puedes ir desplazándote por los horarios y ver cómo cambia la luz.

Figura 12: Luz solar por horas en Google Earth Pro

Una vez hecho esta configuración, puedes ir a la visión 3D del mapa, seleccionando un día y una hora exacta para poder ver las sombras en la forma correcta, lo que te va a ayudar a poder detectar si el sitio es el correcto o no. 

Figura 13: Configuración de Luz Solar a una determinada hora en Google Earth Pro

Es decir, primero lo compruebas en Google Street View y luego lo confirmas con las sombras incluidas en Google Earth Pro... o viceversa. Como podéis ver, se ven las sombras proyectadas de forma correcta a esa hora concreta.

Figura 14: 3D con Sombras en Google Earth Pro

En la visión 3D de Google Earth Pro ves la orientación de las sombras, pero el realismo no es igual que el de Google Street View. Allí son fotografías que puedes revisar, pero están tomadas a distintas horas y procesadas. Con la mezcla de las dos puedes investigar mejor la ubicación de una fotografía.
También lo puedes hacer con ShadeMap, como podéis ver aquí, que es otra buena alternativa. Esto te puede ayudar a saber a qué hora fue tomada una fotografía, si conoces el lugar, de forma muy ajustada, solo con ver la orientación y longitud de las sombras de los elementos que salen en ella.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares