Una aplicación de Android que pueda dibujar sobre otras ventanas y escribir en almacenamiento compartido puede insertar instrucciones invisibles para el agente de IA que controla el teléfono, en texto que ningún ojo humano verá. Con dos pasos más, la misma aplicación puede ejecutar comandos en el PC que controla al agente. Los investigadores demostraron esta cadena, junto con otros seis ataques, contra cinco marcos de agentes móviles de código abierto: AppAgent, AppAgentX, Mobile-Agent-v3, Open-AutoGLM y MobA. Todos cayeron en al menos seis de los siete ataques.
El artículo, publicado en arXiv el 1 de julio y revisado el 14 de julio, fue elaborado por investigadores de la Universidad Simon Fraser, la Universidad China de Hong Kong, la Universidad de Shandong y el laboratorio Xingtu de la empresa de seguridad china QAX. No se han asignado CVEs, y el autor principal, Zidong Zhang, indicó a The Hacker News que el equipo no tiene evidencia de que las técnicas se hayan utilizado fuera de un entorno controlado. The Hacker News verificó los cinco marcos y encontró que las rutas de captura de pantalla, la llamada al shell y el fallback de difusión descritos en el artículo aún estaban en sus ramas principales al 17 de julio. Zhang dijo que el equipo contactó en privado a los mantenedores afectados antes de publicar el preprint y que "no ha recibido respuesta hasta la fecha".
Escalada de inyección de comandos
La escalada es la parte menos exótica. El controlador de AppAgent ejecuta subprocess.run(adb_command, shell=True) y construye la entrada de texto insertando directamente la salida del modelo en adb shell input text {input_str}. El listado del artículo muestra que la función no tiene ningún saneamiento. El código en vivo es ligeramente mejor, pero insuficiente: elimina espacios y comillas simples antes de interpolar, pero deja el resto de los metacaracteres del shell intactos. Así, una cadena que el modelo lee de una pantalla y escribe diligentemente es dividida por el shell del anfitrión, y la segunda mitad se ejecuta en la máquina Windows del operador.
Un payload diseñado para lanzar calc.exe lo logró en 20 de 20 intentos contra AppAgent, AppAgentX, Mobile-Agent-v3 y MobA. Una ejecución separada de extremo a extremo contra AppAgent utilizó test;pwd>rce_success y escribió el directorio de trabajo del anfitrión en un archivo.
Manipulación de capturas de pantalla
Para colocar la cadena frente al modelo, los investigadores explotaron una condición de carrera de archivos. Open-AutoGLM ejecuta screencap -p /sdcard/tmp.png y luego un adb pull separado. Mobile-Agent-v3 escribe en un archivo fijo /sdcard/screenshot.png y espera medio segundo entre ambas operaciones. AppAgentX escribe en /sdcard/ con nombres de archivo con marca de tiempo que incluyen un contador de pasos incrementable, un patrón que un atacante puede monitorear. La configuración predeterminada de AppAgent en config.yaml aún establece su directorio de capturas como /sdcard.
Los investigadores midieron esa ventana entre los marcos entre 50 y 500 ms, con un promedio de 210 ms en 100 ejecuciones. Un servicio en segundo plano que consulta cada 5 a 10 ms tiene margen para tomar un bloqueo de archivo, repintar el PNG y soltarlo antes de que el agente lo recoja. La manipulación tuvo éxito en 19/20 a 20/20 en cuatro de los cinco marcos. Para ampliar aún más la ventana, mostraron al agente una superposición invisible que afirmaba que una sincronización de red estaba en marcha y le pedían esperar tres segundos. El modelo lo creyó.
Ataques de percepción y hardware
Los seis modelos de visión probados leyeron texto con opacidad del 2% en al menos 18 de 20 ensayos de laboratorio. El artículo sitúa ese nivel por debajo de la detección humana típica en visualización normal. GPT-4o, Claude Opus 4.5, Gemini 3 Pro y GLM-4V obtuvieron 20 de 20. AutoGLM-Phone, un modelo de 9B ejecutándose en el propio dispositivo, fue el más débil con 18 de 20. La visión humana tiene un umbral; la captura de pantalla no.
La asimetría también tiene una versión de hardware. Los teléfonos redondean sus esquinas y recortan agujeros para las cámaras, pero el búfer de fotogramas sigue siendo rectangular, por lo que los píxeles renderizados en esas regiones quedan debajo del bisel y aparecen en cada captura de pantalla. En un Pixel 4, esto deja unos 78 píxeles de ancho oculto en una esquina, suficiente para un comando corto, y los cinco agentes leyeron payloads desde allí.
Un tercer truco evita por completo el sigilo: un servicio de accesibilidad coloca una actividad de inicio de sesión falsa sobre la aplicación real y permite que el agente escriba las credenciales del usuario en ella. Una persona podría dudar ante un aviso de contraseña inesperado. Ninguno de los cinco agentes lo hizo, en 100 pruebas.
Difusión y accesibilidad sin autenticación
Los agentes no tienen un canal autorizado hacia el teléfono, por lo que reutilizan los canales de depuración, y el ataque más simple del conjunto surge de ahí. Open-AutoGLM codifica en base64 el texto que escribe y lo envía a ADB_INPUT_B64, una difusión implícita recogida por ADB Keyboard, una herramienta de automatización de pruebas diseñada para aceptar texto de cualquier fuente que lo difunda. Ese es su propósito documentado, y aún se mantiene, con una prepublicación de abril que incluye una corrección para Android 16. ADB Keyboard hace lo que promete su README. Los agentes convirtieron un arnés de prueba en una tubería de entrada de producción.
Mobile-Agent-v3 mantiene una lista de permitidos estrecha: letras, dígitos y puntuación común van a través de adb shell input text, y todo lo demás (cualquier carácter no ASCII) sale un carácter a la vez a través de ADB_INPUT_TEXT. MobA es más directo: su type_text prueba toda la cadena con text.isascii(), por lo que un solo emoji o letra acentuada en cualquier parte de un mensaje envía todo el mensaje a través de la difusión en un solo disparo. Cualquier aplicación que registre la misma acción recibe el mismo payload, y no necesita permiso para hacerlo, por lo que nada advierte al usuario. Cuando un atacante tiene accesibilidad, TYPE_VIEW_TEXT_CHANGED entrega el mismo texto en texto plano, incluidos los campos de contraseña, en los cinco marcos.
Precondiciones y alcance
Las precondiciones son reales: requiere una aplicación ya instalada, un agente ejecutando una tarea y depuración USB o inalámbrica habilitada. El software afectado son herramientas de desarrollo de código abierto, no el asistente integrado en un teléfono estándar. Los agentes de primera parte, como Bixby de Samsung y XiaoAi de Xiaomi, quedaron fuera del alcance, al igual que iOS. Zhang señaló que varios de los ataques necesitan permisos mínimos de Android, y uno no necesita ninguno, lo que reduce la barrera para un atacante motivado.
Una variante ni siquiera necesita una aplicación maliciosa. Dado que un payload puede viajar en los canales de crominancia de una imagen en lugar de su brillo, un atacante que nunca toque el dispositivo podría enterrar uno en una imagen y dejar que el propio agente de la víctima lo capture de una aplicación de mensajería. Los investigadores lo consideran una extensión más que un resultado medido; también es la única versión sin paso de instalación.
Fixes y limitaciones
Dos de los cinco marcos ya muestran cómo debería hacerse. MobA transmite capturas de pantalla a través de exec-out y nunca tiene un archivo del lado del dispositivo para competir. Open-AutoGLM pasa argumentos como listas en lugar de concatenar cadenas, y es el único de los cinco inmune a la inyección de comandos en el anfitrión. Ninguno de los proyectos acierta en ambas cosas. Ninguna de las siguientes correcciones requiere tocar el modelo: eliminar shell=True, pasar listas de argv, transmitir capturas de pantalla en lugar de escribir y luego extraer, poner un permiso a nivel de firma en la difusión de entrada, diferenciar la actividad en primer plano antes y después de cada acción, y aplicar mejora de contraste a las capturas (parcial, no una solución).
La defensa obvia es un aviso de confirmación en acciones sensibles, y Open-AutoGLM lo incluye. Se activa cuando el modelo decide que una acción es sensible. Los ataques de percepción reescriben ese juicio, por lo que el artículo califica el aviso como insuficiente contra inyección subliminal, suplantación de interfaz y manipulación de capturas. Contra la difusión y el espionaje de accesibilidad, no hace nada en absoluto, porque no hay acción que confirmar; el texto ya se ha ido. En cuanto a la inyección en esquinas y recortes, los investigadores son directos: "no existe una solución de software directa y efectiva". Enmascarar las esquinas es un parche para un hecho de hardware.
Falta de canales de notificación
El silencio tiene una estructura detrás. Zhang dijo que el equipo recurrió al correo electrónico privado porque los proyectos no tienen un canal dedicado para reportar vulnerabilidades, y The Hacker News no encontró una política de seguridad publicada en ninguno de los cinco repositorios. El artículo añade que Tencent y Alibaba fueron contactados primero, y que los proyectos de investigación de código abierto quedan fuera del alcance típico de los Centros de Respuesta de Seguridad. En contraste, Microsoft escribió en mayo sobre Semantic Kernel, su marco de agentes, donde el mismo patrón de salida del modelo llegando a un shell produjo CVE-2026-25592, CVE-2026-26030 y una versión parcheada. La versión de una línea de Microsoft se transfiere aquí sin cambios: "su LLM no es un límite de seguridad".
La parte de superposición no es nueva. Wu et al. impulsaron inyección de mensajes a través de ventanas superpuestas contra AppAgent y Mobile-Agent en mayo de 2025, y Ding et al. siguieron en octubre con mensajes que solo aparecen mientras un agente está mirando. La sección de trabajos relacionados de este artículo no cita ninguno y omite por completo la literatura de seguridad de agentes móviles. Lo que añade es el extremo lejano de la cadena: fuera de la pantalla, a través del archivo, al anfitrión. Lo cual deja la parte incómoda. Open-AutoGLM tiene más de 25,000 estrellas en GitHub, y su README te guía para habilitar la depuración USB, instalar el teclado y entregarle tu entrada. Si sigues las instrucciones al pie de la letra, has construido todas las precondiciones que los ataques medidos necesitan, excepto la propia aplicación maliciosa. La guía de configuración es el resto del modelo de amenaza.