Los investigadores de SentinelOne han descubierto una familia de malware para macOS hasta ahora desconocida, denominada Gaslight, que combina funciones de backdoor y de infostealer. Su rasgo clave es un bloque de prompt injection integrado, diseñado para confundir a los modelos LLM, que se utilizan cada vez más para el análisis automatizado de archivos maliciosos. Aunque por ahora no hay pruebas de la eficacia real de esta técnica contra las soluciones de IA existentes, el mero hecho de su aparición indica la formación de una nueva clase de ataques, dirigidos no a la infraestructura de defensa, sino a las herramientas cognitivas de los analistas.
Arquitectura y prompt injection
Gaslight está escrito en Rust. En el binario se ha incrustado un bloque de unas 3,5 KB que contiene 38 mensajes «de sistema» falsos, formateados con sintaxis Markdown. Según los investigadores, estas cadenas imitan:
- notificaciones sobre la caducidad de tokens;
- advertencias por falta de memoria y de espacio en disco;
- mensajes sobre fallos de Redis y errores de compilación;
- errores de parseo de JSON;
- falsos positivos de SQL injection.
Según se indica, los autores del malware cuentan con que la LLM que interviene en el análisis automatizado interprete estas cadenas como instrucciones de sistema o datos de diagnóstico. Como resultado, el modelo puede considerar que los resultados del análisis son incorrectos, interrumpir el procesamiento, acortar la respuesta o negarse por completo a seguir investigando. En palabras de los propios investigadores: «Gaslight ataca la percepción del agente, no la sandbox en la que este se ejecuta».
Es importante matizar que SentinelOne señala explícitamente que no ha encontrado pruebas de que estos prompt injection permitan sortear con éxito soluciones de IA reales para el análisis de malware. Se trata más bien de una técnica experimental que muestra la dirección en la que piensan los atacantes.
Control y funcionalidad del backdoor
Para su control, Gaslight utiliza Telegram Bot API como canal de comunicación con los operadores. El malware consulta continuamente el canal de mando y proporciona un shell interactivo a través del cual los operadores pueden:
- ejecutar comandos arbitrarios en el sistema;
- finalizar procesos;
- robar archivos;
- finalizar la propia ejecución del malware.
Los investigadores también detectaron indicios del comando focus, cuya finalidad se desconoce en el momento de la publicación.
Para persistir en el sistema, Gaslight crea un LaunchAgent con el identificador com.apple.system.services.activity, un nombre que imita deliberadamente a los servicios de sistema legítimos de Apple.
Componente de robo de datos
La recopilación y exfiltración de datos corre a cargo de un script de Python independiente de 6,6 KB codificado en Base64. Su instalación la realiza un script de bash de unos 2 KB que descarga el intérprete CPython 3.10.18 del proyecto astral-sh/python-build-standalone. Según los investigadores, la abundancia de comentarios y emojis en el código del instalador indica que, presumiblemente, se generó con ayuda de una LLM.
El stealer recopila una amplia gama de datos:
- el historial de comandos del terminal;
- la base de datos Keychain;
- datos de los navegadores Chrome, Brave, Firefox y Safari;
- la lista de aplicaciones instaladas y de procesos en ejecución;
- información sobre el hardware y el sistema.
Los datos recopilados se empaquetan en el archivo temp/collected_data.zip y se envían a través de Telegram.
Evaluación del impacto
Gaslight supone una amenaza ante todo para los usuarios de macOS, pero su relevancia va más allá de esta familia concreta de malware. El componente de prompt injection es un indicio de que los autores del malware empiezan a considerar las LLM como un elemento de la infraestructura defensiva y tratan deliberadamente de contrarrestarlas. Por ahora esta técnica se encuentra en una fase experimental, pero a medida que aumente la dependencia de los procesos de análisis respecto a las herramientas de IA, es posible que enfoques similares se vuelvan más sofisticados.
Desde un punto de vista práctico, el propio backdoor con shell interactivo y un stealer totalmente funcional representa una amenaza muy real: la compromisión de Keychain, de los datos de cuatro navegadores y de la información del sistema proporciona a los atacantes una amplia base para posteriores ataques.
Recomendaciones
- Compruebe si existe un LaunchAgent con el identificador
com.apple.system.services.activityen los directorios~/Library/LaunchAgents/y/Library/LaunchAgents/. - Compruebe si hay un archivo
temp/collected_data.zipy descargas atípicas de CPython en el sistema. - Supervise las conexiones salientes al API de Telegram (
api.telegram.org) desde procesos para los que este tipo de actividad no sea habitual. - Los equipos que utilicen LLM para el análisis automático de malware deben tener en cuenta el riesgo de prompt injection en las muestras analizadas y no basarse en los resultados del análisis con IA como única fuente de conclusiones.
- Valore implantar validación y filtrado de los datos de entrada antes de enviar el contenido de archivos sospechosos a modelos LLM.
Gaslight es una demostración práctica de que los atacantes han empezado a considerar las herramientas de IA de los analistas como una superficie de ataque diferenciada. Incluso sin pruebas confirmadas de la eficacia de los prompt injection contra sistemas reales, las organizaciones que integran LLM en sus procesos de análisis de amenazas deberían empezar ya a establecer una validación multinivel de los resultados y a no delegar las decisiones finales en el modelo sin control humano. Paralelamente, merece la pena revisar los sistemas macOS en busca de los descritos indicadores de compromiso, ya que la funcionalidad del backdoor y del stealer en Gaslight es plenamente operativa con independencia del éxito de sus trucos antianálisis.