Como a Mercari distribuiu o Claude Code internamente com segurança

@hermes_code
JAPONÊShá 2 dias · 14/07/2026
836K
941
91
3
2.8K

TL;DR

Este artigo detalha a estrutura de segurança da Mercari para a implantação do Claude Code, incluindo configurações JSON específicas para bloquear comandos perigosos e proteger arquivos confidenciais.

"Eu entendo que é conveniente. Mas, honestamente, não é assustador que a IA execute comandos nos PCs dos funcionários?"

Esta é a preocupação mais comum que ouço de executivos ao apoiar a implementação de IA. Uma IA que permanece dentro de um navegador, como o ChatGPT, não é tão intimidante. Mas o Claude Code lê arquivos nos computadores dos funcionários, executa comandos e acessa a internet. "Eu sei que torna as coisas mais rápidas. Mas quem assume a responsabilidade se um acidente ocorrer?" Muitas empresas provavelmente ficam presas nesse ponto.

Uma grande corporação forneceu uma resposta para essa ansiedade. A Mercari compartilhou recentemente suas "configurações de segurança e métodos de distribuição" usados ao implantar o Claude Code para centenas de funcionários durante uma sessão de estudo.

Além disso, o conteúdo não era sobre sistemas proprietários e caros. Ao preparar e distribuir um único arquivo de configuração, até mesmo pequenas e médias empresas (PMEs) podem replicar grande parte disso.

A razão pela qual a Mercari conseguiu distribuir para centenas de pessoas não foi um mecanismo de alto custo, mas um único "arquivo de configuração que os funcionários não podem remover". As PMEs podem fazer o mesmo a partir de hoje.

Neste artigo, vou detalhar o design da Mercari da forma mais simples possível, cobrindo "o que temer", "como a Mercari gerenciou isso" e "por onde sua empresa pode começar". Vou adicionar explicações para termos técnicos à medida que aparecem, para que executivos não engenheiros e PMs possam acompanhar.

Você pode encontrar os materiais de apresentação referenciados aqui:

(Configurações de Segurança de Implantação da Organização Claude Code da Mercari / Speaker Deck).

A sintaxe exata das configurações foi verificada em relação à documentação oficial da Anthropic.

Por que o Claude Code é "Conveniente, mas Assustador"?

Primeiro, vamos esclarecer a natureza do medo. Sinto que se você apenas copiar as configurações sem entender isso, não saberá o que está realmente protegendo.

O que torna o Claude Code diferente do chat de IA padrão é que ele pode agir por conta própria dentro do seu computador local. Ele pode procurar e ler arquivos, reescrevê-los e executar comandos de shell (comandos digitados em um terminal). Ele também pode acessar a internet. Em outras palavras, quase tudo que você pode fazer naquele computador, a IA também pode fazer.

Especificamente, o que poderia dar errado? Os computadores geralmente contêm coisas que você não quer que sejam vistas:

  • Informações que atuam como senhas para nuvens ou APIs (arquivos de configuração como .env, ~/.aws/credentials, etc.)
  • Chaves para fazer login em servidores (conteúdo de ~/.ssh/)
  • Arquivos importantes que seriam desastrosos se deletados

A IA não tem malícia. No entanto, devido a instruções ambíguas ou comandos incorporados em textos suspeitos na web (conhecidos como injeção de prompt), ela pode acidentalmente ler esses arquivos secretos e enviá-los para a internet, ou deletar itens importantes usando o comando rm. A documentação oficial da Anthropic recomenda um design que restrinja as permissões com base nesses riscos (Configurações de Permissão - Oficial).

Em resumo, há três coisas a proteger: evitar que informações secretas vazem, evitar que operações perigosas sejam realizadas automaticamente e restringir o escopo do que pode ser tocado em primeiro lugar. As medidas da Mercari se tornam muito mais fáceis de entender quando lidas através dessas três lentes.

Detalhando as "5 Medidas" da Mercari

A apresentação da Mercari resumiu cinco grandes medidas. Vamos analisar "o propósito" e "como implementar" cada uma.

Observe que os slides da apresentação focam nos conceitos e não incluem todos os detalhes do arquivo de configuração. Portanto, apresentarei isso na forma de "como implementar as políticas da Mercari usando as configurações oficiais do Claude Code." Os nomes das chaves e a sintaxe são todos verificados a partir dos documentos oficiais da Anthropic.

Medida ①: Tornar a Confirmação Humana "Não Ignorável"

O Claude Code tem um modo que prossegue automaticamente sem pedir confirmação a cada vez. Embora seja conveniente para desenvolvedores em seus PCs experimentais, permitir isso ao distribuir para todos em uma empresa remove os freios de segurança.

