Segurança do Claude Code: Permissões, Sandbox e Uso Seguro
O Claude Code tem um sistema de permissões que permite controlar exatamente o que a IA pode e não pode fazer. Veja como configurá-lo para desenvolvimento seguro.
O Claude Code roda comandos e edita arquivos no seu ambiente. Esse poder requer guardrails. O sistema de permissões permite definir exatamente o que o Claude Code pode acessar, o que pode modificar e quais ações requerem sua aprovação explícita.
Como funciona o sistema de permissões do Claude Code?
O Claude Code tem três modos de permissão que controlam quanta autonomia o agente recebe:
| Modo | Comportamento | Melhor para |
|---|---|---|
| Normal | Pede permissão para cada uso de ferramenta | Aprendizado, codebases sensíveis |
| Auto-Accept | Aprova ações seguras, pergunta para arriscadas | Desenvolvimento diário |
| Plan Mode | Planeja alterações, aguarda aprovação antes de executar | Code review, mudanças arquiteturais |
Como configurar regras allow/deny?
Permissões granulares são definidas no settings.json. Use padrões glob para controlar quais arquivos e comandos o Claude Code pode acessar:
// .claude/settings.json
{
"permissions": {
"allow": [
"Read:**",
"Edit:src/**",
"Edit:tests/**",
"Bash:npm run *",
"Bash:git *"
],
"deny": [
"Edit:.env*",
"Edit:*.secret",
"Edit:credentials/**",
"Bash:rm -rf *",
"Bash:curl * | bash",
"Bash:git push --force*"
]
}
}Quais arquivos você deve sempre proteger?
- +Arquivos .env e .env.* (chaves de API, credenciais de banco)
- +Diretórios credentials/, secrets/ ou qualquer diretório com dados sensíveis
- +Arquivos de configuração CI/CD (.github/workflows/, .gitlab-ci.yml)
- +Arquivos de infraestrutura (terraform/, docker-compose.prod.yml)
- +Configuração de autenticação (auth.config.ts, configurações OAuth)
Como funciona o sandboxing?
O Claude Code usa sandboxing de sistema de arquivos para restringir onde o agente pode operar. Por padrão, ele só pode acessar arquivos dentro do diretório do projeto. Você pode restringir ainda mais com regras allow/deny.
# Claude Code roda em sandbox por padrão:
# ✅ Pode ler/escrever arquivos no diretório do projeto
# ❌ Não pode acessar arquivos fora do projeto
# ❌ Não pode acessar arquivos do sistema
# ❌ Não pode acessar diretórios home de outros usuários
# Adicione diretórios extras se necessário:
claude --add-dir /caminho/para/biblioteca/compartilhadaQuais são as boas práticas de segurança do Claude Code?
- +Sempre proteja arquivos .env com regras deny
- +Use o modo Normal ao trabalhar em código sensível pela primeira vez
- +Revise o diff antes de permitir commits (Plan Mode é ótimo para isso)
- +Defina --max-budget-usd para evitar custos descontrolados
- +Use allowed-tools em Skills para limitar o que cada skill pode fazer
- +Audite as permissões dos seus servidores MCP (use conexões de banco somente-leitura)
- +Nunca use --dangerously-skip-permissions fora de CI/CD
A flag --dangerously-skip-permissions desabilita todas as verificações de permissão. Use apenas em pipelines CI/CD com inputs controlados. Nunca use em sessões de desenvolvimento local.