Segurança e supervisãoAtualizado 2026-08-22 · Versão 1.0

Execução em Sandbox

Execute tudo o que um agente gera ou invoca dentro de um ambiente isolado e descartável, sem credenciais ambientais, com sistema de arquivos limitado, saída controlada e limites rígidos de recursos. O sandbox não existe porque o agente seja malicioso, mas porque a entrada dele pode ser.

Evidência: Observação do setorConfiança: AltaFonte: Observação do setorFonte: Experiência pessoalFonte: Paper

Definição

Execução em sandbox é a prática de rodar o código gerado pelo agente e as ações que ele invoca dentro de um ambiente isolado e efêmero cujo sistema de arquivos, rede, credenciais e recursos são limitados pelo host e não pelo agente, de modo que um agente sequestrado ou equivocado não afete nada fora dele.

Problema

Um agente que executa código no host herda o host: suas credenciais, seu sistema de arquivos, sua posição de rede. Uma injeção bem-sucedida ou um comando confiantemente errado passam a ser indistinguíveis de um comprometimento da máquina.

Quando usar

Use sempre que um agente executar código, rodar comandos de shell, instalar pacotes ou processar arquivos não confiáveis. O limiar é baixo: se o agente pode provocar execução, a execução vai para um sandbox.

Solução

Torne-o efêmero. Crie o ambiente por tarefa, destrua ao final e não carregue estado que a próxima tarefa não pediu. A persistência é como um comprometimento pontual vira ponto de apoio.

Remova as credenciais ambientais. Nada no ambiente deveria ser utilizável só por estar presente; injete apenas os segredos restritos de que a tarefa precisa, pelo tempo dela.

Limite o sistema de arquivos ao conjunto de trabalho. Monte o repositório ou a entrada e nada mais, e monte como somente leitura tudo o que não precisa de escrita.

Restrinja a saída dentro do sandbox, não em volta dele. Do ponto de vista do atacante, o isolamento e a política de rede são o mesmo controle, e um sandbox com rede aberta é uma cela com telefone.

Limite recursos: CPU, memória, disco, tempo de relógio, número de processos. O consumo descontrolado é o modo de falha que chega primeiro e com mais frequência, normalmente sem adversário algum.

Registre o que cruzou a fronteira: quais arquivos entraram, quais saíram, quais destinos foram alcançados. A fronteira só é útil se você puder ver o que passou por ela.

Componentes

Uma primitiva de isolamento: contêiner, microVM ou equivalente, escolhida pela força que a carga exige.Gestão de ciclo de vida efêmero, com a destruição como comportamento padrão e não como etapa de limpeza.Um caminho de injeção de segredos restrito à tarefa e à duração dela.Uma política de rede aplicada dentro da fronteira do sandbox.Cotas de recursos e timeouts aplicados pelo host.Registro de fronteira: entradas, saídas e destinos.

Benefícios

  • Converte «o agente executou algo ruim» de incidente em contêiner descartado.
  • Torna seguro dar a um agente capacidade real de execução, que costuma ser justamente o que o torna útil.
  • Limita erros honestos tanto quanto ataques: o mesmo controle pega um laço infinito e um payload injetado.
  • Dá um bom lugar para observar: tudo o que a tarefa tocou cruzou uma única fronteira.

Riscos

  • Isolamento mais fraco do que o suposto: um kernel compartilhado não é fronteira de segurança contra um escape determinado, e tratar um contêiner como microVM é um erro de categoria.
  • Credenciais contrabandeadas por conveniência: um único arquivo de configuração montado desfaz o padrão inteiro.
  • Sandboxes que ficam persistentes em silêncio porque reconstruir é lento, e com isso some a efemeridade que sustentava a garantia.
  • Escape pela superfície compartilhada que resta: volumes montados, a API do orquestrador ou a rede que o sandbox ainda alcança.

Quando não usar

  • Agentes somente leitura sem capacidade de execução, onde não há o que isolar e o custo não compra nada.
  • Caminhos em linha críticos em latência onde a inicialização do ambiente domina a tarefa e um controle mais estreito cabe melhor: um interpretador restrito, uma função pura.
  • Quando o sandbox precisaria justamente das credenciais que ele existe para reter, o que é sinal de que a tarefa deve ser dividida em vez de isolada.

Tecnologias

ContainersmicroVMs (Firecracker / gVisor)Ephemeral workspacesResource quotas and timeoutsScoped secret injection

Exemplos

  • Um agente de programação que clona em um contêiner novo por tarefa, com o repositório montado, sem credenciais de nuvem presentes e com saída limitada ao registry de pacotes. Uma instalação de dependência maliciosa destrói um contêiner e nada mais.
  • Um agente de análise de dados que executa Python gerado em uma microVM com o dataset montado somente leitura, sem rede alguma e com limite de tempo de relógio. O código gerado pode estar errado; não pode sair caro nem exfiltrar.
  • Um agente de processamento de documentos que abre PDFs não confiáveis dentro de um ambiente descartável, porque um exploit de parser em um arquivo enviado é um caminho real até o host e o arquivo veio de fora.

KPIs

Percentual de execuções em sandbox
O número de cobertura. O que roda fora do sandbox é a postura de segurança real, independentemente do que a parte de dentro faça.
Tempo de vida do sandbox
Quanto duram os ambientes. Vidas crescentes significam que a efemeridade está erodindo para persistência.
Batidas em limites de recursos
Tarefas interrompidas por cota ou timeout. Uma mistura útil de gerações descontroladas e limites legítimos apertados demais.
Segredos presentes em execução
Número de credenciais alcançáveis dentro do ambiente. O alvo é o mínimo de que a tarefa precisa, e muitas vezes zero.

Modos de falha observados

  • A montagem por conveniência: um diretório home, um arquivo de credenciais ou um socket montados para que uma tarefa parasse de falhar.
  • Reutilização persistente: o ambiente deixa de ser por tarefa porque reconstruir custa demais, então estado e comprometimento sobrevivem.
  • Saída aberta dentro da fronteira: isolamento forte com rede livre é contenção apenas contra o sistema de arquivos.
  • Alcance ao orquestrador: o sandbox consegue chamar a API que gerencia sandboxes, o que é escapar por design e não por exploit.

Lições aprendidas

  • Isole a execução antes de confiar na geração. O sandbox é o que torna razoável deixar um agente rodar código.
  • O efêmero é a propriedade de segurança; o isolamento sozinho apenas adia o problema.
  • A credencial que não está presente não pode ser roubada — e é o único controle que resiste depois de um escape.
  • A maioria das ativações do sandbox são erros honestos, não ataques. Isso é o padrão funcionando, não prova de que era desnecessário.

FAQs

Um contêiner basta ou preciso de microVM?
Depende do que roda dentro. Para código próprio com risco de injeção, um contêiner endurecido sem credenciais e com saída limitada costuma ser proporcional. Para código arbitrário de origem não confiável, assuma que o kernel compartilhado pode ser escapado e use uma microVM.
Em que difere de ferramentas com privilégio mínimo?
O privilégio mínimo limita o que o agente pode pedir; o sandbox limita o que acontece quando algo executa mesmo assim. Um governa a requisição, o outro o ambiente em que ela roda, e agentes que executam código precisam dos dois.
O sandbox deixa tudo mais lento. Compensa?
Compare com o custo da alternativa, não com zero. Quase toda a latência é a inicialização do ambiente, que pools e imagens pré-aquecidas removem em boa parte; a falha que ele evita é um comprometimento do host que roda o agente.

Referências