Desenvolvimento

Sandboxes para agentes de IA: execute código sem expor a produção

Quando um agente escreve código, abre um navegador ou aciona uma ferramenta, o prompt deixa de ser apenas texto e passa a comandar computação real. Um sandbox reduz o raio de impacto: cada execução recebe ambiente efêmero, acesso mínimo e fronteiras que não dependem da boa intenção do modelo.

9 de novembro de 202613 min de leituraEquipe ProativaIA
Agente de inteligência artificial enviando código e ferramentas para uma câmara computacional isolada com limites de rede, arquivos temporários e saída validada

Um agente recebe uma planilha e gera Python para calcular margem por cliente. O resultado parece simples, mas o script pode consumir toda a memória, ler variáveis do serviço, acessar a rede ou sobrescrever arquivos. Se ele rodar no mesmo processo da aplicação, um erro ou uma instrução maliciosa encontrada nos dados alcança ativos que nunca deveriam estar disponíveis.

Em 28 de outubro de 2026, o GitHub tornou seus sandboxes de nuvem o ambiente padrão de sessões do Copilot, separados da máquina local e retomáveis por snapshots. O Google Cloud já havia colocado em prévia pública sandboxes do Cloud Run para código não confiável, com inicialização em milissegundos, bloqueio de egress por padrão e overlay temporário. O sinal de mercado é claro: sandbox para agentes de IA tornou-se componente de arquitetura, não detalhe de laboratório.

O que um sandbox realmente protege?

Sandbox é uma fronteira de execução entre o agente e o sistema hospedeiro. Ele não torna o código correto; limita o que um código incorreto ou hostil consegue ver, modificar e comunicar. Para tarefas de maior risco, essa fronteira pode ser uma microVM ou outro isolamento reforçado. Para cargas menores, runtimes dedicados podem equilibrar segurança e tempo de inicialização.

Processo e recursos

CPU, memória, tempo, número de processos e disco precisam de cotas. Um loop infinito deve terminar sem derrubar o serviço. A imagem base deve ser mínima, imutável e versionada, com somente os runtimes e pacotes necessários.

Credenciais e identidade

O sandbox não deve herdar segredos, variáveis de ambiente ou identidade ampla do host. Quando uma tarefa precisa consultar um sistema, use token curto, escopo por operação e um proxy de ferramentas que valide argumentos. A permissão expira junto com a execução.

Rede com negação por padrão

Bloqueie saída por padrão e libere apenas destinos, métodos e volumes necessários. Assim, prompt injection, pacote comprometido ou código gerado não ganha um canal genérico para exfiltrar dados. DNS, redirecionamentos e endereços privados também precisam entrar na política.

Sistema de arquivos descartável

Disponibilize uma visão somente leitura do runtime e grave alterações em camada temporária. Entradas devem ser copiadas de forma explícita; saídas, inspecionadas antes da exportação. Ao encerrar, destrua o ambiente e conserve apenas logs e artefatos autorizados.

Sandbox não substitui autorização

Isolamento contém execução, mas não decide se uma ação de negócio é permitida. Um agente dentro de uma microVM ainda pode chamar uma API legítima com parâmetros perigosos. Combine sandbox, identidade própria do agente, política de ferramentas, confirmação humana para efeitos irreversíveis e idempotência.

Separe também plano de raciocínio e plano de execução. O modelo propõe uma ação estruturada; um controlador determinístico valida esquema, permissão, destino, orçamento e risco; somente então o executor cria o sandbox. Essa divisão facilita auditoria e evita que texto livre vire comando privilegiado.

Arquitetura de referência

  1. Orquestrador: recebe a tarefa, classifica o risco e escolhe a política.
  2. Preparador: monta imagem versionada, entradas sanitizadas e credencial temporária.
  3. Sandbox: executa com limites de tempo, CPU, memória, disco e rede.
  4. Gateway de ferramentas: restringe APIs, valida parâmetros e registra efeitos.
  5. Validador de saída: verifica tipo, tamanho, malware, dados pessoais e regras de negócio.
  6. Trilha de auditoria: relaciona usuário, agente, versão, código, política, ferramentas e resultado.

Exemplo prático: agente analista de dados

O usuário pede uma análise de churn. O agente recebe um arquivo anonimizado, escreve Python e solicita execução. O controlador fixa uma imagem com bibliotecas aprovadas, limita a 60 segundos, 2 GB de memória e sem internet. O sandbox gera tabela e gráfico; o validador impede a saída de colunas identificadoras e publica apenas os artefatos aprovados.

Se for necessário buscar uma taxa oficial, o acesso não vira internet aberta: o gateway consulta uma API permitida, normaliza o resultado e o devolve ao sandbox. A trilha registra versão do script, hash da entrada, dependências, chamada e saída. A empresa consegue reproduzir a análise sem entregar suas credenciais ao modelo.

Como escolher o nível de isolamento

  • baixo risco: expressão curta sobre dados não sensíveis, sem rede e com runtime restrito;
  • risco moderado: código gerado, arquivos internos ou navegador; ambiente efêmero e identidade temporária;
  • alto risco: dados sensíveis, binários desconhecidos ou ferramentas com efeito; microVM, gateway rigoroso e aprovação;
  • proibido: operação sem como limitar, auditar ou reverter.

Considere latência, densidade, compatibilidade, custo por execução, velocidade de patch e capacidade de observação. “Rodar em contêiner” não é resposta suficiente: documente qual fronteira impede acesso a kernel, metadata, credenciais, rede e dados de outros tenants.

Checklist para produção

  • imagem mínima, assinada e atualizada;
  • nenhum segredo herdado do host;
  • egress negado por padrão e allowlist explícita;
  • limites de CPU, memória, tempo, processos e armazenamento;
  • filesystem efêmero e exportação validada;
  • ferramentas com esquema, autorização e idempotência;
  • logs sem dados sensíveis, correlacionados por execução;
  • testes contra fuga, abuso de recursos, SSRF e prompt injection;
  • kill switch, revogação de credenciais e descarte confirmado.

Da prova de conceito à operação segura

O salto de um agente que sugere código para um agente que o executa muda a categoria de risco. A arquitetura precisa assumir que modelo, entrada, pacote ou página podem se comportar de forma inesperada. Sandboxes transformam essa incerteza em limites verificáveis.

A ProativaIA desenvolve agentes e automações empresariais, software sob medida e integrações com gateways, políticas e observabilidade. Podemos projetar o executor, a matriz de permissões e os controles necessários para seu caso de uso.

Referências