A Mercari desativou esse "modo de ignorar confirmação". Oficialmente, configurações como permissions.disableBypassPermissionsMode (e disableAutoMode para bloquear o modo automático) estão disponíveis. Definir estas como "disable" impede que os usuários entrem nesses modos. Além disso, se colocadas nas "configurações gerenciadas" descritas posteriormente, os funcionários não podem desativá-las por conta própria (Configurações de Permissão - Oficial).

O significado é simples: impõe a regra de que "um humano deve dar o OK antes que a IA mova as mãos" em toda a empresa.

Medida ②: Parar Comandos Perigosos, ou Sempre Confirmar

Em seguida, colocamos uma coleira nos próprios comandos. Por exemplo, curl (um comando para buscar dados da internet). Se usado livremente, pode se tornar um caminho para enviar arquivos secretos para fora.

No Claude Code, você pode definir uma lista deny para comandos específicos e uma lista ask que requer confirmação antes da execução. A sintaxe se parece com isso:

json
1{
2 "permissions": {
3 "deny": [
4 "Bash(curl:*)",
5 "Bash(wget:*)"
6 ],
7 "ask": [
8 "Bash(git push:*)"
9 ]
10 }
11}

Bash(curl:*) significa "bloquear todos os comandos que começam com curl" (o :* no final representa "qualquer coisa depois disso"). Uma nota importante: os documentos oficiais afirmam que tentar permitir curl apenas para destinos específicos como o GitHub é facilmente contornado via redirecionamentos. Portanto, a recomendação oficial é bloquear completamente a comunicação com a internet e unificar as buscas necessárias através de uma porta segura separada (Configurações de Permissão - Oficial). Essa "porta segura" é o WebFetch (um recurso integrado do Claude Code para recuperação de internet), onde os destinos podem ser colocados em uma lista de permissões.

Medida ③: Impedir a Leitura de Arquivos Secretos e Modificação do Sistema

Também bloqueamos o acesso às próprias informações secretas, como arquivos .env onde residem as senhas ou o comando sudo usado para alterações profundas no sistema.

json
1{
2 "permissions": {
3 "deny": [
4 "Read(.env)",
5 "Read(.env.*)",
6 "Read(**/.ssh/**)",
7 "Bash(sudo:*)"
8 ]
9 }
10}

Escrever Read(.env) torna o .env ilegível em qualquer nível abaixo da pasta de trabalho. Uma coisa a saber para segurança é que, embora essa lista de negação funcione contra a leitura de arquivos pelo próprio Claude ou comandos óbvios como cat, ela não pode parar completamente um script escrito pela IA de abrir um arquivo secretamente em segundo plano (Configurações de Permissão - Oficial). É por isso que a Medida ④ é necessária.

Medida ④: Cercar o "Alcance" com uma Sandbox

Enquanto uma lista de negação trata de traçar limites para comandos específicos, uma sandbox cria uma parede no nível do sistema operacional. Ela restringe fisicamente a IA de tocar em qualquer coisa fora da pasta de trabalho ou de se conectar a qualquer coisa que não sejam domínios de internet permitidos.

json
1{
2 "sandbox": {
3 "enabled": true,
4 "network": {
5 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
6 }
7 }
8}

Quando ativada, mesmo que a IA acidentalmente alcance um arquivo secreto, ela não consegue acessá-lo porque está fora da "sandbox". Os documentos oficiais explicam que você deve sobrepor tanto a lista de negação (Medidas ② e ③) quanto a sandbox para a fronteira final (Sandboxing - Oficial). Pense nisso como ter regras individuais e uma cerca de perímetro.

Uma restrição: A sandbox funciona em macOS, Linux e WSL2 (Linux no Windows), mas não é suportada no Windows nativo. Em ambientes de trabalho centrados no Windows, a decisão seria fortalecer as configurações de permissão nas Medidas ①–③.

Medida ⑤: Fazer a IA Ler "O que Proteger" Toda Vez

Finalmente, um ângulo diferente das configurações rígidas: escrever a política de segurança da empresa em um manual de instruções que a IA lê toda vez. Se as configurações são "cadeados físicos", isso é como uma "revisão das regras do local de trabalho".

Existem várias maneiras técnicas de fazer isso, e não está claro pelos materiais qual delas a Mercari usou. No entanto, a maneira mais fácil é colocar um arquivo chamado CLAUDE.md diretamente na pasta de trabalho e listar as regras internas lá. O Claude Code lê esse arquivo toda vez.

markdown
1# Solicitações de Segurança
2- Não abra arquivos .env ou de chave (~/.ssh/, etc.)
3- Não envie informações de clientes ou segredos comerciais para serviços externos
4- Sempre confirme com um humano antes de executar operações de exclusão ou publicação

