SkillCamo: instrucciones ocultas en imágenes burlan a los escáneres de skills
Un artículo de junio de 2026 muestra que las instrucciones maliciosas ocultas en las imágenes de un skill evaden los escáneres de texto y código, pero se ejecutan cuando un agente multimodal las lee.
¿Qué es esto?
Los skills de agentes son los paquetes npm de la era agéntica: pequeños bundles de instrucciones en lenguaje claro, scripts y archivos que un agente de código como Claude Code u OpenAI Codex carga bajo demanda para obtener una nueva capacidad. Un marketplace acumuló más de 40 000 skills comunitarios pocos meses después de que apareciera el formato a finales de 2025, y la mayoría nunca fueron verificados. Esa combinación — confianza implícita y privilegios completos del agente — ya ha producido incidentes reales de cadena de suministro, incluida la campaña ClawHavoc que colocó 341 skills maliciosos en un solo hub.
Un artículo publicado en junio de 2026, “Seeing Is Not Screening: Multimodal Hidden Instruction Attacks on Agent Skill Scanners” (arXiv 2606.18198), documenta un punto ciego de las defensas creadas para atrapar estos skills. Los escáneres de skills actuales leen el texto: descripciones, manifiestos y código fuente. El ataque del artículo, SkillCamo, oculta la instrucción maliciosa donde el escáner no mira — dentro de una imagen incluida con el skill.
Cómo funciona
SkillCamo reparte un skill malicioso entre dos modalidades, de modo que ninguna mitad parece peligrosa por sí sola.
El ataque toma un comando objetivo de un script malicioso y lo renderiza como un recurso de imagen — que parece un logotipo de proyecto, un diagrama de flujo de trabajo, una captura de pantalla o un ejemplo de uso inofensivos. Luego usa un LLM para reescribir toda la documentación del skill de modo que la imagen inyectada quede enmarcada de forma natural como un paso de instalación o una ilustración del flujo de trabajo. Un revisor que hojea el README ve un diagrama útil; un escáner de texto y código ve archivos limpios.
La carga solo se vuelve legible cuando un agente multimodal hace lo que la documentación reescrita le indica: leer la imagen como parte del flujo de trabajo normal. En ese momento el modelo interpreta el contenido visual como una instrucción accionable y se orienta hacia una ejecución insegura. Como lo expresan los autores, la intención maliciosa se distribuye entre modalidades y solo se revela por completo cuando el agente interpreta conjuntamente la documentación, el contexto del código y el contenido visual en tiempo de ejecución.
No se reproduce ninguna carga aquí. El mecanismo es una variante de un problema más amplio: se pueden pasar instrucciones de contrabando a un skill en formas que sobreviven a la revisión humana. Un trabajo independiente de Embrace The Red en febrero de 2026 mostró la misma falla en el canal de texto, usando puntos de código Unicode «tag» invisibles que los modelos siguen pero que un humano que lee el archivo no puede ver. Las imágenes son simplemente el siguiente canal que los escáneres olvidaron revisar.
Por qué importa
Los escáneres de skills emiten un veredicto de bloquear-o-permitir en el momento de la instalación, y quienes despliegan confían cada vez más en ese veredicto. SkillCamo muestra que el veredicto solo vale lo que valen las modalidades que el escáner inspecciona. Si un escáner razona sobre el texto y el código pero trata las imágenes incluidas como recursos inertes, un skill malicioso puede pasar la revisión y luego ejecutar robo de credenciales, exfiltración de código fuente o la instalación de una puerta trasera una vez que corre con los privilegios del agente.
No es un caso aislado. Investigaciones paralelas divulgadas la misma semana — reseñadas por Help Net Security el 9 de julio de 2026 — mostraron que los escáneres estáticos a nivel de bytes pueden evadirse más del 90 % del tiempo por un atacante que preserva el comportamiento de un skill y solo cambia su forma superficial. El patrón recuerda décadas de defensa antimalware: la inspección del envoltorio pierde ante el atacante que reempaqueta el mismo comportamiento, y la respuesta duradera siempre ha sido observar lo que el código realmente hace.
Defensas
El escaneo estático y monomodal es necesario pero no suficiente. En concreto:
-
Escanee todas las modalidades, no solo el texto y el código. Aplique OCR y análisis visual sobre las imágenes incluidas, y trate cualquier imagen que un skill indique al agente que «lea» como un canal de instrucciones potencial, no como un elemento decorativo.
-
Pase a un análisis anclado en la ejecución. La defensa del artículo, ExecScan, infiere el propósito declarado de un skill y su alcance de acceso a partir de su documentación y metadatos, reconstruye el comportamiento realmente ejecutable mapeando los scripts, archivos, accesos al entorno y recursos visuales referenciados, y luego evalúa si presenta capacidades de exfiltración, destrucción, persistencia, engaño o escalada de privilegios. También simula cómo interpretaría un agente multimodal el skill en un uso real — incluida la influencia de las instrucciones portadas por imágenes en la planificación posterior. Un trabajo paralelo de sandbox conductual reporta atrapar alrededor del 97 % de las cargas inyectadas al observar las llamadas al sistema en la frontera del sistema operativo, donde un escáner estático no ve nada.
-
Aísle el agente y acote sus privilegios. Conceda de forma explícita los accesos a archivos, credenciales, red y gestores de paquetes en lugar de por defecto, para que un skill que se cuele no pueda alcanzar los secretos ni exfiltrar. Evite la autoaprobación general de Bash y de las llamadas a herramientas.
-
Trate los skills como dependencias no confiables de la cadena de suministro. Instale solo desde proveedores de confianza, prefiera el conjunto mínimo y desinstale los skills que ya no use. La revisión humana es un control, pero tanto el Unicode invisible como las cargas portadas por imágenes están diseñados para sobrevivirla.
-
Priorice el mínimo privilegio en la capa de capacidades. Un skill que nunca necesitó acceso de red saliente o a credenciales no debería tenerlo; el acotamiento de capacidades limita el radio de impacto, sea cual sea la carencia del escáner.
Estado
| Elemento | Referencia | Fecha | Notas |
|---|---|---|---|
| Ataque SkillCamo + defensa ExecScan | arXiv 2606.18198 | 2026-06 | Instrucciones ocultas en imágenes que evaden escáneres de texto/código; se propone análisis anclado en la ejecución |
| Evasión de escáneres estáticos (trabajo paralelo) | Help Net Security | 2026-07-09 | Escáneres a nivel de bytes evadidos > 90 %; sandbox conductual atrapa ~97 % |
| Instrucciones Unicode invisibles en skills | Embrace The Red | 2026-02-11 | Instrucciones ocultas del canal de texto que sobreviven a la revisión humana |
| Campaña de marketplace ClawHavoc | Koi Security | 2026 | 341 skills maliciosos colocados en un solo hub |
La conclusión no es «no use skills». Es que el escaneo en el momento de la instalación que solo lee texto y código es un control parcial. A medida que los agentes ganan comprensión multimodal, cada modalidad que un skill puede transportar se convierte en un canal de instrucciones — y las defensas deben reconstruir lo que un skill hace, a través de todas ellas, en lugar de inspeccionar cómo se ve.