SkillSpector es un escáner de seguridad Apache-2.0 de NVIDIA para habilidades de agentes de IA: paquetes de instrucciones que pueden contener Markdown, scripts, dependencias, definiciones de herramientas y reglas de activación. Acepta un directorio local, un archivo individual, un archivo zip, un repositorio Git o una URL y produce resultados de terminal, JSON, Markdown o SARIF con una puntuación de riesgo de 0 a 100.
Su valor es el modelo de amenaza. Una habilidad no es simplemente documentación. Una vez que un agente las sigue, las instrucciones pueden provocar acceso a archivos, ejecución de shell, uso de credenciales, transmisión de red o cambios persistentes en la configuración. SkillSpector verifica tanto los riesgos del software convencional como los problemas específicos del agente, como inyección rápida, agencia excesiva, envenenamiento de la memoria, abuso de desencadenadores y MCP envenenamiento de la descripción de la herramienta. Un informe limpio es evidencia de una capa de análisis previa a la instalación, no una garantía de que el comportamiento en tiempo de ejecución sea seguro.

Dónde encaja SkillSpector en el canal de confianza
identidad de origen + pin de confirmación
|
v
desempacar en un espacio de trabajo aislado
|
.-------+--------.
vv
dependencia de reglas estáticas / OSV
AST + firmas corruptas + metadatos
'-------+--------'
v
revisión semántica opcional de LLM
|
disposición humana
aceptar / arreglar / suprimir-con-razon / rechazar
|
sandbox + privilegio mínimo + monitoreo del tiempo de ejecución
Este orden importa. Escanear una URL no fijada hoy no prueba que la descarga de mañana sea idéntica. Ejecutar un LLM sobre instrucciones hostiles sin aislar sus credenciales crea otra exposición. Cargar un archivo SARIF sin una política de bloqueo crea visibilidad pero no control. Trate el escáner como una etapa en un proceso de admisión reproducible.
Qué hace el analizador de dos etapas
| etapa | Mecanismo | Fuerza | Debilidad esperada |
|---|---|---|---|
| Patrones estáticos | Coincidencia de reglas y expresiones regulares en archivos de habilidades | Rápido, determinista y explicable. | Los ejemplos benignos pueden coincidir; una redacción novedosa puede evadir |
| AST conductual | Detecta Python primitivas de ejecución y cadenas de llamadas peligrosas | Encuentra el comportamiento del código más allá de las palabras clave | No ejecuta código; La cobertura de lenguaje e indirección es finita. |
| Seguimiento de contaminación | Busca flujos desde entradas/secretos/archivos hasta la ejecución o receptores de red. | Conecta la fuente y el sumidero en un camino significativo | El despacho dinámico y los marcos complejos pueden derrotar el flujo estático |
| OSV búsqueda | Consultas OSV.dev para vulnerabilidades de dependencia declaradas | Inteligencia de vulnerabilidad actual cuando está en línea | El modo sin conexión utiliza un respaldo más pequeño; Es posible que se pierda el código no declarado/vendedor. |
| YARA firmas | Coincide con patrones conocidos de malware, webshell, minero y exploit | Útil para familias conocidas. | Las cargas útiles desconocidas, empaquetadas o modificadas pueden evadir |
| Revisión opcional de LLM | Evalúa la intención y el contexto, explica los hallazgos. | Puede reducir los falsos positivos estáticos obvios | Probabilístico, dependiente del proveedor y expuesto a contenido contradictorio |
El proyecto describe el análisis estático como de alta recuperación con precisión moderada y dice que la revisión semántica opcional mejora la precisión. No copie una cifra de precisión de titular en una póliza sin reproducirla en su propio corpus. Un equipo de seguridad se preocupa por los falsos negativos por categoría, no solo por un número agregado.
Las 16 categorías de riesgo en términos operativos
| grupo de riesgo | Ejemplos cubiertos | Lo que un revisor debe verificar |
|---|---|---|
| control de instrucciones | Inyección rápida, directivas ocultas, fuga rápida del sistema | ¿Las instrucciones son visibles, tienen alcance y están subordinadas a la política del anfitrión? |
| Acceso a datos | Recolección de entornos, enumeración de sistemas de archivos, exfiltración de contexto | ¿Qué clases de datos exactas pueden fluir hacia qué dominios? |
| autoridad | Escalada de privilegios, agencia excesiva, uso indebido de herramientas | ¿La habilidad solicita solo los permisos reversibles mínimos? |
| persistencia | Envenenamiento de la memoria, automodificación, inicio o persistencia de cron | ¿Puede la habilidad modificar sesiones futuras o su propia aplicación? |
| cadena de suministro de software | Paquetes no fijados, scripts remotos, CVE, typosquatting, ofuscación | ¿Son reproducibles los hashes, las confirmaciones y la procedencia de las dependencias? |
| MCP límite | Permisos comodín, capacidades no declaradas, envenenamiento de herramientas | ¿Los metadatos declarados coinciden con el código y el tráfico en tiempo de ejecución? |
| Comportamiento del código | ejecutivo/eval, subproceso, importaciones dinámicas, ejecución contaminada | ¿Es el comportamiento peligroso esencial, restringido y parametrizado de forma segura? |
| Salida y disparadores | Salida no desinfectada, activación amplia, comandos ocultos | ¿Puede el texto ordinario activarse inesperadamente o cruzar un límite de confianza? |
SkillSpector actualmente documenta 64 patrones en estas 16 categorías. El número es útil para la cobertura de versiones, no como puntuación de seguridad en sí misma. Diez variantes de una expresión regular conocida no necesariamente protegen contra una nueva cadena de ataques, mientras que una sola regla de corrupción de alta calidad puede prevenir una fuga crítica.
Comprender la puntuación de riesgo
El modelo documentado agrega 50 puntos por un hallazgo crítico, 25 por alto, 10 por medio y 5 por bajo, aplica un multiplicador de 1,3x cuando hay scripts ejecutables y limita el resultado a 100. Las bandas publicadas etiquetan 0–20 bajo, 21–50 medio, 51–80 alto y 81–100 crítico.
| Partitura/banda | Recomendación predeterminada | lo que no significa |
|---|---|---|
| 0–20 / Bajo | Continuar con la revisión manual y la prueba de espacio aislado | No “seguro”; Los puntos ciegos pueden contener comportamientos no observados. |
| 21–50 / Medio | Requerir la disposición y remediación del propietario | No es automáticamente malicioso; el uso legítimo de la red o del shell puede puntuar |
| 51–80 / Alto | Bloquear la instalación a menos que la seguridad conceda una excepción | La puntuación por sí sola no establece la intención |
| 81–100 / Crítico | Rechazar e investigar fuente/procedencia | Múltiples hallazgos pueden describir una causa raíz; deduplicar durante la clasificación |
Una puntuación comprime evidencia heterogénea. Conserve los ID de reglas, ubicaciones de archivos, fragmentos, confianza, versión del analizador y confirmación de fuente. Dos habilidades con una puntuación de 50 pueden tener riesgos radicalmente diferentes: una ruta crítica de ejecución de código versus diez hallazgos de higiene de baja gravedad.
Escaneo solo estático versus asistido por LLM
| Modo | Usar cuando | Límite de datos | Implicación política |
|---|---|---|---|
--no-llm | CI rápida, entradas que no son confiables, revisión aislada o líneas de base deterministas | No se envía ninguna carga semántica a un proveedor de modelos | Espere más falsos positivos e intenciones fallidas |
| Punto final administrado OpenAI/Anthropic/NVIDIA | La clasificación contextual merece un procesamiento externo | El contenido de las habilidades puede abandonar el entorno. | Revisar los términos, retención, región y credenciales del proveedor. |
| Punto final local compatible con OpenAI | Habilidades sensibles o evaluación interna reproducible | Puede permanecer local si la red está controlada | La calidad del modelo y la robustez de la rápida inyección se convierten en su responsabilidad |
Nunca le dé al modelo semántico del escáner más autoridad de la que necesita. El modelo debe analizar texto, no poseer secretos de producción ni permisos de instalación. Trate cualquier contenido de habilidad como entrada adversaria y registre el proveedor/modelo exacto porque las disposiciones semánticas pueden cambiar entre versiones.
Puntos ciegos conocidos
NVIDIA enumera explícitamente limitaciones importantes: es posible que se pasen por alto los ataques que no estén en inglés; el texto oculto en las imágenes no se analiza; el código compilado, cifrado o binario está fuera de la visibilidad estática; y el comportamiento en tiempo de ejecución no se ejecuta. OSV la cobertura se reduce cuando la red no está disponible. El análisis estático también puede tener problemas con el código generado, la reflexión, las descargas de segunda etapa, el comportamiento condicionado por el entorno y el abuso que aparece sólo después de que un servidor remoto cambia su respuesta.
| Punto ciego | Control compensatorio |
|---|---|
| Instrucciones de imagen o documento. | Extraiga OCR/metadatos y revise los medios en una zona de pruebas separada |
| Artefacto binario o cifrado | Rechace cargas útiles opacas o requiera fuente reproducible y zona de pruebas de malware |
| Comportamiento solo en tiempo de ejecución | Ejecutar en un contenedor instrumentado con red/sistema de archivos denegado por defecto |
| Mensaje que no está en inglés o está ofuscado | Utilice revisión sensible al idioma, normalización Unicode y casos de prueba contradictorios |
| Cambios de dependencia remota | Fijar confirmación/hash, reflejar dependencias y verificar firmas/SBOM |
| Evasión o defecto del escáner | Utilice defensa en profundidad, revisión independiente y pruebas de regresión de escáner |
Una política de admisión de CI que los equipos pueden aplicar
- Resolver entradas inmutables. Registre el repositorio, confirme SHA, archive hash, autor y licencia antes de escanear.
- Desempaquetar sin ejecución. Deshabilite los ganchos, las plantillas y la instalación de paquetes mientras realiza un inventario de cada archivo.
- Primero ejecute solo estático. Guarde JSON y SARIF con la versión SkillSpector y si se podía acceder a OSV.
- Aplicar puertas explícitas. Bloquee cualquier resultado crítico/alto no suprimido, contaminación de credencial a red, instrucción oculta o ejecutable opaco.
- Realice una revisión semántica por separado. Envíe solo contenido aprobado a un proveedor aislado y nunca permita que el modelo instale la habilidad.
- Requiere disposición humana. Toda supresión necesita titular, fundamento, alcance y fecha de caducidad.
- Pruebe los límites del tiempo de ejecución. Comience sin secretos, accesorios de solo lectura, una lista de dominios permitidos y una cuenta desechable.
- Vuelva a escanear las actualizaciones. Se activa ante cambios de fuente, cambios de bloqueo de dependencia, lanzamientos de paquetes de reglas y CVE recientemente divulgados.
| Encontrar | Puerta sugerida | Evidencia de excepción |
|---|---|---|
| Cadena de ejecución o contaminación crítica/alta | bloque duro | Revisión de seguridad más corrección de código; evitar la supresión permanente |
| Destino de red externa | Bloquear a menos que esté en la lista permitida | Propósito comercial, clasificación de datos, prueba de dominio y carga útil |
| Dependencia no fijada | Liberación de bloque | Lockfile/hash y proceso de actualización controlado |
| Permiso de activación amplia o comodín | Requerir estrechamiento | Necesidad demostrada y control de aprobación en tiempo de ejecución. |
| Problema de higiene de baja gravedad | Avisar con fecha límite | Propietario y ticket de remediación |
Cómo evaluar la calidad de la detección
Cree un corpus etiquetado que se asemeje a las habilidades que instala su organización. Incluya habilidades limpias que utilicen legítimamente subprocesos o APIs de red, accesorios intencionalmente vulnerables para cada familia de reglas relevante, instrucciones multilingües, texto codificado, herramientas renombradas y comportamientos encadenados. Divida el corpus para que los ejemplos de ajuste no se conviertan en el único conjunto de pruebas.
| Métrica | Pregunta respondida | Por qué es importante |
|---|---|---|
| Recordar por gravedad/categoría | ¿Cuántos casos peligrosos conocidos se encontraron? | Una tasa general alta puede ocultar una cobertura nula para la exfiltración de credenciales |
| Precisión | ¿Cuántas alertas fueron procesables? | Desarrolladores de trenes de baja precisión para evitar la puerta |
| Tiempo de disposición | ¿Cuánto tiempo lleva el triaje humano? | Mide el costo operativo real |
| Tiempo de escaneo incremental | ¿Se puede ejecutar la verificación en cada cambio? | Las puertas lentas migran a auditorías poco frecuentes |
| Estabilidad semántica | ¿Coinciden las ejecuciones repetidas/de versión de modelo? | Expone resultados de políticas no deterministas |
| tasa de escape | ¿Qué comportamiento de riesgo apareció en tiempo de ejecución después de pasar? | Prueba todo el sistema de admisión, no solo el escáner |
SARIF e informes
La salida SARIF se puede cargar en el escaneo de código de GitHub para que los hallazgos aparezcan en las ubicaciones de origen y participen en el flujo de trabajo de seguridad normal del repositorio. JSON es mejor para motores de políticas y métricas longitudinales; Markdown ayuda a un paquete de revisión humana; La salida del terminal es conveniente a nivel local. Confirme el comportamiento del código de salida en su versión fijada e implemente la puerta explícitamente en lugar de asumir que la creación de un informe falla en la compilación.
Los propios informes pueden contener fragmentos confidenciales, rutas internas e instrucciones sospechosas. Limite la retención y el acceso a los artefactos. No publique un hallazgo completo que contenga un token o una carga útil de exploit en una solicitud de extracción pública.
Controles alternativos y complementarios
| Opción | Mejor uso | Relación con SkillSpector |
|---|---|---|
| Escáner de habilidades de Cisco AI Defense | Otro escáner multimotor centrado en las habilidades del agente | Comparar coberturas y falsos positivos; Los motores independientes pueden diversificar la detección. |
| Semgrep/CodeQL | Análisis estático profundo específico del lenguaje y reglas de organización personalizadas | Complemente las instrucciones del agente y los controles específicos de MCP |
| OSV-Escáner/Dependabot | Vulnerabilidad de dependencia y flujos de trabajo de actualización | Operaciones de dependencia más amplias que una búsqueda integrada |
| YARA/zona de pruebas antimalware | Malware conocido y comportamiento dinámico | Útil para cargas útiles fuera del análisis orientado a Markdown |
| Lista de permitidos manual + catálogo firmado | Entornos de alto control con pocas habilidades aprobadas. | Reduce la variabilidad de la cadena de suministro; todavía escanea cada versión firmada |
| Motor de políticas/zona de pruebas en tiempo de ejecución | Hacer cumplir los límites de archivos, redes, secretos y aprobación | Compensación esencial porque el escaneo previo a la instalación no puede observarlo todo |
Preguntas frecuentes
¿Una puntuación baja significa que una habilidad es segura?
No. Significa que la versión del escáner anclada no acumuló muchos hallazgos reconocidos. Los puntos ciegos, el comportamiento en tiempo de ejecución y la sustitución de la cadena de suministro siguen siendo posibles.
¿SkillSpector ejecuta la habilidad?
No. Su limitación documentada es el análisis estático en lugar de la ejecución dinámica. Utilice un entorno limitado instrumentado independiente para las pruebas en tiempo de ejecución.
¿Puede escanear un repositorio Git remoto?
Sí, junto con URL, archivos zip, directorios y archivos individuales. Para lograr reproducibilidad, escanee una confirmación o hash inmutable en lugar de una URL de rama mutable.
¿Se requiere análisis LLM?
No. --no-llm se ejecuta solo de forma estática. El análisis semántico es opcional y puede utilizar proveedores administrados o un punto final local compatible con OpenAI.
¿Qué sucede sin OSV acceso a la red?
El escáner recurre a una pequeña lista incorporada, por lo que la cobertura de vulnerabilidad de dependencia es menos actual y completa. Registre ese estado degradado en el informe.
¿Quién debe tomar la decisión final?
Un revisor de seguridad o plataforma designado, con aportaciones del propietario funcional de la habilidad. El escáner proporciona resultados; no debe otorgar autoridad de instalación.
Fuentes y verificación
- Repositorio oficial SkillSpector y README
- Política de seguridad oficial
- Artículo técnico de NVIDIA sobre habilidades verificadas y SkillSpector
- Catálogo de habilidades de agentes verificados por NVIDIA
- OSV API documentación
- GitHub SARIF cargar documentación
- Guía de OWASP para los riesgos de la aplicación LLM
- MITRE ATLAS base de conocimientos sobre amenazas adversas
- Comparación del escáner de habilidades de Cisco AI Defense
Revisado por última vez el 26 de julio de 2026. El recuento de patrones, los proveedores, los modelos predeterminados y el comportamiento de la CLI pueden cambiar. Fije la versión del escáner y verifique el repositorio actual antes de adoptar una puerta.

