GBR: ADR-0011 Isolamento de Falhas para Scripts Externos via Erlang Ports (gbr_sandbox) | Wiki
Documentação de engenharia e especificações técnicas da Gleam-BR.
GBR: ADR-0011 Isolamento de Falhas para Scripts Externos via Erlang Ports (gbr_sandbox)
*Status:* Aceito *Data:* 2026-05-01
*Contexto:*
A arquitetura do sistema operacional distribuído exige que Agentes IA sejam capazes de escrever e executar scripts (Python, JavaScript, Shell) na máquina hospedeira de forma reativa. Executar código arbitrário através de invocações diretas no sistema operacional (como os:cmd ou processos filhos bloqueantes) exporia a Erlang VM (BEAM) a vazamentos de memória, travamentos de thread (Deadlocks) e picos no Garbage Collector.
*Decisão:*
-
*Adoção de Erlang Ports para Isolamento de VM:* Desenvolveu-se a biblioteca
shared/gbr_sandbox. A execução dos scripts é encapsulada através dePortsda BEAM. Isso cria um processo no Sistema Operacional totalmente fora da máquina virtual. Se o script travar, consumir 100% da CPU ou gerar falha de segmentação (Segfault), a BEAM continua intacta e apenas aPorté encerrada, retornando um erro propagável. - *Imposição de Limites Temporais (Strict Timeouts):* A biblioteca embute mecanismos obrigatórios de interrupção (Timeout) para prevenir que scripts que rodam em loops infinitos consumam recursos da máquina física permanentemente.
-
*Isolamento de Memória vs. Isolamento de Permissão:* Arquitetonicamente declarado e documentado nos cabeçalhos (
///) que esta solução garante *isolamento de falhas computacionais (Crash/Micro-GC), mas *NÃO** oferece isolamento de segurança/acesso a disco (Permission Sandboxing). O script rodará com o mesmo nível de privilégio do usuário que invocou o Agente.
*Consequências:*
-
*Positivas:* Estabilidade inabalável da VM Erlang mesmo executando códigos alienígenas gerados dinamicamente por Inteligência Artificial; tratamento explícito de erros como ausência do motor de execução (
ENOENTno hospedeiro). - *Negativas/Riscos:* Sem o isolamento de permissões, a execução de código por IAs num ambiente corporativo real ainda carrega risco de exfiltração de dados locais. O roadmap prevê a necessidade de migração para microVMs baseadas em virtualização de hardware (Firecracker) nas Fases subsequentes de segurança máxima.