跳到內容

防火牆

Restorm 會攔截它自己發出的所有對外呼叫 — 您的呼叫與其依賴套件的呼叫一律 在內 — 並預設封鎖所有未知的目標。

好處很直接:某個會偷偷回報資訊的第三方程式庫,不可能在您看不見的情況下這麼做。

防火牆的授權請求:被封鎖的來源、攔截層與發起呼叫的堆疊框架,以及 Allow / Deny 兩個按鈕

依照以下順序:

  1. Restorm 在本機迴路上的內部基礎設施連接埠一律允許。
  2. 白名單允許。
  3. 從您專案衍生出的來源允許 — 也就是您各個請求的 URL,在所有環境上都 替換過 {{variables}} 之後的結果,並在樹狀清單每次變動時重新計算。
  4. 黑名單拒絕。
  5. 其餘情況會顯示一個授權請求

第 3 點是讓防火牆真正可以長期使用的關鍵:匯入一份三百個操作的規格不會引來三百個 請求,因為那些 URL 全都來自您的專案。

它會顯示:

  • 相關的來源,格式為 https://exemple.com:443
  • 攔截到這次呼叫的那一
  • 一項關於呼叫者的線索 — 發起的 URL,或是一段指出負責的 npm 套件或檔案的 堆疊回溯;
  • AllowDeny 兩個按鈕。

每一個決定都會保存到對應的名單中。

若沒有可用的視窗,或者 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 指令形式呈現。

六個工具,全部屬於 Community 版:open_firewallfirewall_list_rulesfirewall_allowfirewall_denyfirewall_list_pending_promptsfirewall_resolve_prompt。代理程式所做的任何變更都會被稽核。請參閱 MCP 工具