防火墙
Restorm 会拦截它自己发出的所有出站调用 —— 既包括您发出的, 也包括其依赖库发出的 —— 并默认阻止所有未知目标。
好处非常直接:某个第三方库要是想偷偷回传数据,绝不可能在您看不见的情况下做到。

判定是如何做出的
Section titled “判定是如何做出的”按以下顺序:
- Restorm 在本地回环地址上使用的内部基础设施端口一律放行。
- 白名单放行。
- 从您项目派生出的来源放行 —— 也就是您各个请求的 URL,
在所有环境上完成
{{variables}}替换之后的结果, 每次树结构发生变动都会重新计算。 - 黑名单拒绝。
- 其余情况会弹出一个授权提示。
第 3 条正是让防火墙真正可用的关键:导入一份包含三百个操作的规范说明, 并不会触发三百次提示,因为这些 URL 全都来自您的项目。
它会显示:
- 相关的来源,形式为
https://exemple.com:443; - 拦截该调用的层;
- 一条关于调用方的线索 —— 发起调用的 URL,或者一段能指出责任 npm 包或文件的栈回溯;
- Allow 和 Deny 两个按钮。
每一次决定都会被持久化到对应的名单中。
如果没有可用的窗口,或者 60 秒内无人响应,该调用会被自动拒绝。
视图 ▸ Firewall 会打开一个唯一的标签页:里面是两份名单,
Whitelist (N) 和 Blacklist (N),带有实时计数,每条规则一行并附带删除图标,
另外还有一个格式为 scheme://host:port 的添加输入框。
Test outbound to google.com 按钮可以用来验证整套机制是否正常工作。
一条规则是协议 + 主机 + 端口的三元组。三者都有意义:
http 不等于 https,:443 也不等于 :8443。
把某个来源加入其中一份名单时,它会被自动从另一份名单中移除。
支持两种通配写法:
| 写法 | 效果 |
|---|---|
https://api.exemple.com:* | 该主机的所有端口 |
https://*.exemple.com | 仅一级子域名 |
https://*.exemple.com 既不覆盖裸的 exemple.com,也不覆盖 a.b.exemple.com。
- 自动更新的调用是豁免的:它们不会触发授权提示。
- 工作线程和子进程的全部 HTTP 流量都会被拒绝,既不能弹出提示, 也不能通过白名单放行。这是一种刻意采取的防御性姿态。
- 没有用于关闭防火墙的总开关。这是有意为之。
每一次被拦截的调用都会连同其判定结果出现在控制台中, 呈现为可复制的 shell 命令。
通过 MCP
Section titled “通过 MCP”共六个工具,全部在 Community 版中可用:open_firewall、firewall_list_rules、
firewall_allow、firewall_deny、firewall_list_pending_prompts 和
firewall_resolve_prompt。智能体所做的任何修改都会被审计记录。参阅
MCP 工具。