Una nueva versión del malware XCSSET está atacando a miles de usuarios de macOS mediante proyectos Xcode y repositorios de GitHub comprometidos. Xcode es el kit de desarrollo de software oficial para crear, probar y publicar aplicaciones en todas las plataformas de Apple.
Tras meses de inactividad, XCSSET ha resurgido con una versión actualizada, la v40, que incorpora técnicas de evasión mejoradas y dos nuevos componentes, según han descubierto los investigadores.
Los investigadores de Unit 42, de Palo Alto Networks, que analizaron la cadena de infección, afirman que el actor de amenazas distribuye el malware comprometiendo repositorios Git vulnerables e inyectando un script descargador en archivos benignos dentro de proyectos Xcode.
Los desarrolladores que descargan los proyectos comprometidos se infectan al compilarlos, lo que permite a XCSSET comprometer todos los demás proyectos Xcode del sistema y propagarse aún más a través del código fuente compartido.
Los investigadores de Unit 42 observaron el uso de XCSSET versión 40 en dos oleadas de ataques distintas, a mediados de abril y a principios de mayo.
XCSSET ha atacado sistemas macOS desde al menos 2021 y, en algunos casos, ha explotado vulnerabilidades de día cero en sus ataques. En septiembre de 2025, Microsoft advirtió sobre una campaña de XCSSET que utilizaba proyectos Xcode comprometidos como mecanismo de distribución. La compañía también había identificado previamente una variante del malware que incorporaba capacidades de robo de criptomonedas.
En los ataques analizados por Unit 42, XCSSET sigue una cadena de infección de cuatro etapas antes de desplegar 17 módulos separados que permiten el robo de credenciales, el registro de pulsaciones de teclas, la manipulación del portapapeles, el secuestro del navegador y la exfiltración de datos.
Según los investigadores, la versión más reciente de XCSSET incluye dos nuevos módulos: un secuestrador de Chrome y un troyanizador de Telegram.
El secuestrador envuelve el navegador Chrome en un lanzador malicioso y habilita el Protocolo de DevTools de Chrome (CDP) en un puerto local para obtener JavaScript desde la infraestructura de comando y control (C2) del atacante. El código permite a los atacantes interceptar el tráfico web, incluidas credenciales, cookies y transacciones de MetaMask, que pueden manipularse sobre la marcha para desviar pagos.
Además, el módulo secuestrador permite la ejecución de comandos del sistema mediante un shell inverso sin archivos, algo que Google bloquea en Chrome para Windows y que actualmente está trabajando para extender estas protecciones a macOS.
El troyanizador de Telegram elimina la aplicación legítima Telegram Desktop en los sistemas infectados y la reemplaza por una versión maliciosa, potencialmente utilizada para interceptar las comunicaciones de las víctimas. Unit 42 no pudo recuperar su configuración cifrada, por lo que su funcionalidad exacta sigue siendo desconocida.
Los investigadores también destacaron las nuevas medidas de evasión de detección de XCSSET, incluida la recompilación periódica del cargador en el servidor C2, el uso de claves de cifrado separadas para las comunicaciones entrantes y salientes, y la ofuscación de nombres de funciones, variables y cadenas, con cifrados únicos por compilación.
El malware intenta agresivamente deshabilitar la seguridad de macOS, como XProtect, MRT, TCC y Rapid Security Response, termina el servicio CloudTelemetryService de Apple y evita las actualizaciones de firmas de XProtect.
Unit 42 recomienda monitorear actividades anómalas de AppleScript, modificaciones no autorizadas del navegador, dominios de defaults sospechosos de macOS y aplicaciones firmadas ad hoc que evitan Gatekeeper. Para defenderse contra la última versión de XCSSET, los investigadores también recomiendan escanear dependencias de código abierto para evitar que repositorios comprometidos entren en las canalizaciones de desarrollo de software.