Falhas no Claude Code permitem execução de código e exposição de chaves de API

Falhas no Claude Code permitem execução de código e exposição de chaves de API

Configurações de projeto em repositórios não confiáveis podiam acionar comandos, contornar aprovação de usuário e redirecionar tráfego autenticado antes do alerta de confiança.

ComponenteClaude Code, assistente de codificação com IA da Anthropic, especialmente fluxos de inicialização de projeto, Hooks, servidores MCP, variáveis de ambiente e arquivos de configuração locais.
VetorUsuário clona e abre um repositório não confiável contendo configurações em .claude/settings.json, .mcp.json ou variável ANTHROPIC_BASE_URL manipulada.
ImpactoExecução arbitrária de comandos no ambiente do desenvolvedor, contorno de aprovação para integrações MCP e divulgação de chaves de API da Anthropic por redirecionamento de requisições autenticadas.
PrioridadeAtualizar Claude Code para versões corrigidas, tratar configurações de projeto como superfície executável e bloquear abertura automática de repositórios não confiáveis em ambientes com credenciais ativas.
VersõesFalha sem CVE corrigida na versão 1.0.87 em setembro de 2025; CVE-2025-59536 corrigida na versão 1.0.111 em outubro de 2025; CVE-2026-21852 corrigida na versão 2.0.65 em janeiro de 2026.
ArtefatosArquivos .claude/settings.json, .mcp.json, claude/settings.json, opção enableAllProjectMcpServers e variável ANTHROPIC_BASE_URL aparecem como elementos relevantes no fluxo de exploração.
Resumo técnico

Múltiplas vulnerabilidades no Claude Code expuseram uma mudança importante no modelo de risco de ferramentas de desenvolvimento assistidas por IA: configurações de projeto passaram a influenciar diretamente execução local, integrações externas e comunicação autenticada. O caso envolve falhas que podiam ser acionadas quando um desenvolvedor iniciava o Claude Code dentro de um repositório controlado por terceiro. A condição central não era a execução manual de um programa malicioso pelo usuário, mas a presença de arquivos e parâmetros de configuração capazes de alterar o comportamento do assistente durante a carga inicial do projeto.

O conjunto descrito inclui execução arbitrária de comandos por mecanismos de Hooks e MCP, além de divulgação de chaves de API da Anthropic por manipulação de variável de ambiente. A falha identificada como CVE-2026-21852 afetava o fluxo de carregamento de projeto: se o repositório definisse ANTHROPIC_BASE_URL para um endpoint controlado por atacante, o Claude Code podia emitir requisições de API antes de exibir o aviso de confiança ao usuário. Com isso, tráfego autenticado e credenciais associadas à sessão ativa ficavam expostos a uma infraestrutura externa sem que a decisão de confiar no projeto tivesse sido concluída.

Outra vulnerabilidade, CVE-2025-59536, envolvia configurações definidas em .mcp.json e claude/settings.json. O problema permitia que um repositório definisse a opção enableAllProjectMcpServers como verdadeira e, com isso, contornasse aprovação explícita antes da interação com ferramentas e serviços externos pelo Model Context Protocol. Uma terceira falha, sem CVE informado no material analisado, também envolvia bypass de consentimento em novo diretório e execução por Hooks não confiáveis definidos em .claude/settings.json. As três correções foram entregues em versões distintas do Claude Code entre setembro de 2025 e janeiro de 2026.

Fluxo técnico

O fluxo de ataque parte de uma premissa comum em ambientes de engenharia: desenvolvedores abrem repositórios de terceiros para revisão, teste, contribuição ou triagem. Em ferramentas tradicionais, o risco primário costuma estar associado à execução explícita de scripts, dependências ou binários presentes no projeto. No Claude Code, as falhas mostram que a camada de automação ao redor do código também pode se tornar parte da superfície de execução. Arquivos de configuração, servidores MCP declarados pelo projeto, Hooks e variáveis de ambiente deixam de ser apenas contexto operacional e passam a alterar ações do assistente durante a inicialização.

