Examine o diretório .claude/ de um repositório (configuração settings.json, hooks, servidores MCP, env, allowed-tools) para detectar os perigos de RCE e exfiltração de chaves de API (CVE-2025-59536, CVE-2026-21852) que são acionados ao clonar e abrir um repositório não confiável. Estático, sem dependências, local primeiro.
Examina a configuração local
.claude/de um repositório — hookssettings.json, definições de servidor MCP, blocosenv,permissions.allow— em busca das armadilhas de RCE e exfiltração de chaves de API que disparam no momento em que você clona um repositório e o abre no Claude Code. Ele aponta para a linha perigosa exata para que você leia antes de confiar. Apenas lê — nunca executa o que encontra.
⚡ Execute em uma linha, sem instalação, nada sai da sua máquina:
npx dotclaude-security --dir ./some-cloned-repo
🤝 Quer uma versão reforçada para você? Auditoria de escopo fixo — $99 / 24h: Eu reviso cada achado e envio um relatório escrito com as correções exatas da configuração
.claude.
$ npx dotclaude-security --dir ./untrusted-repo
1 critical, 2 high, 0 medium across 1 config file(s).
CRITICAL .claude/settings.json:4 Auto-exec hook on "SessionStart" runs a command when the repo is opened
HIGH .claude/settings.json:7 permissions.allow pre-approves a dangerous tool: Bash(*)
HIGH .claude/settings.json:8 MCP server "x" runs an on-the-fly remote package (npx)
Um repositório pode fornecer sua própria configuração .claude/, e um agente a honra ao abrir.
Em fevereiro de 2026, a Check Point Research divulgou dois CVEs enraizados exatamente nisso:
SessionStart controlado pelo repositório auto-executa um comando shell quando o diretório é aberto. Clone um repositório malicioso, abra-o, seja comprometido. Execução remota de código na inicialização.env) lê sua ANTHROPIC_API_KEY e a envia para um host remoto. Exfiltração silenciosa de chave.Ambos atacam a mesma superfície: hooks do settings.json, comandos de inicialização do servidor MCP, blocos env e a lista permissions.allow — as coisas que o repositório de um estranho pode lhe entregar. Os grandes players (skill-scanner da Cisco, agent-scan da Snyk) varrem skills; quase ninguém varre os arquivos de config .claude.
dotclaude-security analisa esses arquivos, estaticamente, e sinaliza o arquivo + linha exatos de cada diretiva perigosa — para que você trie fatos, não suposições, e nunca execute o payload para encontrá-lo.
| Verificação | Severidade | O que detecta |
|---|---|---|
Hook de auto-execução ao abrir (SessionStart/PreToolUse/UserPromptSubmit) | crítico / alto | comando executado no momento em que o repositório é aberto — RCE na inicialização (CVE-2025-59536) |
| Hook lê um segredo e chama a rede | crítico | ANTHROPIC_API_KEY/token enviado para um host remoto — exfiltração de chave (CVE-2026-21852) |
| Padrão de comando perigoso em qualquer hook | alto | curl|sh, eval, base64 -d, nc -e, /dev/tcp, inline python -c/node -e |
| Servidor MCP lança um comando perigoso | crítico | MCP command/args que buscam e executam código ao conectar |
| Servidor MCP executa um pacote remoto sob demanda | alto | Definições MCP npx/uvx/bunx que puxam pacotes sem versão fixa |
| Servidor MCP recebeu um segredo / URL remota | alto / médio | credenciais injetadas por env, endpoints remotos não confiáveis |
Entrada arriscada em permissions.allow | alto / médio | Bash(*), WebFetch, mcp__* amplos que removem a barreira de aprovação humana |
| Valor de segredo commitado | crítico | sk-ant-…, AKIA…, ghp_… reais, chaves privadas em qualquer arquivo .claude |
# Scan the .claude/ config in the current repo
npx dotclaude-security
# Scan a freshly cloned, untrusted repo BEFORE you open it in Claude Code
npx dotclaude-security --dir ./some-cloned-repo
# Machine-readable JSON only (gate your CI on the summary)
npx dotclaude-security --json
# Write a shareable HTML report
npx dotclaude-security --html report.html
A saída é JSON no stdout (direcione para CI) e um resumo de uma linha por achado no stderr. Cada achado traz file, location.line, location.text e um fix concreto.
npm i -g dotclaude-security
dotclaude-security --dir ./untrusted-repo
Zero dependências. Ele lê seus arquivos de configuração e relata — nunca executa um hook, comando MCP ou qualquer outra coisa que descubra. Nada sai da sua máquina.
Mesma filosofia local-first, prove-the-real-issue em toda a pilha, todas MIT:
supabase-security · strapi-security · pocketbase-security · firebase-security · appwrite-security · nhost-security · stripe-webhook-security · github-actions-security · aws-s3-security
MIT © Renzo Madueno
📚 Parte de Awesome Backend Security Auditors — a coleção completa de auditores de sonda ativa sem chave.