Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
guardskill — Scanner somente leitura para configurações do git que permitem que um repositório execute código em agentes de codificação (Claude Code, Codex, Cursor, Copilot). Abrange a classe GitSpawn e o CVE-2026-45033. Sem dependências, sem rede, sem telemetria. | Kitploit
Ferramentas/GitHubGitHub/soemoescode/guardskill
Análise EstáticaScanners de VulnerabilidadesAnálise de CódigoAuditoria de ConfiguraçãoDevSecOpsSegurança da Cadeia de SuprimentosSegurança de IA
GitHubsoemoescode/guardskill

guardskill

Scanner somente leitura para configurações do git que permitem que um repositório execute código em agentes de codificação (Claude Code, Codex, Cursor, Copilot). Abrange a classe GitSpawn e o CVE-2026-45033. Sem dependências, sem rede, sem telemetria.

Ver Repositório
há 7h 2mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

GuardSkill

Um repositório pode fazer seu agente de codificação executar código no momento em que abre a pasta. GuardSkill verifica isso antes de você fazer.

root@kitploit:~
npx guardskill .

Somente leitura. Sem chamadas de rede, sem telemetria, sem configuração, sem conta. Ele lê a configuração do git e os scripts de hook, imprime o que encontrou e encerra.


O problema

Agentes de codificação coletam contexto executando comandos git comuns — git status, git diff — assim que abrem um projeto. O Git lê suas configurações do próprio .git/config do repositório, e várias dessas configurações nomeiam um programa para o git executar. Coloque um comando em core.fsmonitor e ele será executado, com seus privilégios, fora de qualquer sandbox, antes que você digite qualquer coisa.

Duas pesquisas públicas tornam isso concreto:

  • GitSpawn — A Manifold Security relatou oito descobertas em sete agentes de codificação (Claude Code, OpenAI Codex, Cursor, Goose, Grok Build, Qwen Code, Hermes Agent), várias ainda sem correção no momento da publicação. A nota deles sobre a entrega é importante: clonar uma URL hostil não dispara o ataque, porque não é transferido por um clone. O repositório precisa — um zip, um drive compartilhado, uma pasta sincronizada, um pendrive USB, um agente que descompacta um arquivo. (, )
