Permissões do Claude Code: proteja .env, Git e comandos perigosos
Guia prático para restringir permissões do Claude Code: isolar segredos, controlar comandos Git e shell e testar as barreiras de segurança antes de acessar um repositório de produção.
Ao configurar o Claude Code, desenvolvedores costumam cair em uma escolha falsa: confirmar sem parar comandos de leitura triviais ou ativar o bypass completo (--dangerously-skip-permissions) e arriscar um vazamento de .env, um git push --force acidental ou um ambiente de projeto quebrado.
Nenhum dos extremos é eficaz. Uma configuração segura segue o princípio do menor privilégio: acesso de leitura, permissões de escrita, execução de shell e controle de versão precisam estar claramente separados.
1. Mapa de permissões: da leitura ao impacto externo
Organize arquivos e comandos em quatro níveis de acesso:
2. Isole arquivos .env e segredos do projeto
Transport Layer Security (TLS) criptografa o tráfego de API enquanto ele percorre a rede. Isso não impede que credenciais confidenciais entrem na janela de contexto do modelo, em logs de erro ou em resumos de handoff.
Para impedir que o Claude Code ingira credenciais privadas:
- Adicione ao
.gitignoretodos os arquivos de ambiente que contenham segredos. - Forneça um modelo
.env.examplelimpo, com valores fictícios. Assim, o agente entende os nomes das variáveis sem ver valores de execução. - Registre uma regra de limite rígida no
CLAUDE.mdouAGENTS.md:
Regra de proteção de segredos
- Nunca inspecione, exiba ou transmita conteúdo de
.env,.env.localou arquivos de chave privada. - Para verificar as chaves de configuração necessárias, examine
.env.example.
3. Checklist priorizado para Git e comandos
Ao executar tarefas com Claude Code, siga primeiro esta hierarquia:
Barreiras passo a passo
- Passo 1: bloqueie mutações de Git. Nunca permita pushes automatizados diretamente para
mainsem umgit diff --checkmanual e a execução dos testes. - Passo 2: isole a instalação de pacotes. Comandos como
npm install <package>ou scripts curl remotos precisam de verificação manual para evitar dependências não confiáveis e riscos na cadeia de suprimentos. - Passo 3: restrinja o escopo de diretórios. Limite o workspace do agente a uma pasta específica da funcionalidade ou a um Git worktree dedicado.
4. Valide as permissões em um workspace de teste
Antes de conceder ao Claude Code acesso a repositórios importantes, faça uma validação em sandbox:
- Crie uma branch de teste descartável:
git checkout -b test/permission-check. - Adicione um arquivo
.envde exemplo com um segredo de teste fictício. - Peça ao agente para refatorar o módulo de autenticação.
- Verifique se:
- o agente não leu o
.envfictício durante a exploração; - nenhum token secreto apareceu em logs de erro, comentários ou
git diff; - os testes unitários são executados sem acessar arquivos não autorizados.
- o agente não leu o
- Limpe a branch de teste depois de confirmar os limites.
Essa fronteira de permissões protege as credenciais e preserva uma execução autônoma rápida.