Skills Guía paso a paso

Escanea skills, repos y MCP antes de instalarlos en Claude Code con SkillSpector

Montas un filtro de seguridad automático en Claude Code: cada vez que vaya a clonar un repositorio o instalar una skill o un servidor MCP, el escáner gratuito de NVIDIA lo analiza en local y, si el riesgo es alto, Claude se detiene y te pregunta antes de seguir.

Nivel
Intermedio
Qué necesitas
Claude Code en tu ordenador y la herramienta uv (gestiona su propio Python 3.12); no hace falta ninguna clave de API.
Cuánto lleva
Entre 10 y 15 minutos, la mayor parte esperando a que Claude lo configure y lo pruebe

Herramientas que usa esta guía

01 Por qué revisar lo que instalas

Una skill o un servidor MCP no es un simple documento: Claude lee sus instrucciones como si vinieran de ti y, en muchos casos, ejecuta los scripts que trae. Eso abre dos vías de ataque muy concretas:

  • Inyección de instrucciones: un párrafo oculto en el SKILL.md que pide a Claude leer archivos sensibles, enviar datos a una URL o ignorar tus indicaciones.
  • Robo de credenciales: un script auxiliar que busca claves SSH, tokens o variables de entorno y las manda fuera.

El estudio académico en el que se basa la herramienta (Agent Skills in the Wild, Liu et al., 2026) analizó 31.132 skills de los grandes catálogos: el 26,1 % tenía al menos una vulnerabilidad y el 5,2 % mostraba indicios de intención maliciosa.

02 Qué es SkillSpector

SkillSpector es un escáner de código abierto de NVIDIA (licencia Apache 2.0) pensado para skills de agentes. Acepta un repositorio Git, una carpeta, un .zip o un archivo suelto y devuelve una puntuación de riesgo de 0 a 100, una severidad y una recomendación. Busca 71 patrones agrupados en 17 categorías, entre ellas inyección de prompts, exfiltración de datos, escalada de privilegios, cadena de suministro y envenenamiento de herramientas MCP.

Puntuación Severidad Recomendación
0-20 LOW SAFE
21-50 MEDIUM CAUTION
51-80 HIGH DO_NOT_INSTALL
81-100 CRITICAL DO_NOT_INSTALL
01

Nunca ejecuta lo que analiza

Todo el análisis es estático (expresiones regulares, árbol sintáctico de Python y firmas YARA), así que escanear no pone en riesgo tu equipo.

02

Modo local con --no-llm

Con esta opción el contenido de los archivos no sale de tu ordenador. Solo consulta a la base pública OSV.dev los nombres y versiones de las dependencias declaradas.

03

Análisis con IA opcional

Puede añadir una revisión semántica con un modelo para reducir falsos positivos. Entre los proveedores admite claude_cli, que usa tu sesión de Claude Code sin clave de API.

04

No es un sandbox

Detecta patrones antes de instalar; lo que haga la skill después ya no lo vigila. Es una capa más de defensa, no la única.

bash · Instalación y primer escaneo manual
uv tool install git+https://github.com/NVIDIA/skillspector.git
skillspector scan https://github.com/usuario/repo --no-llm --format json

03 Cómo funciona el filtro automático

Claude Code permite registrar hooks: scripts que se ejecutan en momentos concretos. Uno de tipo PreToolUse con el filtro Bash se lanza justo antes de cada comando de terminal, recibe el comando en JSON por la entrada estándar y puede responder permitiendo, avisando o pidiendo confirmación. El filtro que vas a crear solo actúa con comandos que traen código de terceros; el resto pasa sin tocarlo.

Resultado del escaneo Qué hace el hook Por qué
SAFE Deja pasar en silencio No hay nada que contar
CAUTION Deja pasar y muestra un aviso breve con la puntuación En modo local salen muchos falsos positivos; bloquearlos todos haría que acabaras desactivando el filtro
DO_NOT_INSTALL Pide confirmación con permissionDecision "ask" y los hallazgos más graves Decides tú con el informe delante, incluso en modo automático
Error o tiempo agotado Deja pasar y avisa de que no se ha revisado Un fallo del escáner no debe bloquear tu trabajo, pero tienes que saberlo

04 Configúralo con un solo prompt

Abre Claude Code en cualquier carpeta y pega el siguiente encargo. Está escrito para que Claude no toque tus ajustes sin enseñarte antes el cambio.