Na falha de divulgação de informação, o ponto crítico era a ordem das operações. O repositório malicioso podia configurar ANTHROPIC_BASE_URL para redirecionar chamadas do Claude Code a uma infraestrutura externa. O comportamento vulnerável ocorria antes da apresentação do prompt de confiança, etapa que deveria separar projetos não confiáveis de projetos aprovados pelo usuário. Como as requisições eram autenticadas, a chave de API ativa podia ser enviada ao endpoint configurado pelo atacante. O impacto técnico confirmado é a exposição de credenciais de API; consequências posteriores, como acesso a arquivos compartilhados, alteração ou remoção de dados armazenados em nuvem, envio de conteúdo malicioso e geração inesperada de custos de API, dependem das permissões associadas à chave exposta.

No caso de CVE-2025-59536, o abuso ocorre no caminho de inicialização das integrações MCP. O Model Context Protocol permite que assistentes interajam com ferramentas e serviços externos, e por isso o processo de aprovação do usuário é parte crítica do controle de segurança. Quando um projeto definia enableAllProjectMcpServers como verdadeiro, a configuração podia enfraquecer essa barreira e permitir inicialização automática de servidores MCP definidos pelo próprio repositório. O resultado descrito é execução de comandos de shell no momento da inicialização de ferramentas em um diretório não confiável, sem a confirmação esperada para aquela interação.

A falha sem CVE informado seguia lógica semelhante de consentimento insuficiente, mas por meio de Hooks definidos em .claude/settings.json. Hooks são mecanismos de automação que podem acionar ações quando determinados eventos do fluxo da ferramenta acontecem. Em um projeto controlado por atacante, essa capacidade permitia transformar a simples inicialização do assistente em um gatilho para comandos locais. O ponto operacional relevante para defesa é que não é necessário assumir que o usuário executou um payload manualmente; a investigação deve considerar a abertura do repositório, a carga do diretório e a leitura de configurações como eventos potencialmente acionadores.

Superfície afetada

A superfície afetada concentra-se em estáções de desenvolvimento que usam Claude Code com credenciais ativas da Anthropic e que abrem repositórios não confiáveis ou recém-clonados. Ambientes com tokens persistentes, variáveis de ambiente globais, configuração automática de assistentes e integração com serviços externos por MCP apresentam maior exposição, porque a falha combina credenciais disponíveis no host com arquivos fornecidos pelo projeto. A exploração não depende de um pacote específico, linguagem de programação ou aplicação em produção; o componente sensível é o fluxo local de carga do projeto no assistente.

A prioridade de triagem deve recair sobre máquinas de desenvolvedores, ambientes de CI/CD que executem ou inicializem Claude Code em diretórios obtidos de fontes externas, repositórios usados para análise de código não confiável e estáções onde chaves de API tenham escopo amplo. Como o impacto de CVE-2026-21852 envolve tráfego autenticado para endpoint controlado por atacante, a exposição real depende de quais credenciais estavam disponíveis no momento da abertura do repositório. Como CVE-2025-59536 e a falha de Hooks envolvem execução de comandos, a consequência local depende das permissões do usuário do sistema operacional e dos recursos acessíveis por aquele contexto.

  • Estáções com Claude Code em versões anteriores a 1.0.87, 1.0.111 ou 2.0.65, conforme a falha aplicável.
  • Repositórios com arquivos .claude/settings.json, .mcp.json ou claude/settings.json recebidos de terceiros.
  • Ambientes com ANTHROPIC_BASE_URL definido pelo projeto ou alterado durante a carga do diretório.
  • Configurações que habilitam servidores MCP de projeto por enableAllProjectMcpServers sem revisão explícita.
Hunting e telemetria

A investigação deve começar pela correlação entre abertura de repositórios não confiáveis, inicialização do Claude Code e eventos de rede ou execução local imediatamente subsequentes. Para CVE-2026-21852, a principal evidência é tráfego de API originado do ambiente do desenvolvedor para destino que não corresponda ao endpoint esperado da Anthropic, especialmente antes de qualquer aprovação explícita de confiança no projeto. Logs de proxy, DNS, EDR e controle de saída podem mostrar requisições para domínios incomuns logo após a abertura de um diretório recém-clonado.

Para os cenários de execução por Hooks e MCP, a telemetria mais útil está no endpoint. Equipes devem revisar criação de processos filhos iniciados a partir do contexto do Claude Code, shells acionados sem ação interativa clara, leitura de arquivos de configuração do projeto seguida por execução de comandos e inicialização de servidores MCP definidos no repositório. A análise deve evitar focar apenas em scripts tradicionais de build, porque o gatilho descrito está na configuração do assistente e não necessariamente em arquivos de automação convencionais do projeto.

