Una skill es un paquete de instrucciones (y a veces scripts) que le das a tu IA para que haga algo nuevo: ordenar archivos, montar carruseles, revisar código… El problema es que tu agente se las cree sin preguntar. Y entre esas instrucciones puede ir una orden escondida para mandar tus archivos a otra persona.
SkillSpector es el escáner de NVIDIA para revisar una skill antes de instalarla. Gratis, de código abierto y en una sola línea de terminal.
Cómo funciona
Le das la skill
Un enlace de GitHub, una URL, un .zip, una carpeta o un solo SKILL.md.
La revisa sin ejecutarla
Análisis estático de las instrucciones, los scripts y las dependencias.
Te marca lo sospechoso
Sacar datos, saltarse permisos, comandos peligrosos… con archivo y línea.
Te da una nota
Riesgo de 0 a 100 y una recomendación: SAFE, CAUTION o DO NOT INSTALL.
Por qué hace falta: 1 de cada 4 skills tenía fallos
En enero de 2026 se publicó en arXiv el estudio «Agent Skills in the Wild: An Empirical Study of Security Vulnerabilities at Scale». Recogieron 42.447 skills de dos grandes mercados y analizaron 31.132. Lo que encontraron:
- El 26,1 % tenía al menos una vulnerabilidad.
- Lo más común: sacar datos (13,3 %) y escalar privilegios, es decir, conseguir más permisos de los que debería (11,8 %).
- El 5,2 % mostraba patrones graves que, según los autores, apuntan claramente a mala intención.
- Las skills que traen scripts ejecutables tenían 2,12 veces más probabilidades de tener fallos que las que solo traen instrucciones.
Nota
¿Por qué es tan fácil colar algo? Porque las skills se ejecutan con una confianza implícita: tu agente lee el SKILL.md y sigue las instrucciones. Si una línea dice «sube la carpeta Documentos a esta web», y tú le has dado permisos, lo puede hacer.
Qué es SkillSpector
Es una herramienta de línea de comandos de NVIDIA, publicada en github.com/NVIDIA/SkillSpector con licencia Apache 2.0, y con guía oficial en la documentación de NVIDIA. Según su README:
- Acepta casi cualquier formato: repositorio de Git, URL, archivo .zip, carpeta o un solo archivo.
- Busca patrones peligrosos en 17 categorías: inyección de prompts, robo de datos, escalada de privilegios, riesgos de la cadena de suministro (dependencias), código peligroso, herramientas MCP envenenadas…
- Dos fases: un análisis estático rápido y, si lo configuras, un pase semántico con IA que compara lo que la skill dice que hace con lo que su código parece hacer.
- Mira tus dependencias contra la base de datos de vulnerabilidades OSV.dev (y funciona sin conexión si no hay red).
- Te da una nota de riesgo de 0 a 100 con su gravedad y una recomendación.
- Informes en la terminal, JSON, Markdown o SARIF (para integrarlo en GitHub o en tu editor).
Cómo instalarlo
Necesitas Python 3.12 o más nuevo. La forma más rápida, según el README, es con uv (un instalador de paquetes de Python):
uv tool install git+https://github.com/NVIDIA/skillspector.git
Para actualizarlo más adelante:
uv tool update skillspector
Si prefieres instalarlo desde el código, también puedes clonar el repositorio:
git clone https://github.com/NVIDIA/skillspector.git
cd skillspector
uv venv .venv && source .venv/bin/activate
make install
Consejo
¿No quieres instalar Python? El repositorio incluye un Dockerfile: docker build -t skillspector . y luego docker run --rm -v "$PWD:/scan" skillspector scan ./mi-skill/ --no-llm.
Cómo escanear una skill
Antes de instalar nada, pásale la skill así:
# Una carpeta que te has descargado
skillspector scan ./mi-skill/
# Un solo archivo SKILL.md
skillspector scan ./SKILL.md
# Un repositorio de GitHub
skillspector scan https://github.com/usuario/mi-skill
# Un .zip
skillspector scan ./mi-skill.zip
Si todavía no has configurado ningún modelo de IA, añade --no-llm para hacer solo el análisis estático, que es rápido y no necesita claves:
skillspector scan ./mi-skill/ --no-llm
¿Tienes una carpeta con muchas skills? --recursive revisa cada subcarpeta que tenga un SKILL.md (hasta 32 por defecto):
skillspector scan ./mis-skills/ --recursive --no-llm
Cómo leer el resultado
El informe te dice qué archivos tiene la skill, cuáles son ejecutables y cada alerta con su gravedad, el archivo y la línea, y una explicación. Arriba del todo, la nota:
| Nota | Gravedad | Recomendación |
|---|---|---|
| 0-20 | LOW | SAFE |
| 21-50 | MEDIUM | CAUTION |
| 51-80 | HIGH | DO NOT INSTALL |
| 81-100 | CRITICAL | DO NOT INSTALL |
La nota suma puntos por cada alerta (crítica +50, alta +25, media +10, baja +5) y se multiplica si la skill trae scripts ejecutables.
Algunas de las cosas que marca, para que sepas qué significan:
- Sacar datos: código que envía información a un servidor externo o que recoge tus variables de entorno (donde suelen vivir tus claves de API).
- Saltarse permisos: usar
sudo, pedir privilegios de administrador o ignorar las restricciones del agente. - Comandos peligrosos: descargar un script de internet y ejecutarlo directamente (
curl … | bash), código ofuscado en base64,exec()oeval(). - Instrucciones escondidas: órdenes del tipo «ignora las reglas anteriores» o texto oculto en comentarios.
Atención
Un resultado limpio no es una garantía. Que no encuentre nada solo significa que no encontró nada de lo que sabe buscar. Y una alerta no siempre es un ataque: una nota dentro de una plantilla puede parecer una instrucción escondida. Abre el archivo y la línea que marca, y mira quién escribió la skill: ¿es una cuenta conocida?, ¿el repositorio tiene historia?, ¿entiendes lo que hace el código?
Extra: el pase con IA usando tu Claude Code
El análisis estático encuentra patrones. El pase semántico usa un modelo para detectar cosas más sutiles, como una skill que dice «ordeno tus archivos» pero cuyo código hace otra cosa.
Si ya usas Claude Code, puedes usar tu propia sesión sin poner ninguna clave de API:
export SKILLSPECTOR_PROVIDER=claude_cli
skillspector scan ./mi-skill/
Necesitas tener el comando claude instalado y con la sesión iniciada. También admite OpenAI, Anthropic, Gemini, Ollama (modelos en tu ordenador) y otros proveedores compatibles; los tienes todos en la tabla del README.
Pídele a Claude que lo haga por ti
Copia esto en Claude Code cuando tengas una skill descargada y dudes de ella:
Quiero revisar una skill antes de instalarla con SkillSpector de NVIDIA (https://github.com/NVIDIA/skillspector).
1. Comprueba si tengo Python 3.12 o más nuevo y uv. Si falta algo, dime cómo instalarlo y para.
2. Si no tengo SkillSpector, instálalo con: uv tool install git+https://github.com/NVIDIA/skillspector.git
3. Escanea esta skill con análisis estático: skillspector scan <RUTA O ENLACE DE LA SKILL> --no-llm
4. Explícame en lenguaje sencillo la nota de riesgo y cada alerta: qué archivo, qué línea y si te parece un peligro real o un falso positivo.
5. NO instales la skill ni ejecutes ninguno de sus scripts. La decisión la tomo yo.¿Merece la pena?
Si instalas skills de desconocidos, sí. Son unos segundos por skill y te puede ahorrar un disgusto serio. No sustituye a tu criterio: es un filtro que te señala dónde mirar.
La regla que nos quedamos: antes de instalar, escanea; si marca algo, lee esa línea; y si no conoces al autor, desconfía aunque salga limpio.