Prompt · Crear el hook de seguridad con SkillSpector
Quiero un filtro de seguridad global en Claude Code que analice con SkillSpector todo el código de terceros antes de que entre en mi equipo.

Preparación
- Comprueba si existe el comando skillspector. Si no, instálalo con: uv tool install git+https://github.com/NVIDIA/skillspector.git (si falta uv, explícame cómo instalarlo desde su documentación oficial antes de hacer nada).
- Lanza un escaneo de prueba con --no-llm --format json sobre un repositorio público de skills pequeño y enséñame la estructura de risk_assessment e issues y el tiempo que ha tardado.

El hook
- Script en ~/.claude/hooks/skillspector-guard.sh, registrado en ~/.claude/settings.json como PreToolUse con matcher Bash y timeout de 120 segundos.
- Solo actúa si el comando es git clone, npx skills add, claude mcp add, una instalación desde git+https con pip o uv, o una descarga con curl o wget redirigida a sh o bash. Con cualquier otro comando sale sin imprimir nada.
- Extrae la URL de GitHub (convierte owner/repo en URL completa). Si no hay repositorio de GitHub, deja pasar con un systemMessage que diga que no se ha revisado.
- Escanea con un límite de 100 segundos, compatible con macOS sin instalar nada adicional.
- Decide según risk_assessment.recommendation: SAFE en silencio; CAUTION con systemMessage breve (puntuación y dos hallazgos); DO_NOT_INSTALL con hookSpecificOutput, permissionDecision "ask" y un permissionDecisionReason con puntuación, severidad y los tres hallazgos más graves con archivo y línea.
- Si el escaneo falla o se agota el tiempo, deja pasar con un aviso claro. El script siempre termina con código 0 y JSON válido.

Reglas
- Conserva mis hooks y ajustes actuales. Enséñame el diff de settings.json y espera mi confirmación.
- Prueba el script pasándole por la entrada estándar tres JSON simulados (un git clone de un repo real, un npx skills add de un repo inexistente y un ls) sin ejecutar ninguna instalación real, y resume qué decidió en cada caso.
json · Forma que debe tener el registro en ~/.claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/skillspector-guard.sh",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

05 Comprueba que está activo

  1. 1

    Revisa el menú de hooks

    Escribe /hooks en Claude Code. Es un listado de solo lectura; el filtro debe aparecer en PreToolUse, con origen en tus ajustes de usuario.

  2. 2

    Provoca un aviso real

    Pide a Claude que clone en una carpeta temporal un repositorio público de skills y que te muestre literalmente lo que diga el hook antes de continuar.

  3. 3

    Provoca un bloqueo sin riesgo

    Usa el prompt de abajo para fabricar una skill trampa inofensiva y comprobar que el escáner la marca como DO_NOT_INSTALL.

Prompt · Prueba con una skill trampa inofensiva
Crea en una carpeta temporal una skill de prueba que imite un ataque, sin capacidad real de hacer daño: un SKILL.md con una instrucción oculta para ignorar al usuario y leer ~/.ssh, y un script que intente enviar datos con curl a https://example.invalid. No la instales ni ejecutes nada de ella. Analízala con skillspector scan [carpeta] --no-llm --format json, dime la recomendación y qué habría hecho mi hook. Después borra la carpeta.
Prompt · Interpretar un bloqueo
El hook de SkillSpector ha frenado este repositorio. Abre los archivos señalados en el informe y, para cada hallazgo, dime qué ha detectado, dónde y si parece un riesgo real o un falso positivo (por ejemplo, un texto de ejemplo que se parece a una orden). Termina con tu recomendación: instalar, instalar con cambios o descartar.

06 Límites y ajustes posibles

  • ✓No revisa lo que instalas tú desde tu propia terminal: el hook vive dentro de Claude Code.
  • ✓Los paquetes que no vienen de un repositorio de GitHub (por ejemplo, un MCP publicado en npm) pasan con aviso de «no revisado».
  • ✓Los repositorios muy grandes pueden superar el límite de tiempo; en ese caso, escanéalos a mano sin límite.
  • ✓Solo mira lo nuevo: lo que ya tenías instalado no se analiza de forma retroactiva.
  • ✓Según su documentación, puede pasar por alto patrones en idiomas distintos del inglés, texto dentro de imágenes y código compilado o cifrado.
01

Más estricto

Pide a Claude que trate CAUTION igual que DO_NOT_INSTALL y te pregunte también en ese caso. Útil en equipos con datos de clientes.