Também é importante revisar histórico de repositórios abertos no período anterior à atualização, presença de configurações suspeitas em diretórios de trabalho e alterações em variáveis de ambiente relacionadas ao Claude Code. Quando houver suspeita de exposição de chave, a busca deve incluir chamadas de API fora do padrão, aumento inesperado de consumo, acessos a recursos compartilhados e alterações em conteúdo armazenado em nuvem feitas após o evento de abertura do repositório. Esses sinais não provam exploração isoladamente, mas ajudam a delimitar escopo e orientar revogação de credenciais.

  • Requisições autenticadas para endpoint diferente do serviço esperado após carga de repositório recém-clonado.
  • Processos de shell iniciados pelo contexto do Claude Code durante inicialização de diretório.
  • Arquivos .claude/settings.json, .mcp.json ou claude/settings.json adicionando Hooks, servidores MCP ou enableAllProjectMcpServers.
  • Alterações ou leituras de ANTHROPIC_BASE_URL dentro de projetos não confiáveis.
  • Consumo anômalo de API ou atividade em recursos vinculados à chave após abertura de projeto suspeito.
Mitigação

A ação principal é atualizar o Claude Code para versões que contenham as correções aplicáveis. A falha sem CVE informado foi corrigida na versão 1.0.87, CVE-2025-59536 na versão 1.0.111 e CVE-2026-21852 na versão 2.0.65. Organizações devem validar a versão instalada em estáções de desenvolvimento e em qualquer automação que inicialize o assistente em diretórios de projeto. A atualização deve ser acompanhada por revisão de processos, porque o caso mostra que repositórios não confiáveis precisam ser tratados como fontes de configuração executável, não apenas como código a ser lido.

Para reduzir risco residual, repositórios externos devem ser abertos em ambientes isolados, sem chaves de API persistentes e sem acesso amplo a serviços internos. Credenciais da Anthropic usadas por desenvolvedores devem ter escopo mínimo, rotação controlada e monitoramento de consumo. Quando houver suspeita de exposição por ANTHROPIC_BASE_URL, a resposta deve incluir revogação ou rotação da chave, revisão de chamadas feitas durante o intervalo de exposição e análise de possíveis alterações em arquivos compartilhados, dados armazenados em nuvem e custos gerados por uso não autorizado.

Controles preventivos devem bloquear ou sinalizar configurações de projeto que habilitem automações sensíveis sem revisão. Arquivos .claude/settings.json, .mcp.json e claude/settings.json em repositórios de terceiros merecem inspeção antes da inicialização do assistente. Equipes de AppSec e engenharia podem adicionar verificações em fluxos de revisão para identificar enableAllProjectMcpServers, Hooks de projeto e variáveis que alterem endpoint de API. Em endpoints corporativos, regras de detecção devem priorizar o encadeamento entre leitura desses arquivos, criação de processos e conexões externas incomuns.

A contenção deve ser proporcional ao impacto observado. Se houver apenas presença de configuração suspeita, a resposta pode se limitar a remoção do projeto, atualização do cliente, análise de telemetria e rotação preventiva da chave exposta ao ambiente. Se houver execução de comandos ou tráfego para infraestrutura externa, o host deve ser tratado como potencialmente comprometido dentro dos limites do usuário local: coletar evidências, preservar logs, revisar persistência criada após a abertura do repositório e validar que nenhuma integração MCP não autorizada permaneceu configurada.

  • Atualizar Claude Code para 2.0.65 ou versão posterior quando aplicável ao ambiente.
  • Rotacionar chaves de API da Anthropic quando houver indício de redirecionamento por ANTHROPIC_BASE_URL.
  • Abrir repositórios não confiáveis em ambiente isolado, sem credenciais persistentes e sem acesso a dados sensíveis.
  • Revisar arquivos .claude/settings.json, .mcp.json e claude/settings.json antes de inicializar ferramentas assistidas por IA.
  • Monitorar execução de shells, inicialização de servidores MCP e tráfego externo durante a carga de projetos recém-clonados.

Postar um comentário

0 Comentários