Sandboxes de agentes de IA
Uma sandbox é um ambiente efêmero e isolado em que um agente de IA (ou você) executa código que não é de confiança: instala pacotes, roda testes, gera arquivos e sobe um servidor para mostrar o resultado. Ela pertence a um projeto, vive no máximo o tempo do seu plano e some sozinha no fim do prazo.
O que dá para fazer
- Criar uma sandbox a partir do catálogo (
python-3.13,node-24,ubuntu-24.04-dev) ou de uma imagem assinada da sua organização. - Executar comandos com a saída em tempo real (
stream), esperando o fim (sync, até 1 MiB de saída) ou em segundo plano (background). - Enviar e baixar arquivos do
/workspace(até 100 MiB por chamada, ou um diretório inteiro como.tar.gz). - Abrir um terminal interativo pelo portal ou pela CLI.
- Expor uma porta numa URL HTTPS temporária, protegida por token (ou pública, nos planos que permitem).
- Pausar e retomar (planos com
sandboxes.pause): o/workspaceé guardado cifrado e volta numa sandbox nova. - Encerrar, ou deixar o prazo encerrar por você.
Pelo SDK Python ou TypeScript, pela CLI, por um assistente de IA via MCP, pela API ou pelo portal (Projeto › Sandboxes).
Isolamento
Cada sandbox roda numa microVM própria. Dentro dela não há nenhuma credencial da plataforma, nenhum token do Kubernetes e nenhum acesso à rede do cluster. O detalhe da sandbox mostra o selo Isolamento por microVM.
Se a região não oferece microVM, o recurso fica indisponível nela: o portal mostra o aviso e a API recusa a criação
(403 isolation.kind_not_available ou 409 isolation.tier_unavailable). A plataforma nunca cai para um isolamento mais fraco
sem avisar.
Rede
A rede da sandbox começa fechada: só DNS. Um administrador da organização cria perfis de rede em Configurações › Perfis de rede de sandbox:
| Modo | O que libera |
|---|---|
BLOCKED | nada (padrão) |
ALLOWLIST | domínios da lista (aceita curinga, ex.: *.pythonhosted.org) por um proxy da plataforma, e CIDRs públicos com portas |
OPEN | a internet, menos faixas privadas e da plataforma (planos com sandboxes.openEgress) |
Toda conexão de saída aparece na aba Rede da sandbox, permitida ou negada. Nos planos com sandboxes.environmentEdges, um
perfil também pode liberar um serviço de um ambiente do mesmo projeto (por exemplo, o banco de staging), numa porta
explícita: a sandbox recebe as variáveis CODA_EDGE_* com o endereço (os nomes antigos ATLAS_EDGE_* continuam presentes).
Prazo, ociosidade e limpeza
- O TTL é contado da criação e pode ser prorrogado até o teto do plano (
sandboxes.maxLifetimeMinutes). - Uma sandbox ociosa (sem processos nem requisições nas portas) pelo tempo de ociosidade é pausada (se o plano permite) ou encerrada.
- Se a organização for restrita, ou se a plataforma acionar o kill switch, todas as sandboxes são encerradas.
- Se a microVM cair, a sandbox fica Interrompida e não volta sozinha: crie outra.
Limites e cobrança
| Starter | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Sandboxes simultâneas | 2 | 10 | 50 | 200 |
| vCPU / memória por sandbox | 2 / 2 GiB | 4 / 8 GiB | 8 / 16 GiB | 8 / 32 GiB |
| Duração máxima | 1 h | 6 h | 24 h | 24 h |
| vCPU·s por mês | 36 000 | 720 000 | 7 200 000 | 36 000 000 |
| Portas por sandbox | 1 | 5 | 20 | 50 |
| Porta pública, egress aberto, pausa | não | sim | sim | sim |
| Acesso a serviços do ambiente | não | não | sim | sim |
A cobrança é por segundo do recurso alocado (vCPU e memória) e por GB·hora de /workspace pausado. O uso aparece no detalhe
da sandbox e em Organização › Uso de sandboxes. Com 80 % da cota mensal de vCPU·s você recebe um aviso; em 100 %, as
sandboxes em execução são encerradas e novas criações recebem 422 quota.exceeded até a virada do mês ou a troca de plano.
Papéis e escopos
| Ação | Papel mínimo no projeto | Escopo do token |
|---|---|---|
| Listar e ver sandboxes, portas, uso e eventos de rede | Viewer | sandboxes:read |
| Criar, encerrar, pausar, prorrogar, arquivos e portas | Developer | sandboxes:write |
| Executar comandos e abrir terminal | Developer | sandboxes:exec |
| Perfis de rede | Admin da organização (Viewer lê) | sandboxes:write |
Use uma conta de serviço para o agente, com só os escopos sandboxes:* e só o projeto dele.