Ação para hoje: Apenas colar essas três linhas em um arquivo CLAUDE.md adiciona uma camada de senso comum ao comportamento da IA. Você pode começar com isso antes mesmo dos arquivos de configuração.

Ação para hoje: Você não precisa implementar tudo de uma vez. Comece adicionando apenas a linha Read(.env) da Medida ③ a um arquivo de configuração chamado .claude/settings.json. Crie uma pasta chamada .claude (incluindo o ponto inicial) na sua pasta de projeto e salve um arquivo de texto chamado settings.json dentro dela. Se quiser que se aplique a todos os projetos, coloque-o em ~/.claude/settings.json no seu diretório home. Você pode começar com o movimento mais eficaz: impedir que a IA leia arquivos secretos.

A Verdadeira Habilidade da Mercari Estava na "Distribuição"

Até agora, cobrimos "o que configurar". A apresentação da Mercari foi particularmente prática porque abordou como distribuir essas configurações para centenas de pessoas.

Normalmente, os arquivos de configuração são colocados no computador de cada pessoa (configurações do usuário), o que significa que os funcionários podem reescrevê-los. Isso leva a situações em que "as configurações de segurança foram distribuídas, mas alguém as desativou".

Para resolver isso, a Mercari usou MDM (Gerenciamento de Dispositivos Móveis — um sistema para empresas gerenciarem PCs de funcionários) para distribuir simultaneamente "configurações gerenciadas" que os funcionários não podem sobrescrever. O Claude Code tem um local designado para configurações gerenciadas que têm prioridade sobre as configurações individuais e não podem ser alteradas pelo usuário. No macOS, é /Library/Application Support/ClaudeCode/managed-settings.json (Configurações - Oficial). Ao escrever as Medidas ①–④ aqui, elas não podem ser flexibilizadas no local.

Ainda mais inteligente foi diferenciar os níveis de segurança para engenheiros e não engenheiros:

  • Para Engenheiros: Configurações que permitem alguma personalização e não atrapalham muito a produtividade.
  • Para Não Engenheiros: As configurações padrão mais seguras, com menos espaço para ajustes.

Mesmo para a mesma ferramenta, eles ajustaram o comprimento da coleira com base na alfabetização do usuário. Se todos forem estritamente restritos, o trabalho para; se todos forem relaxados, ocorrem acidentes. Eles resolveram isso variando as configurações distribuídas.

Onde as PMEs Podem Começar a Replicar

A maioria das empresas provavelmente não tem MDM. Tudo bem. Você pode extrair as partes do design da Mercari que funcionam independentemente do tamanho.

Tudo o que você precisa fazer é distribuir um único arquivo com configurações de segurança e fazê-lo ser colocado. Se você tiver MDM, distribua como uma configuração gerenciada; se não, compartilhe e diga: "Por favor, coloque este settings.json na sua pasta .claude/". A aplicação é menor, mas a direção é a mesma.

Como um conjunto mínimo, combinar as Medidas ①–③ se parece com isso. Recomendo usar isso como base e adicionar quaisquer comandos específicos que sua empresa queira banir.

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 }
17}

De cima para baixo: desativar a ignorar confirmação, bloquear comunicação com a internet e operações administrativas, proibir leitura de arquivos secretos e sempre confirmar exclusão ou publicação. Mesmo que você não entenda o conteúdo, funcionará se copiar e colar.

Se estiver distribuindo para não engenheiros, recomendo a versão mais segura, que adiciona a sandbox (Medida ④). Combinar as duas configurações em um único arquivo se parece com isso:

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 },
17 "sandbox": {
18 "enabled": true,
19 "network": {
20 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
21 }
22 }
23}

Simplesmente coloquei permissions e sandbox lado a lado, separados por uma vírgula. Altere allowedDomains para corresponder aos serviços que sua empresa usa. Lembre-se, a sandbox funciona em macOS, Linux e WSL2.

O que sempre digo às pessoas ao apoiar a implementação é: não pare porque está buscando a perfeição. Mesmo que você não consiga construir uma defesa em várias camadas como a da Mercari imediatamente, proteger o .env com uma única linha reduz significativamente a probabilidade de um acidente.

Ação para hoje: Se pelo menos uma pessoa na sua empresa está começando a usar o Claude Code, compartilhe o conjunto mínimo acima como texto e peça para ela colar em .claude/settings.json. É um tamanho perfeito para um ensaio de distribuição.

Armadilhas: 3 Coisas a Saber Antes de Distribuir Configurações

