O Claude Code usa um sistema de permissões em níveis para equilibrar poder e segurança:

Tipo de FerramentaExemploAprovação NecessáriaComportamento “Sim, não pergunte novamente”
Somente leituraLeitura de arquivos, LS, GrepNãoN/A
Comandos BashExecução de shellSimPermanentemente por diretório de projeto e comando
Modificação de ArquivoEditar/escrever arquivosSimAté o fim da sessão

Ferramentas disponíveis para o Claude

O Claude Code tem acesso a um conjunto de ferramentas poderosas que o ajudam a entender e modificar sua base de código:

FerramentaDescriçãoPermissão Necessária
AgentExecuta um sub-agente para lidar com tarefas complexas de múltiplas etapasNão
BashExecuta comandos de shell em seu ambienteSim
GlobEncontra arquivos com base em padrões de correspondênciaNão
GrepPesquisa padrões no conteúdo de arquivosNão
LSLista arquivos e diretóriosNão
ReadLê o conteúdo de arquivosNão
EditFaz edições direcionadas em arquivos específicosSim
WriteCria ou sobrescreve arquivosSim
NotebookEditModifica células de notebooks JupyterSim
NotebookReadLê e exibe conteúdos de notebooks JupyterNão
WebFetchBusca conteúdo de uma URL especificadaSim

As regras de permissão podem ser configuradas usando /allowed-tools ou nas configurações de permissão.

Proteção contra injeção de prompt

A injeção de prompt é uma técnica onde um atacante tenta substituir ou manipular as instruções de um assistente de IA inserindo texto malicioso. O Claude Code inclui várias salvaguardas contra esses ataques:

  • Sistema de permissões: Operações sensíveis requerem aprovação explícita
  • Análise contextual: Detecta instruções potencialmente prejudiciais analisando a solicitação completa
  • Sanitização de entrada: Previne injeção de comandos processando entradas do usuário
  • Lista de bloqueio de comandos: Bloqueia comandos arriscados que buscam conteúdo arbitrário da web como curl e wget

Melhores práticas para trabalhar com conteúdo não confiável:

  1. Revise os comandos sugeridos antes da aprovação
  2. Evite canalizar conteúdo não confiável diretamente para o Claude
  3. Verifique as alterações propostas em arquivos críticos
  4. Relate comportamento suspeito com /bug

Embora essas proteções reduzam significativamente o risco, nenhum sistema é completamente imune a todos os ataques. Sempre mantenha boas práticas de segurança ao trabalhar com qualquer ferramenta de IA.

Configurar acesso à rede

O Claude Code requer acesso a:

  • api.anthropic.com
  • statsig.anthropic.com
  • sentry.io

Inclua essas URLs na lista de permissões ao usar o Claude Code em ambientes conteinerizados.

Implementação de referência de contêiner de desenvolvimento

O Claude Code fornece uma configuração de contêiner de desenvolvimento para equipes que precisam de ambientes consistentes e seguros. Esta configuração de devcontainer pré-configurada funciona perfeitamente com a extensão Remote - Containers do VS Code e ferramentas similares.

As medidas de segurança aprimoradas do contêiner (isolamento e regras de firewall) permitem que você execute claude --dangerously-skip-permissions para ignorar solicitações de permissão para operação não assistida. Incluímos uma implementação de referência que você pode personalizar para suas necessidades.

Embora o devcontainer forneça proteções substanciais, nenhum sistema é completamente imune a todos os ataques. Sempre mantenha boas práticas de segurança e monitore as atividades do Claude.

Principais recursos

  • Node.js pronto para produção: Construído no Node.js 20 com dependências de desenvolvimento essenciais
  • Segurança por design: Firewall personalizado restringindo o acesso à rede apenas aos serviços necessários
  • Ferramentas amigáveis ao desenvolvedor: Inclui git, ZSH com melhorias de produtividade, fzf e mais
  • Integração perfeita com VS Code: Extensões pré-configuradas e configurações otimizadas
  • Persistência de sessão: Preserva histórico de comandos e configurações entre reinicializações de contêiner
  • Funciona em qualquer lugar: Compatível com ambientes de desenvolvimento macOS, Windows e Linux

Começando em 4 passos

  1. Instale o VS Code e a extensão Remote - Containers
  2. Clone o repositório de implementação de referência do Claude Code
  3. Abra o repositório no VS Code
  4. Quando solicitado, clique em “Reopen in Container” (ou use a Paleta de Comandos: Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

Detalhamento da configuração

A configuração do devcontainer consiste em três componentes principais:

  • devcontainer.json: Controla configurações do contêiner, extensões e montagens de volume
  • Dockerfile: Define a imagem do contêiner e ferramentas instaladas
  • init-firewall.sh: Estabelece regras de segurança de rede

Recursos de segurança

O contêiner implementa uma abordagem de segurança em várias camadas com sua configuração de firewall:

  • Controle de acesso preciso: Restringe conexões de saída apenas para domínios na lista de permissões (registro npm, GitHub, API da Anthropic, etc.)
  • Política de negação por padrão: Bloqueia todo outro acesso externo à rede
  • Verificação de inicialização: Valida regras de firewall quando o contêiner inicializa
  • Isolamento: Cria um ambiente de desenvolvimento seguro separado do seu sistema principal

Opções de personalização

A configuração do devcontainer é projetada para ser adaptável às suas necessidades:

  • Adicione ou remova extensões do VS Code com base em seu fluxo de trabalho
  • Modifique alocações de recursos para diferentes ambientes de hardware
  • Ajuste permissões de acesso à rede
  • Personalize configurações de shell e ferramentas de desenvolvimento