Los escáneres estáticos diseñados para detectar «skills» adicionales maliciosos para agentes de IA orientados a la programación, como Claude Code, OpenAI Codex y OpenClaw, se eluden sistemáticamente mediante técnicas sencillas de camuflaje. Según el preprint Cloak and Detonate de investigadores de la Universidad de Ciencia y Tecnología de Hong Kong, la técnica más eficaz —un empaquetado autoextraíble— consigue superar a cada uno de los ocho escáneres probados en más del 90% de los casos. Los equipos que utilizan agentes de IA para el desarrollo deben tener claro que la marca de «aprobado por el escáner» en un marketplace de skills no garantiza la seguridad, y que la protección real exige controlar el comportamiento del skill en tiempo de ejecución.
Qué son los skills y por qué son peligrosos
Los skills son pequeños paquetes que, por lo general, constan de un archivo de instrucciones en formato Markdown y varios scripts. Los agentes los descargan para adquirir nuevas capacidades. Como un skill es un conjunto de archivos, un mismo paquete puede funcionar en distintos agentes heredando su nivel de acceso: al sistema de archivos, al terminal y a las credenciales almacenadas. Según los investigadores, un skill malicioso puede robar credenciales, copiar código fuente o instalar un backdoor. Al mismo tiempo, la mayoría de los skills en los marketplaces públicos son subidos por usuarios externos con una verificación mínima.
Cómo SKILLCLOAK elude los escáneres
Los investigadores crearon la herramienta SKILLCLOAK, que reescribe un skill malicioso para que parezca seguro, manteniendo su comportamiento original. Se aplican dos enfoques.
La reescritura ligera modifica los bytes característicos a los que reacciona el escáner: sustituye caracteres por otros visualmente idénticos de otro alfabeto (homoglifos) o fragmenta el comando marcado insertando un salto de línea. El patrón del escáner deja de activarse, pero el comando sigue ejecutándose. Según los autores, este método supera a más del 80% de los escáneres y, en uno de ellos, llega al 96%.
El empaquetado autoextraíble es una técnica más radical. La carga útil se mueve a un directorio que los escáneres pasan por alto (por ejemplo, .git/) y se oculta tras un decodificador aparentemente inocuo, que restaura el skill solo cuando lo lanza el agente. Los escáneres ignoran estos directorios para ahorrar tiempo y reducir falsos positivos; es precisamente esta zona ciega la que explota el ataque.
En pruebas sobre 1 613 skills maliciosos reales del marketplace ClawHub, el empaquetado logró eludir a cada uno de los ocho escáneres en más del 90% de los casos, y a la mayoría en más del 99%. En los agentes Claude Code y OpenAI Codex, los skills camuflados funcionaban, según se indica, con la misma eficacia que los originales. El escáner de Cisco, que obtuvo el mejor resultado entre las soluciones estáticas, detectaba el 99% de los skills maliciosos antes de la ofuscación y solo alrededor del 10% después.
SKILLDETONATE: defensa mediante análisis de comportamiento
Dado que el aspecto externo de un skill se falsifica con facilidad, los investigadores propusieron la herramienta SKILLDETONATE, que analiza el comportamiento. El skill se ejecuta en un entorno aislado (sandbox), donde se monitorizan las acciones a nivel de sistema operativo: lectura y escritura de archivos, conexiones de red y direcciones de los flujos de datos.
Dos principios clave hacen que el enfoque sea eficaz en entornos con agentes. En primer lugar, el seguimiento de los datos sensibles se realiza por flujos y no por contenido, por lo que codificarlos en Base64 o cifrarlos no sirve para evadirlo. En segundo lugar, las instrucciones que el skill solo genera en tiempo de ejecución se ejecutan precisamente en ese momento, que es donde el empaquetado oculta la carga útil.
En pruebas controladas, SKILLDETONATE, según los autores, detectó el 97% de los ataques con una tasa de falsos positivos del 2%, inferior a la de los escáneres estáticos. En skills maliciosos reales, la tasa de detección fue del 87%. Los resultados se mantuvieron estables incluso después de camuflar los skills. El compromiso está en la velocidad: comprobar un skill lleva varios minutos frente a los pocos segundos de un escáner, aunque la verificación solo se realiza una vez, antes del despliegue.
Importante aclaración: se trata de un preprint que no ha pasado revisión por pares y todos los resultados cuantitativos proceden de un único grupo de investigación. Las cifras concretas deben considerarse preliminares.
Las amenazas ya se materializan en la práctica
El problema no es teórico. Según Bitdefender, aproximadamente el 17% de los skills analizados en uno de los marketplaces contenían código malicioso oculto. Koi Security descubrió 341 skills maliciosos en el marco de la campaña ClawHavoc.
Algunos ataques reales utilizan técnicas descritas en el estudio. Según Unit 42, en ClawHub se encontraron cinco skills maliciosos que habían superado el escaneo integrado. Uno de ellos, omnicogg, añadió 22 MB de datos basura al archivo README para superar el límite de tamaño del escáner. Otros dos distribuían programas para el robo de contraseñas en macOS, y otros dos manipulaban las recomendaciones financieras del agente para promocionar enlaces de afiliados y esquemas con meme tokens.
La brecha entre la verificación estática y el comportamiento en ejecución también se observa fuera de los marketplaces de skills. El equipo de Mozilla 0DIN documentó un caso en el que un repositorio aparentemente seguro en GitHub hizo que Claude Code abriera una reverse shell (shell inversa) en la máquina del desarrollador. No había código malicioso en el repositorio: el script de instalación lo descargaba en tiempo de ejecución desde un registro DNS, de modo que el escáner estático no tenía nada que detectar.
Microsoft advirtió de un vector relacionado: una descripción de herramienta en Model Context Protocol envenenada y modificada tras su aprobación llevó a que un agente financiero filtrara datos sobre facturas pendientes. El mecanismo es distinto, pero se rompe la misma suposición: que lo que pasa la revisión es lo que luego se ejecuta.
Conviene señalar, sin embargo, que ninguna fuente en el material disponible confirma que las técnicas concretas de SKILLCLOAK ya se estén utilizando a gran escala por parte de atacantes. Los casos reales son métodos de evasión relacionados, pero no una reproducción exacta del conjunto de herramientas descrito.
Recomendaciones prácticas
Para los equipos que usan agentes de IA en el desarrollo, el estudio formula indicadores concretos a los que conviene prestar atención incluso cuando el skill ha superado el escaneo:
- Archivos de gran tamaño o con alta entropía en directorios que los escáneres suelen omitir (
.git/,build/). - Skills que descomprimen o ensamblan código solo en tiempo de ejecución, en lugar de suministrarlo en claro.
- Archivos inflados con datos muy por encima de un tamaño razonable: una técnica para sortear los límites del escáner.
Además de los indicadores, los autores proponen medidas de protección concretas:
- Aplicar hashing al skill durante el escaneo y volver a comprobar el hash antes de cada ejecución, para detectar cargas útiles que se desempaquetan tras la verificación.
- Monitorizar el comportamiento en tiempo de ejecución: qué archivos lee y modifica el skill, qué comandos lanza y adónde envía los datos.
- Principio de privilegios mínimos: los agentes solo deberían disponer del acceso necesario para la tarea concreta.
- Aislamiento del entorno: no ejecutar agentes en máquinas que contengan secretos críticos, como claves API, tokens de acceso o claves privadas.
- Instalar skills únicamente desde fuentes de confianza, sin considerar los marketplaces públicos como único filtro.
El escaneo estático sigue siendo útil como medida básica de higiene, pero este estudio —junto con los incidentes reales documentados por Unit 42, Bitdefender y Mozilla 0DIN— pone de manifiesto su limitación fundamental: el escáner evalúa el skill en el momento de la descarga, mientras que el comportamiento malicioso se manifiesta al ejecutarlo. Para las organizaciones que integran agentes de IA en sus procesos de desarrollo, la prioridad debería ser pasar de confiar en los resultados del escaneo estático a controlar el comportamiento de los skills en el entorno de ejecución, mediante sandboxes, monitorización de llamadas al sistema y seguimiento de flujos de datos.