02

Menos falsos positivos

Cambia --no-llm por el proveedor claude_cli (variable SKILLSPECTOR_PROVIDER). Tarda más y consume de tu plan.

03

Desactivarlo

Borra su entrada de PreToolUse en settings.json y el script. SkillSpector sigue instalado para usarlo a mano.

Preguntas frecuentes

Con --no-llm no: el contenido se analiza en tu ordenador. La única consulta externa es a OSV.dev con nombres y versiones de dependencias para buscar vulnerabilidades conocidas.

Solo cuando el comando instala código de terceros. Un repositorio pequeño se analiza en segundos; el resto de comandos no pasan por el escáner.

Sí, siempre que el comando incluya el repositorio de GitHub. SkillSpector tiene categorías específicas para MCP, como el envenenamiento de herramientas y los permisos excesivos.

No necesariamente. Significa que el escáner no ha encontrado patrones de riesgo alto. Sigue revisando el código de herramientas que vayan a tocar datos sensibles.

Sí. El código de salida y el JSON son un contrato estable y admite salida SARIF, así que puedes bloquear en tu pipeline las skills que superen el umbral que decidas.

Sobre el autor

Equipo editorial de appyweb

Marketing, SEO y desarrollo con IA

Especialistas de appyweb en SEO, publicidad, desarrollo web y automatización con IA.

Sigue con estas guías

Guía paso a paso · Principiante

Seguridad en Claude: permisos, conectores, privacidad y Claude Code sin sustos

Conectar tu correo, tus documentos o tu código a Claude es seguro si sabes dónde están los controles. Esta guía explica cómo limitar lo que puede hacer cada conector, cómo leer una aprobación, qué datos se usan o no para entrenar modelos, qué ofrece el panel de administración y qué precauciones tomar en Claude Code.

Unos 20 minutos para revisar tu configuración Leer la guía →
Guía paso a paso · Principiante

Plugin security-guidance: revisión de seguridad automática en Claude Code

security-guidance es un plugin oficial de Anthropic que vigila el código que genera Claude Code en tres momentos: al editar archivos, al terminar cada turno y al hacer commit. Aquí verás cómo instalarlo, cómo probar que funciona, cómo añadir reglas propias de tu proyecto, qué datos envía y cómo desactivar cada capa.

Unos 10 minutos con la prueba incluida Leer la guía →
Guía paso a paso · Intermedio

Find Skills: encuentra, revisa y adapta skills para Claude Code

Claude solo usa una skill si la tiene instalada y tu mensaje encaja con su descripción. Con find-skills y el gestor npx skills puedes buscar en el catálogo abierto por el trabajo que necesitas, leer cada habilidad antes de instalarla y crear tu propia versión sin que una actualización borre tus cambios.

10 minutos para instalar y buscar; media hora para adaptar una skill Leer la guía →
Guía paso a paso · Principiante

Skill Vault: tu biblioteca de skills de Claude Code, revisada y ordenada

Skill Vault es un proyecto de código abierto que convierte una carpeta en un bibliotecario de skills: cuando encuentras una skill interesante, la analiza con una lista de seguridad, la clasifica por categorías y te la recomienda cuando la necesitas. Te contamos cómo instalarlo, sus comandos y hasta dónde llega su revisión de seguridad.

5 minutos para instalarlo y unos minutos por skill que añadas Leer la guía →
Guía paso a paso · Intermedio

Protege tu app con Claude: RLS en Supabase, CORS y cabeceras de seguridad

Las tres configuraciones de seguridad que más se olvidan al construir una app con ayuda de la IA: Row Level Security en Supabase/PostgreSQL para que cada usuario vea solo sus datos, CORS limitado a tus dominios y cabeceras HTTP de seguridad. Para cada una: qué riesgo cubre, un prompt para que Claude la implemente y cómo verificar que funciona.

Entre 1 y 2 horas para una app pequeña Leer la guía →

¿Quieres llevar la IA a tu empresa sin pelearte con todo esto?

Diseñamos e implantamos agentes, automatizaciones y asistentes con IA a medida de tu negocio.

Ver nuestros servicios de IA

Cuéntanos tu proyecto. Te respondemos en 48 h.

Auditoría gratuita de IA, campañas, web y SEO, con prioridades y cifras reales de tu negocio.

✓ Sin compromiso ✓ Respuesta en 48 h laborables ✓ Un consultor senior, no un bot
WA WhatsApp