Gleam.br Wiki

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:*

  1. *Adoção de Erlang Ports para Isolamento de VM:* Desenvolveu-se a biblioteca shared/gbr_sandbox. A execução dos scripts é encapsulada através de Ports da 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 a Port é encerrada, retornando um erro propagável.
  2. *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.
  3. *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 (ENOENT no 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.