.git/config
chegar como arquivos com seu diretório .git já dentro
Manifold Security
The Hacker News
  • CVE-2026-45033 — GitHub Copilot CLI, CVSS 8.5. Um repositório bare escondido em qualquer lugar da árvore do projeto é suficiente: o git o descobre ao percorrer diretórios e aplica sua configuração, incluindo chaves que executam comandos. Corrigido em @github/copilot 1.0.43 ao forçar safe.bareRepository=explicit. (GitHub Advisory)
  • A mitigação recomendada no lado do usuário em ambos os artigos é a mesma: inspecione a configuração do git antes de abrir o diretório com um agente. Isso é tedioso de fazer manualmente em uma árvore. Esta ferramenta faz isso em um segundo.

    O que ela verifica

    GuardSkill percorre a árvore e encontra toda configuração git que um agente poderia captar: o .git do próprio projeto, qualquer .git aninhado que chegou como conteúdo, qualquer repositório bare escondido em um subdiretório, o arquivo .git que um submódulo ou worktree vinculado deixa para trás, e as configurações que o git mantém ao lado da principal — config.worktree e cada .git/modules/<nome>/config. Cada uma delas é inspecionada.

    ClasseVerificações
    Chaves de execução diretacore.fsmonitor, core.sshCommand, core.gitProxy, core.pager, core.editor, sequence.editor, diff.external, uploadpack.packObjectsHook
    Chaves de execução indiretafilter.*.clean / .smudge / .process, diff.*.textconv, merge.*.driver, mergetool.*.cmd, difftool.*.cmd, credential.helper
    Aliases de shellqualquer alias.* cujo valor comece com !
    Configuração carregada de outro lugarinclude.path, includeIf.*.path
    Hookssubstituições de core.hooksPath, scripts ativos (não .sample) em .git/hooks, e scripts de hook que canalizam um download para um shell ou decodificam base64 antes de executá-lo
    Transportesprotocol.allow e protocol.<nome>.allow redefinidos para always, e qualquer URL de remote ou submódulo usando o transporte ext::, que entrega o restante da linha a um shell
    Estruturarepositórios bare dentro da árvore (o vetor da CVE-2026-45033), diretórios .git aninhados que não são submódulos registrados, arquivos .git apontando para um diretório git dentro da árvore

    Uso

    root@kitploit:~
    npx guardskill .                      # verifica o projeto atual
    npx guardskill ~/code/algum-projeto   # verifica um caminho específico
    npx guardskill . --json               # legível por máquina
    npx guardskill . --out report.md      # também grava um relatório Markdown
    npx guardskill . --fail-on critical   # falha o build apenas em descobertas críticas
    npx guardskill . --exclude test/fixtures   # pula um diretório
    

    Códigos de saída: 0 nada no limite ou acima dele, 1 descobertas no limite ou acima dele (limite padrão: high), 2 a própria verificação falhou.

    Em CI:

    root@kitploit:~
    - name: Verificar vetores de execução do git
      run: npx guardskill . --fail-on high
    

    Exemplo de saída:

    root@kitploit:~
    GuardSkill - verificação de vetores de execução do git (somente leitura)
    Caminho: /Users/dev/projects/projeto-herdado
    Configurações git inspecionadas: 2   Diretórios percorridos: 148
    
    [CRITICAL] vendor/payload.git - Repositório git bare encontrado dentro da árvore do projeto
      o que   O Git descobre repositórios bare ao percorrer diretórios e aplica sua
              configuração, incluindo chaves que executam comandos.
      encontrado  repositório bare em vendor/payload.git
      faça    Não abra este projeto com um agente de codificação até inspecionar o diretório.
    
    [CRITICAL] vendor/payload.git/config:3 - core.fsmonitor executa um comando externo
      encontrado  core.fsmonitor = /tmp/.x/run.sh
    
    2 críticas, 0 altas, 0 médias, 0 baixas.
    Nada foi alterado - esta verificação apenas lê.
    

    Falsos positivos

    Uma ferramenta de segurança que grita "lobo!" é desinstalada. A suíte é executada contra 29 repositórios limpos e realistas — git-lfs, git-crypt, husky, a convenção .githooks, submódulos registrados, helpers de credenciais, editores e pagers personalizados, configuração de assinatura — e o build falha se qualquer um deles produzir uma descoberta acima do nível informativo. Ela é executada contra 22 repositórios construídos em torno de um padrão de ataque conhecido e falha se algum for perdido, ou for capturado pela regra errada.

    Acima disso há uma suíte de evasão: cada caso nela foi encontrado atacando uma versão do GuardSkill que já havia passado em seus próprios testes, e ela é executada em cada commit para que uma mudança futura não possa reabrir silenciosamente um caso. Ela cobre a mesma chave escrita de todas as formas que o git ainda aceita (maiúsculas/minúsculas, aspas, continuações de linha, CRLF, uma marca de ordem de byte, uma chave na linha da seção), payloads nomeados após ferramentas familiares, diretórios de hooks nomeados .husky para parecerem rotineiros, e configurações escondidas onde a primeira versão nunca procurou. Uma suíte de robustez alimenta-a com configurações binárias, vazias, truncadas e de 200.000 linhas, diretórios ilegíveis, loops de symlink e ponteiros direcionados para fora da árvore, e exige um relatório em vez de um stack trace.

    Duas escolhas de design deliberadas:

    • Gerenciadores de hooks são reconhecidos, não sinalizados. husky, lefthook, pre-commit e um diretório .githooks são relatados como informativos (low) em vez de um risco — mas GuardSkill ainda lê os scripts e eleva para critical se um deles buscar ou decodificar código antes de executá-lo.
    • include / includeIf é sempre relatado. Um include pode introduzir qualquer chave desta lista posteriormente, que é exatamente como você esconderia uma. Um ~/.gitconfig compartilhado que você mesmo escreveu é uma descoberta normal para descartar.
    • Um diretório de hooks é julgado por seus scripts, não pelo nome. .husky executando npm test é informativo, e a descoberta lista o que será executado. O mesmo diretório executando algo de /tmp não é.
    • Uma varredura incompleta nunca é lida como um resultado limpo. Se a travessia parar em seu limite de profundidade ou tamanho, o relatório diz isso em vez de imprimir "nenhuma descoberta".

    O que ela não faz

    Ela não modifica nada, nunca. Ela não executa nada que encontra. Ela não faz chamadas de rede e não coleta telemetria — execute-a offline e ela se comporta de forma idêntica. Ela ainda não verifica dependências npm, .claude/settings.json, .vscode/tasks.json ou definições de servidor MCP; essas são a próxima classe, não esta. E ela é um sinal, não um veredito: leia a descoberta, olhe a evidência, decida por si mesmo.

    Use-a como uma habilidade de agente

    SKILL.md neste repositório permite que um agente de codificação execute a verificação por conta própria antes de abrir um projeto desconhecido. Copie o diretório para sua pasta de habilidades, ou aponte seu agente para o repositório.

    Desenvolvimento

    root@kitploit:~
    npm test        # regenera os fixtures e depois executa a suíte
    

    Os fixtures são gerados por código (test/fixtures/generate.js), não commitados manualmente, então estender o conjunto limpo ou vulnerável é algumas linhas. Novas regras de detecção vão em rules/git-exec-keys.json — uma regra sem um fixture em ambos os lados não será mesclada.

    Roadmap

    Monitoramento contínuo, alertas Slack/Teams e pull requests de correção automática estão planejados como uma camada paga. O scanner em si permanece gratuito e licenciado sob MIT. As regras de detecção permanecem no repositório aberto — uma ferramenta de segurança cujas regras você não pode ler não é uma em que você deveria confiar.

    Licença e proveniência

    MIT. Construída e mantida pela Helios IT Solutions, um provedor holandês de serviços de TI. Problemas de segurança: veja SECURITY.md.

    Baixar ferramenta