O que é SkillSpector?
O SkillSpector é o scanner de segurança de código aberto da NVIDIA para as skills de agente usadas pelo Claude Code, Codex CLI, Gemini CLI e clientes MCP. Aponte-o para um repositório Git, uma URL, um zip, um diretório ou um único SKILL.md e ele devolve uma pontuação de risco de 0 a 100, uma severidade e uma de três recomendações: SAFE, CAUTION ou DO NOT INSTALL. Ele também é a camada de segurança do pipeline Verified Skills da NVIDIA, que escaneia e assina skills antes de publicá-las no catálogo de skills da NVIDIA.
A detecção roda em duas etapas. A análise estática cobre 71 padrões em 17 categorias usando regras regex, verificações de AST em Python, rastreamento de taint, assinaturas YARA e consultas de CVE ao vivo no OSV.dev. Uma etapa opcional com LLM então revisa os achados em busca de contexto e intenção; ela pode aumentar a confiança de um achado, mas nunca remove nenhum. A análise por LLM vem ativada por padrão e usa por padrão o GLM-5.3 da Z.ai no build.nvidia.com da NVIDIA, com OpenAI, Anthropic, Bedrock, Gemini, Azure OpenAI, Ollama e as CLIs locais do Claude ou do Gemini como alternativas.
O repositório foi criado em março de 2026, tem licença Apache 2.0 e cerca de 23.700 estrelas e 2.046 forks no GitHub. Não está no PyPI: instala-se a partir do GitHub com uv ou como uma imagem Docker construída localmente, e precisa de Python 3.12 ou posterior. A v2.13.2 saiu em 28 de outubro de 2026, uma de 20 releases no GitHub desde julho de 2026, e o pacote ainda é classificado como Alpha.
SkillSpector vale a pena?
O SkillSpector é o mais minucioso dos scanners de skills abertos que cobrimos, e sua força é a profundidade, não o alcance. O Snyk Agent Scan varre uma máquina inteira em busca de servidores MCP e skills instalados; o SkillSpector pega uma skill e a lê de perto, em 71 padrões em 17 categorias, de instruções ocultas e preenchimento com espaços em branco a chamadas reflexivas de getattr, credenciais fluindo para destinos de rede e fontes de pacotes redirecionadas. Ele nunca executa a skill. Só isso já o separa do Agent Scan, que inicia servidores MCP stdio para ler as descrições das ferramentas.
O método é deliberadamente em camadas. Onze analisadores estáticos, verificações de AST em Python, regras YARA e consultas ao OSV.dev fazem a primeira passada, que o README descreve como alta revocação com precisão moderada. A etapa de LLM então confirma ou contesta cada achado, mas não pode apagar nenhum: achados confirmados ganham confiança, e o resto continua no relatório marcado como llm-unconfirmed. Um acerto ruidoso de regex, portanto, ainda conta para a pontuação. O prompt traz proteções anti-jailbreak contra skills escritas para manipular o juiz. Por padrão, o juiz é o GLM-5.3 no build.nvidia.com com esforço de raciocínio alto; na Anthropic é o claude-opus-4-6, e no Ollama um llama3.1:8b local mantém os arquivos na sua máquina.
O que a NVIDIA não publica é uma taxa de acerto. O Skill Scanner da Cisco informa seus próprios resultados em dados separados, incluindo que as regras sozinhas bloqueiam 7,7% das skills maliciosas; o SkillSpector cita apenas a pesquisa por trás dele, na qual 26,1% de 31.132 skills analisadas tinham uma vulnerabilidade e 5,2% mostravam provável intenção maliciosa. Isso mede o problema, não o scanner. Os falsos positivos são reconhecidos no design, por meio de arquivos de baseline que suprimem achados aceitos, e no tracker, onde a issue #887 relata uma explicação sobre segurança de aeronaves sinalizada como instruções nocivas. A própria lista de pontos cegos do README cobre texto em outros idiomas além do inglês, texto em imagens, código compilado ou criptografado e comportamento em tempo de execução.
Ele foi feito para CI. A saída SARIF 2.1.0 alimenta o code scanning, e o scan sai com código 1 quando a pontuação passa de 50. O padrão deixa passar um resultado CAUTION (21 a 50), então uma barreira rigorosa precisa de --fail-on-findings, --fail-on-incomplete ou --min-coverage. Um modo de servidor MCP dá a um agente a ferramenta scan_skill para verificar skills antes de instalá-las; o transporte HTTP não tem autenticação e só se liga ao loopback. O ritmo é alto, com 20 releases desde julho de 2026 e 136 issues e pull requests abertos.
Diante dos dois scanners que já estão neste site, a troca é clara. O da Snyk é o melhor inventário do que está instalado, o da Cisco é mais franco sobre quanto ele pega, e o SkillSpector lê uma única skill com mais atenção, sem conta de fornecedor e, se você quiser, sem modelo nenhum.
Onde ele se destaca
Uma equipe de plataforma que mantém 40 skills internas do Claude Code em um único repositório
Bloquear um merge quando a mudança em uma skill adiciona exfiltração ou instruções ocultas
Execute skillspector scan ./skills --recursive --max-skills 50 --no-llm --format sarif --fail-on-findings no CI, já que o limite padrão é de 32 skills, e envie o SARIF ao code scanning. Faça commit de um baseline para os achados aceitos, para que só os novos quebrem o build; scans estáticos mantêm o conteúdo dos arquivos no runner, embora o OSV.dev ainda receba os nomes das dependências.
Um engenheiro de segurança aprovando uma skill de marketplace para uma organização de engenharia com 200 pessoas
Decidir se uma skill de terceiros é segura para instalar na empresa toda
Escaneie a URL do GitHub com a análise por LLM passando pela conta Bedrock ou Azure OpenAI da empresa, para que o conteúdo fique sob os termos de dados existentes, e então leia a faixa de recomendação e as marcações llm-unconfirmed, não só a pontuação. O custo são tokens de modelo, que o relatório JSON registra por chamada.
Um desenvolvedor no Claude Code que adiciona skills da comunidade quase toda semana
Fazer o agente verificar uma skill antes de instalá-la
Instale com o extra mcp e registre-o com claude mcp add skillspector -- skillspector mcp; o agente chama scan_skill e recebe safe_to_install mais uma flag dizendo se o scan foi só estático. Gratuito; fique no stdio, porque o transporte HTTP não tem autenticação.
Antes de decidir
- Configuração
- uv tool install git+https://github.com/NVIDIA/skillspector.git com Python 3.12+, ou construa o Dockerfile incluído; --no-llm faz um scan estático sem chave nenhuma. A análise por LLM precisa de SKILLSPECTOR_PROVIDER e das credenciais desse provedor.
- Integrações
- Saída em terminal, JSON, Markdown e SARIF 2.1.0; um servidor MCP via stdio ou HTTP em loopback; extensões para Pi e OpenCode; uma API Python sobre seu fluxo LangGraph; 12 provedores de LLM utilizáveis, incluindo Ollama, Bedrock, Azure OpenAI e as CLIs locais do Claude e do Gemini.
- Dados e privacidade
- A análise por LLM, ativada por padrão, envia o conteúdo dos arquivos elegíveis ao provedor configurado; --no-llm os mantém locais. A verificação SC4 envia nomes e versões de dependências ao OSV.dev mesmo no modo estático. Os relatórios são gravados com permissões 0600. Apache 2.0.
- Custo em escala
- Não há edição paga. Scans estáticos custam minutos de CI; scans com LLM custam tokens do provedor por skill, registrados por chamada no relatório JSON. O prazo padrão de um scan é de 18 minutos.
- Limites
- Nenhum número de precisão publicado; 136 issues e pull requests abertos; texto em outros idiomas além do inglês, imagens, código compilado e comportamento em tempo de execução ficam fora de alcance; scans recursivos param em 32 skills por padrão; a página de documentação da NVIDIA ainda fala em 68 padrões, contra os 71 do README.
O que é bom
- Nunca executa a skill que escaneia
- 71 padrões com AST, rastreamento de taint, YARA e consultas ao OSV.dev
- Saída SARIF e códigos de saída documentados para barreiras de CI
- A etapa de LLM pode usar um modelo Ollama local, ou ser pulada
O que não é
- A análise por LLM vem ativada por padrão e envia o conteúdo dos arquivos ao provedor
- Nenhuma taxa de detecção ou de falsos positivos publicada
- Não está no PyPI; instala-se a partir do GitHub e precisa de Python 3.12+
- O código de saída padrão deixa passar resultados CAUTION
Ideal para
Equipes que instalam ou publicam skills de agente e querem uma barreira estática no CI, com revisão opcional por modelo, sem se cadastrar em um fornecedor de segurança.
Alternativas ao SkillSpector
SkillSpector: perguntas frequentes
- SkillSpector vale a pena?
- O scanner de skills para colocar na frente das suas instalações, desde que você lembre que a etapa de LLM envia os arquivos da skill ao build.nvidia.com, a menos que você troque o provedor ou passe --no-llm. Damos nota 4.1 de 5.
- Quanto custa SkillSpector?
- Gratuito e de código aberto sob Apache 2.0. A análise por LLM roda na sua própria conta de provedor (build.nvidia.com por padrão) ou em um modelo local via Ollama.
- Quais são as desvantagens de SkillSpector?
- A análise por LLM vem ativada por padrão e envia o conteúdo dos arquivos ao provedor; nenhuma taxa de detecção ou de falsos positivos publicada; não está no PyPI; instala-se a partir do GitHub e precisa de Python 3.12+; o código de saída padrão deixa passar resultados CAUTION.
- Para quem SkillSpector é indicado?
- Equipes que instalam ou publicam skills de agente e querem uma barreira estática no CI, com revisão opcional por modelo, sem se cadastrar em um fornecedor de segurança.
- Quanto custa SkillSpector para uma equipe ou em produção?
- Não há edição paga. Scans estáticos custam minutos de CI; scans com LLM custam tokens do provedor por skill, registrados por chamada no relatório JSON. O prazo padrão de um scan é de 18 minutos.
- SkillSpector é seguro para dados da empresa?
- A análise por LLM, ativada por padrão, envia o conteúdo dos arquivos elegíveis ao provedor configurado; --no-llm os mantém locais. A verificação SC4 envia nomes e versões de dependências ao OSV.dev mesmo no modo estático. Os relatórios são gravados com permissões 0600. Apache 2.0.
- Quais são as melhores alternativas ao SkillSpector?
- As alternativas mais próximas que analisamos são Snyk Agent Scan, Cisco Skill Scanner e CC Safety Net.
Respostas verificadas em 31 de out. de 2026.
