Artigo publicado

Seu agente de codificação de IA lê todos os seus outros projetos e segredos. Esse é um problema que vale a pena resolver.

Claude Code, Cursor e agentes semelhantes leem arquivos em todo o seu sistema de arquivos. Por que isso é um problema real de isolamento, e o sandbox por projeto criptografado que eu construí para contê-lo sem matar a usabilidade.

Seu agente de codificação de IA lê todos os seus outros projetos e segredos. Esse é um problema que vale a pena resolver.
Publicado 5 de junho de 2026Atualizado 11 de julho de 2026
  • security
  • devtools
  • agents
  • encryption
  • isolation

Claude Code, Cursor e ferramentas semelhantes navegam pelo seu sistema de arquivos em busca de contexto. Eles leem arquivos, acessam contas conectadas e executam scripts em seu nome.

Isso funciona bem com um único contexto na sua máquina. Coloque seu código de trabalho e projetos pessoais no mesmo ambiente e as fronteiras desaparecem. O agente não tem conceito de qual projeto ele deve permanecer. Ele pode ler código proprietário de um contexto enquanto trabalha em outro, usar credenciais do projeto errado ou executar uma tarefa que quebre coisas em ambos ao mesmo tempo. Para quem trabalha em diferentes escopos de projetos, puxar padrões de uma base de código para outra é um risco, e agentes que navegam pelo seu sistema de arquivos tornam isso fácil de fazer sem perceber.

Eu construí secure-env-manager para isolamento de ambiente no nível do sistema operacional.

Ele funciona em cima do software de código aberto Distrobox com reforço de segurança adicional, gerenciamento e melhorias na experiência do usuário.


Isolamento

A ferramenta cria ambientes de desenvolvimento separados usando containers Distrobox, cada um com armazenamento opcionalmente criptografado com LUKS. Os ambientes (trabalho, pessoal, uni) são contextos totalmente independentes.

Sistema de arquivos. O diretório home do host é mascarado dentro do container com um mount tmpfs vazio. Um processo em trabalho não pode ler arquivos de pessoal. Os arquivos não existem na visão do container. Isso vai contra o comportamento padrão do Distrobox de sempre montar o host para melhor experiência de compartilhamento de arquivos entre ambientes; montar o host nesse caso derrotaria o propósito do isolamento de segurança; portanto, apenas o usuário SUDO da máquina host pode mover arquivos para os sub-ambientes.

Aplicações e estado. Cada ambiente recebe sua própria instalação do VS Code ou Cursor, seu próprio navegador e sua própria configuração de terminal. Abra o Cursor em trabalho e ele estará conectado à conta Git correta com as extensões corretas. Mude para pessoal e nada disso é transferido. O script pode ser facilmente personalizado para instalar suas aplicações e personalizações preferidas, fornecendo ambientes de desenvolvimento facilmente replicáveis e isolados.

Sessões de navegador e contas. Cada ambiente tem suas próprias sessões conectadas e perfis de navegador. Um agente que abre uma aba do navegador em trabalho não estará conectado a uma conta pessoal.

Chaves SSH. A ferramenta gera chaves por ambiente automaticamente. As identidades Git de trabalho e pessoal usam keyrings separados.

Armazenamento criptografado (opcional). Para ambientes que lidam com código ou dados sensíveis, o armazenamento de backup é uma imagem esparsa criptografada com LUKS que é bloqueada quando o ambiente é fechado.


Ferramentas agentic mudaram o cálculo

Há alguns anos, manter os contextos separados era um problema de disciplina. Você tinha que carregar código ou credenciais de um lugar para outro manualmente.

Ferramentas agentic removeram essa fricção na direção errada. Claude Code e Cursor navegam pelo sistema de arquivos em busca de contexto, leem arquivos relacionados, executam scripts e chamam APIs, muitas vezes vários passos além da sua solicitação original. Um agente que cruza uma fronteira de contexto que você não quis abrir pode ler código que não deveria tocar ou expor dados a um provedor não autorizado para aquele contexto.

O isolamento por containers limita tudo isso. Um agente em trabalho vê apenas o que pertence ao trabalho.


Usabilidade

A maioria dos desenvolvedores não resolve isso porque as abordagens óbvias matam o fluxo de trabalho. Máquinas separadas são caras. VMs são muito lentas e quebram os fluxos de trabalho de GUI dos quais o desenvolvimento depende.

Distrobox preserva a integração total com o host. A configuração cria lançadores de área de trabalho para os aplicativos de cada ambiente. work-cursor, work-chrome, personal-code. A troca de contextos é um clique. Os aplicativos abrem como janelas nativas sem sobrecarga de VM.

Áudio exigiu o maior trabalho. O usuário desenvolvedor do container executa como UID 1001, mas o soquete PulseAudio do host pertence a UID 1000. Um proxy socat dentro do container atravessa essa lacuna de UID, então microfone e alto-falantes funcionam para chamadas de vídeo sem dar ao container acesso elevado ao host.

O acesso à webcam passa por um mount de dispositivo explícito. A configuração grava uma regra udev automaticamente. O display X11 usa autorização SI:localuser, limitada ao usuário autenticado atual, em vez de estar aberto a qualquer processo no sistema.


Trade-offs e modelo de segurança

Acesso a arquivos do host. O home do host é mascarado com um mount tmpfs vazio. Do ponto de vista do container, esses arquivos não existem. A criptografia LUKS em repouso mantém os dados dos outros ambientes fora do alcance, independentemente do que roda dentro do container.

Elevação de privilégio. O container retira todas as capacidades do Linux, adicionando de volta apenas três para depuração e suporte ao sudo. A elevação dentro do container encontra um sistema de arquivos mascarado com nada sensível do outro lado. O usuário desenvolvedor não tem pertencimento ao grupo docker, o que fecha o caminho mais comum de escape de container.

X11 é a superfície residual principal. Um processo comprometido com acesso X11 pode ler entrada ou conteúdo de tela de outros clientes X11 no mesmo display. Este projeto lida com contaminação acidental e raio de explosão agentic, bem como ataques à cadeia de suprimentos direcionados ao roubo de credenciais até certo ponto. Não é um ambiente VM de DevSecOps totalmente isolado e não pretende ser assim; ameaças persistentes e avançadas não são consideradas.


A configuração

Três ambientes: trabalho para engenharia, pessoal para código aberto e projetos laterais, uni para pesquisa de mestrado. Cada um tem um editor independente, sessão de navegador e identidade SSH. A troca é um clique no lançador.

Após a configuração inicial, o isolamento fica invisível. Qualquer coisa que tente cruzá-lo falha limpidamente.


Código aberto, script bash: github.com/joaojhgs/secure-env-manager. Apenas Linux (Ubuntu 22.04+, Fedora 38+), requer Podman + Distrobox + cryptsetup.

Configure o isolamento antes de um agente cruzar uma fronteira que você não quis abrir.

Publicado originalmente no LinkedIn.

Projetos relacionados: escrita pública