Firewall
O Restorm interceta todas as suas chamadas de saída — as suas e as das suas dependências — e bloqueia por predefinição aquilo que não é conhecido.
O interesse é direto: uma biblioteca de terceiros que decida telefonar para casa não o consegue fazer sem que você o veja.

Como é dado o veredicto
Section titled “Como é dado o veredicto”Por esta ordem:
- As portas de infraestrutura internas do Restorm no loopback local são autorizadas.
- A lista branca autoriza.
- As origens derivadas do seu projeto autorizam — isto é, os URL dos seus
pedidos, depois da substituição das
{{variables}}em todos os ambientes, recalculadas a cada modificação da árvore. - A lista negra recusa.
- Caso contrário, é apresentado um pedido de autorização.
O ponto 3 é o que torna a firewall utilizável no dia a dia: importar uma especificação de trezentas operações não desencadeia trezentos pedidos, uma vez que todos esses URL vêm do seu projeto.
O pedido de autorização
Section titled “O pedido de autorização”Apresenta:
- a origem em questão, sob a forma
https://exemple.com:443; - a camada que intercetou a chamada;
- uma pista sobre quem chama — o URL iniciador, ou um rasto de pilha que nomeia o pacote npm ou o ficheiro responsável;
- dois botões Allow e Deny.
Cada decisão é persistida na lista correspondente.
Sem janela disponível, ou após 60 segundos sem resposta, a chamada é recusada automaticamente.
O painel
Section titled “O painel”Ver ▸ Firewall abre um separador único: duas listas, Whitelist (N) e
Blacklist (N), com os seus contadores em direto, uma linha por regra e o
respetivo ícone de eliminação, e ainda um campo de adição no formato
scheme://host:port.
Um botão Test outbound to google.com permite verificar que o mecanismo funciona.
As regras
Section titled “As regras”Uma regra é um trio esquema + host + porta. Os três são significativos:
http não é https, e :443 não é :8443.
Adicionar uma origem a uma lista remove-a automaticamente da outra.
São aceites dois caracteres universais:
| Forma | Efeito |
|---|---|
https://api.exemple.com:* | Todas as portas deste host |
https://*.exemple.com | Os subdomínios de um único nível |
https://*.exemple.com não cobre nem exemple.com isolado, nem
a.b.exemple.com.
Casos particulares
Section titled “Casos particulares”- As chamadas da atualização automática estão isentas: não desencadeiam nenhum pedido.
- Aos fios de execução e processos filhos é recusado todo o tráfego HTTP, sem possibilidade de pedido nem de exceção pela lista branca. Postura defensiva deliberada.
- Não existe nenhum interruptor geral para desativar a firewall. É deliberado.
A consola
Section titled “A consola”Cada chamada intercetada aparece na consola, com o seu veredicto, sob a forma de comando de shell copiável.
Por MCP
Section titled “Por MCP”Seis ferramentas, todas na edição Community: open_firewall,
firewall_list_rules, firewall_allow, firewall_deny,
firewall_list_pending_prompts e firewall_resolve_prompt. Qualquer
modificação feita por um agente é auditada. Consulte
Ferramentas MCP.