Por se tratar de endurecimento de segurança, há pontos que são perigosos se mal compreendidos.

  1. "Escrever uma lista de negação" não significa que é perfeitamente seguro. Como mencionado na Medida ③, uma lista de negação não pode parar tudo que um script pode fazer em segundo plano. Mesmo que você pare o curl, outros métodos de comunicação podem permanecer. Se você quer realmente cercar, não se esqueça da premissa de sobrepor com uma sandbox (Medida ④).
  2. Não confie na filtragem por argumentos. A própria Anthropic adverte que permissões condicionais, como permitir curl apenas para uma URL específica, são facilmente quebradas. É mais robusto bloquear coisas perigosas completamente e fornecer uma alternativa segura.
  3. Não apenas distribua configurações e pronto. Mesmo que você imponha configurações gerenciadas, não adianta nada se os funcionários instalarem outras ferramentas suspeitas por conta própria. As configurações são um "mecanismo para reduzir acidentes" e funcionam melhor quando combinadas com educação sobre o uso. É aqui que a Medida ⑤, "fazê-los ler as regras", finalmente entra em ação.

FAQ para Usuários Intermediários

P. Há algum sentido em configurar isso para uso pessoal?

Sim. O critério é se há informações secretas naquele computador, não se é para uma empresa. Freelancers e desenvolvedores individuais ainda têm .env e ~/.ssh/ localmente. No mínimo, é mais seguro incluir a proibição de leitura da Medida ③.

P. Restringir permissões não tornará a IA inútil?

É uma questão de como você as restringe. Comandos somente leitura (como ls ou cat) funcionam sem confirmação por padrão, então o trabalho diário raramente para. O que para são operações como exclusão, publicação e comunicação com a internet — coisas que doem se derem errado. Na verdade, ao mudar para "humanos só verificam quando é perigoso", você pode expandir com segurança o alcance do que você deixa a IA fazer automaticamente.

P. Qual é a diferença entre `settings.json` e configurações gerenciadas (`managed-settings.json`)?

O local e a "força" diferem. settings.json na pasta .claude/ de um projeto é uma configuração compartilhada que qualquer um pode editar. managed-settings.json é distribuído pela empresa e não pode ser alterado pelo usuário. Para indivíduos ou grupos pequenos, o primeiro é suficiente; mude para o segundo quando chegar ao estágio em que "é um problema se alguém afrouxar as configurações".

P. Posso usar o mesmo raciocínio para Cursor ou outras ferramentas de codificação de IA?

As coisas que você quer proteger (segredos, operações perigosas, alcance) são as mesmas, então o conceito se aplica. No entanto, a sintaxe e a presença de sandboxing variam de ferramenta para ferramenta, então considere esta notação settings.json específica para o Claude Code. Se estiver usando outras ferramentas, o atalho é aplicar essas mesmas três perspectivas às respectivas documentações oficiais.

Resumo: De "Não Use" para "Distribua com Segurança"

Quando recebo consultas sobre implementação de IA, a resposta mais comum costumava ser "É perigoso, então ainda não podemos deixá-los usar". Mas essa decisão também joga fora toda a conveniência.

A Mercari nos mostrou uma saída dessa escolha binária. Desative a ignorar confirmação, pare operações perigosas, proíba tocar em arquivos secretos, cerque com uma sandbox e faça-os ler as regras. Em seguida, distribua para todos como configurações que não podem ser adulteradas. É um design que muda de "proibido porque é assustador" para "distribuído com uma coleira porque é assustador".

  • Alvos a proteger: Evitar vazamento de segredos / Evitar operações perigosas / Restringir o alcance.
  • As 5 Medidas da Mercari: Desativar ignorar, restringir comandos perigosos, proibir arquivos secretos, sandbox e leitura de regras.
  • Distribuição: Use configurações gerenciadas que o usuário não pode sobrescrever, diferenciadas por alfabetização.

Finalmente, aqui estão três passos para começar hoje:

  1. Adicione `Read(.env)` ao seu próprio computador: Comece proibindo a leitura de arquivos secretos. Este é o movimento único mais eficaz.
  2. Crie um único arquivo com o conjunto mínimo: Com base no exemplo de permissions acima, adicione comandos que sua empresa queira parar.
  3. Distribua para uma pessoa na empresa para testar: Peça para ela colar em .claude/settings.json e verifiquem juntos que o trabalho não para.

O primeiro passo é apenas uma linha para proteger o .env. Você pode sobrepor uma defesa perfeita em várias camadas, uma a uma, a partir daí. Por que não colocar esse primeiro arquivo hoje e mudar de "parar porque é assustador" para "delegar com uma coleira"?

Links de Referência

Recriar no YouMind

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Para criadores

Transforme o seu Markdown num artigo 𝕏 impecável

Quando publica os seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown num artigo 𝕏 impecável e pronto a publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais