Caiu ou Não?Pesquisar serviço
PT
Agentes e segurança

Claude Code --restricted podia anexar arquivos externos: como corrigir

A Anthropic corrigiu sessões --restricted que podiam anexar arquivos fora das pastas de trabalho quando uma regra Read permitia o caminho. Veja quem precisa agir.

Computador exibindo uma sessão restrita do Claude Code limitada às pastas de trabalho

Resposta rápida

A versão 2.1.316 do Claude Code, publicada pela Anthropic em 31 de outubro de 2026, corrige sessões iniciadas com --restricted que ainda podiam anexar arquivos de fora das pastas de trabalho quando uma regra de permissão Read abrangia o caminho. Se você usa esse modo em avaliação, automação, servidor compartilhado ou CI, execute claude --version e atualize qualquer instalação que ainda não tenha a 2.1.316 ou uma versão posterior.

Depois da atualização, revise regras Read que apontam para diretórios externos e faça um teste com um arquivo fictício, nunca com um segredo real. A nota oficial documenta a correção, mas não publica CVE, severidade, primeira versão afetada nem evidência de exploração. Uma sessão antiga é motivo para revisão, não prova de que um arquivo foi transmitido.

O que foi corrigido no --restricted

O modo --restricted foi criado para executar o Claude Code em harnesses de avaliação em máquinas compartilhadas. A referência oficial informa que ele confina ferramentas de arquivo às pastas de trabalho, carrega apenas configurações gerenciadas e aquelas passadas por --settings, recusa bypassPermissions e sessões em nuvem e remove ferramentas capazes de executar comandos ou buscar conteúdo na web, salvo quando forem nomeadas explicitamente em --tools.

A falha corrigida estava no tratamento de anexos: uma regra Read permitida podia fazer um arquivo externo entrar na sessão apesar do limite esperado das pastas de trabalho. A documentação atual diz que, com --restricted ou permissions.blockReadsOutsideWorkingDirectories, anexos vindos de caminhos recusados ficam de fora. A correção da 2.1.316 alinha esse comportamento com a fronteira descrita para o modo.

Quem precisa verificar agora

A ação é prioritária para equipes que iniciam o CLI com claude --restricted e, ao mesmo tempo, possuem regras permissions.allow do tipo Read apontando para caminhos fora do diretório principal. Isso inclui laboratórios de avaliação, agentes executados em hosts compartilhados, jobs de CI e integrações que adicionam arquivos ao contexto de forma automática.

Quem não usa --restricted não está no cenário específico descrito nessa nota de versão. Mesmo assim, padronizar a versão evita que um script antigo ou um ambiente secundário volte a usar o modo sem a correção. O próprio --restricted exige Claude Code 2.1.248 ou posterior; a proteção permissions.blockReadsOutsideWorkingDirectories requer 2.1.257 ou posterior.

  • Procure --restricted nos workflows, scripts de bootstrap, serviços e comandos de CI.
  • Localize arquivos passados por --settings e as regras permissions.allow com Read.
  • Liste diretórios adicionados por --add-dir e confirme se cada um é necessário para a tarefa.
  • Execute claude --version no mesmo usuário, contêiner e imagem que rodam o agente.
  • Não copie tokens, conteúdo de arquivos ou histórico de sessão para tickets de inventário.

Como atualizar e comprovar a versão

Na instalação nativa, o Claude Code procura atualizações automaticamente e aplica a nova versão quando o processo é reiniciado. Para não depender apenas desse ciclo, use claude update, feche sessões antigas e confira novamente com claude --version. Rode claude doctor se o binário não atualizar ou se houver dúvida sobre o método de instalação.

Instalações por Homebrew e WinGet usam o gerenciador do sistema e não recebem o atualizador nativo. A documentação informa que o canal estável do Homebrew pode ficar cerca de uma semana atrás do lançamento mais recente; se a 2.1.316 ainda não estiver disponível no canal aprovado pela organização, suspenda temporariamente o uso de --restricted com regras externas até a correção chegar, em vez de presumir que o upgrade foi aplicado.

  • Instalação nativa: execute claude update, reinicie o processo e rode claude --version.
  • Homebrew: execute brew upgrade --cask claude-code ou atualize o cask do canal adotado pela equipe.
  • WinGet: execute winget upgrade Anthropic.ClaudeCode e abra um novo terminal.
  • Confirme Claude Code 2.1.316 ou posterior em cada imagem, contêiner e runner.
  • Execute claude doctor quando o caminho, o canal ou a atualização não corresponderem ao esperado.

Revise permissões sem abrir acesso amplo

No modo restrito, não conte com configurações de projeto, usuário ou local para estabelecer a fronteira: a referência do CLI diz que somente a política gerenciada e o arquivo informado por --settings são carregados. Mantenha nesses locais as regras mínimas exigidas pela tarefa e remova Read amplo sobre diretórios externos que tenha sido adicionado apenas para contornar um erro antigo.

Quando outro diretório realmente fizer parte do trabalho, declare-o como pasta de trabalho com --add-dir e revise o alcance antes de iniciar. Como defesa adicional, permissions.blockReadsOutsideWorkingDirectories: true impede leituras fora das pastas de trabalho e é respeitado quando ativado em qualquer escopo. Regras Read de negação continuam úteis para áreas sensíveis, mas não substituem a atualização do binário.

  • Abra somente o arquivo gerenciado ou passado por --settings usado pela execução restrita.
  • Remova padrões Read externos que não tenham proprietário e justificativa atuais.
  • Prefira --add-dir para uma pasta necessária em vez de liberar uma árvore maior por padrão.
  • Ative permissions.blockReadsOutsideWorkingDirectories: true como camada adicional quando compatível com o fluxo.
  • Mantenha credenciais e chaves fora das pastas acessíveis ao agente.

Como testar sem usar um segredo real

Crie um projeto descartável e, fora dele, um arquivo de texto sem informação sensível, com um marcador fácil de reconhecer. Inicie o Claude Code atualizado com --restricted, usando a mesma configuração controlada da automação, e tente adicionar esse arquivo externo como anexo. O conteúdo deve ser recusado ou ficar fora da sessão. Em seguida, confirme que um arquivo comum dentro do projeto continua acessível.

Não inclua Bash, WebFetch ou outras ferramentas desnecessárias em --tools para esse teste. Não use uma chave real como marcador e não faça a validação em um repositório de produção. O objetivo é comprovar a fronteira documentada depois da atualização, não reproduzir o comportamento antigo em um ambiente com dados reais.

  • Crie um diretório temporário para o projeto e um arquivo fictício em outro diretório.
  • Use uma configuração mínima, sem regra Read externa, e inicie a sessão com --restricted.
  • Tente anexar o arquivo fictício externo e confirme que ele não entra no contexto.
  • Abra um arquivo de exemplo dentro do projeto e confirme o funcionamento normal.
  • Apague os artefatos de teste e registre somente versão, comando e resultado esperado.

O que revisar se a versão antiga foi usada

Primeiro identifique sessões anteriores à atualização que combinaram --restricted, uma regra Read externa e tentativa de anexar arquivos. Preserve o histórico e os registros disponíveis conforme a política da organização. Procure referências a arquivos externos no contexto, em transcrições ou no sistema que recebeu a sessão, sem republicar o conteúdo potencialmente sensível.

Não troque credenciais apenas porque o binário estava abaixo da 2.1.316: a nota não afirma exploração nem diz que todas as sessões anexaram arquivos. Se os registros mostrarem que uma chave ou outro segredo entrou de fato no contexto ou foi enviado a um destino, revogue e substitua o material conforme o alcance confirmado e acione o processo de resposta a incidentes.

É falha local ou indisponibilidade do Claude?

O comportamento descrito depende da versão e da configuração do CLI local. A página Claude Status ajuda a identificar uma indisponibilidade ampla do serviço, mas não mostra qual binário está instalado, quais pastas foram abertas nem quais regras Read estão ativas. Portanto, um status operacional não elimina a necessidade de atualizar e testar a fronteira local.

Se o CLI não iniciar, falhar na autenticação ou perder conexão em vários ambientes ao mesmo tempo, consulte o status antes de mudar permissões. Se a dúvida é se um arquivo externo pode entrar na sessão restrita, confirme versão, flags e configuração; não atribua esse resultado à página de status.

Limitações e próxima ação útil

Este guia foi verificado em 1º de novembro de 2026 nas notas oficiais da versão 2.1.316 e na documentação de CLI, permissões, configurações e instalação do Claude Code. A Anthropic não informou nessa nota uma CVE, severidade, data inicial de introdução ou exploração ativa. O texto também não comprova que um arquivo permitido por Read tenha sido enviado em qualquer sessão específica.

A próxima ação é executar claude --version onde --restricted realmente roda, atualizar para 2.1.316 ou posterior, remover permissões Read externas desnecessárias e validar a fronteira com um arquivo fictício. Só depois reative jobs suspensos e registre a versão final na imagem ou no inventário para evitar regressão.

Faça o próximo teste

Fontes consultadas

Os links abaixo servem para conferir conceitos, orientações oficiais e o critério editorial usado neste conteúdo.

Outros guias ligados ao mesmo tipo de problema.