O que Skills-check faz?
Realiza análise de segurança automatizada em várias camadas em habilidades de Agentes de IA para detectar riscos de código e ameaças em tempo de execução de forma eficiente.
Visão Geral
O HutCh1E/Skills-check é uma ferramenta de linha de comando e biblioteca que permite escanear habilidades de agentes de IA em busca de vulnerabilidades de segurança. Ela combina análise estática, dinâmica e de dependências para oferecer uma cobertura ampla contra ameaças conhecidas e emergentes.
Funcionalidades
- Análise Estática de Código: Verifica o código-fonte das habilidades contra padrões de vulnerabilidade, como injeção de comandos, uso de APIs inseguras e acesso a variáveis de ambiente sensíveis.
- Análise Dinâmica: Simula a execução da habilidade em um ambiente controlado para detectar comportamentos maliciosos em tempo real.
- Inspeção de Dependências: Examina bibliotecas e pacotes externos utilizados pela habilidade para identificar versões com vulnerabilidades conhecidas.
- Relatórios Detalhados: Gera saída em formato JSON, HTML ou texto simples com a lista de problemas encontrados, severidade e recomendações de correção.
- Integração CI/CD: Pode ser facilmente integrado a pipelines de integração contínua, como GitHub Actions, GitLab CI ou Jenkins.
Plataformas Suportadas
- Claude Code
- Cursor
- Codex
- Outros agentes baseados em LLM com habilidades customizáveis
Como Usar
# Instalar globalmente via npm
npm install -g @hutch1e/skills-check
# Executar análise em uma habilidade
skills-check scan /caminho/para/skill/
# Especificar formato de saída
skills-check scan /caminho/para/skill/ --output json > relatorio.json
Configuração
Crie um arquivo .skills-check.yml na raiz do projeto da habilidade para personalizar a análise:
# Exemplo de configuração
ignore:
- "tests/**"
- "**/*.md"
rules:
- id: "no-env-leak"
severity: "high"
dynamic_analysis:
enabled: true
timeout: 30 # segundos
Interpretando Resultados
O relatório gerado contém:
- Resumo: Número total de problemas, por severidade (crítico, alto, médio, baixo).
- Detalhes: Para cada problema, descrição, localização no código, ID da regra e sugestão de correção.
Exemplo de saída JSON:
{
"summary": {
"total": 5,
"critical": 1,
"high": 2,
"medium": 1,
"low": 1
},
"issues": [
{
"rule_id": "no-env-leak",
"severity": "high",
"file": "skill.js",
"line": 42,
"description": "Acesso direto a process.env.API_KEY detectado. Considere usar um gerenciador de segredos."
}
]
}
Contribuição
Contribuições são bem-vindas! Consulte o arquivo CONTRIBUTING.md para mais detalhes.
Licença
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais informações.