Zum Inhalt springen

Firewall

Restorm fängt alle seine ausgehenden Aufrufe ab — Ihre eigenen ebenso wie die seiner Abhängigkeiten — und blockiert standardmäßig, was nicht bekannt ist.

Der Nutzen liegt auf der Hand: Eine Drittbibliothek, die nach Hause telefonieren würde, tut das nicht, ohne dass Sie es sehen.

Die Freigabeanfrage der Firewall: der blockierte Ursprung, die abfangende Schicht und der aufrufende Kontext, sowie die Schaltflächen Allow / Deny

In dieser Reihenfolge:

  1. Die internen Infrastruktur-Ports von Restorm auf der Loopback-Adresse werden zugelassen.
  2. Die Whitelist lässt zu.
  3. Die aus Ihrem Projekt abgeleiteten Ursprünge lassen zu — also die URLs Ihrer Anfragen, nach Auflösung der {{variables}} über alle Umgebungen hinweg, neu berechnet bei jeder Änderung des Baums.
  4. Die Blacklist verweigert.
  5. Andernfalls wird eine Freigabeanfrage angezeigt.

Punkt 3 ist es, der die Firewall alltagstauglich macht: Der Import einer Spezifikation mit dreihundert Operationen löst nicht dreihundert Anfragen aus, da all diese URLs aus Ihrem Projekt stammen.

Sie zeigt:

  • den betroffenen Ursprung, in der Form https://exemple.com:443;
  • die Schicht, die den Aufruf abgefangen hat;
  • einen Hinweis auf den Aufrufer — die auslösende URL oder einen Stack-Trace, der das npm-Paket oder die verantwortliche Datei benennt;
  • zwei Schaltflächen Allow und Deny.

Jede Entscheidung wird in der jeweiligen Liste dauerhaft gespeichert.

Ohne verfügbares Fenster oder nach 60 Sekunden ohne Antwort wird der Aufruf automatisch verweigert.

Ansicht ▸ Firewall öffnet einen einzelnen Tab: zwei Listen, Whitelist (N) und Blacklist (N), mit live aktualisierten Zählern, einer Zeile pro Regel samt Papierkorb, sowie einem Eingabefeld im Format schema://host:port.

Eine Schaltfläche Test outbound to google.com erlaubt zu prüfen, ob der Mechanismus funktioniert.

Eine Regel ist ein Tripel aus Schema + Host + Port. Alle drei sind relevant: http ist nicht https, und :443 ist nicht :8443.

Das Hinzufügen eines Ursprungs zu einer Liste entfernt ihn automatisch aus der anderen.

Zwei Platzhalter werden akzeptiert:

FormWirkung
https://api.exemple.com:*Alle Ports dieses Hosts
https://*.exemple.comDie Subdomains einer einzigen Ebene

https://*.exemple.com deckt weder das nackte exemple.com noch a.b.exemple.com ab.

  • Die Aufrufe der automatischen Aktualisierung sind ausgenommen: Sie lösen keine Freigabeanfrage aus.
  • Threads und Kindprozesse wird jeglicher HTTP-Verkehr verweigert, ohne Möglichkeit einer Freigabeanfrage oder einer Überschreibung durch die Whitelist. Bewusst defensive Haltung.
  • Es gibt keinen Hauptschalter, um die Firewall zu deaktivieren. Das ist Absicht.

Jeder abgefangene Aufruf erscheint in der Konsole, mit seinem Urteil, als kopierbarer Shell-Befehl.

Sechs Werkzeuge, alle in der Community-Edition: open_firewall, firewall_list_rules, firewall_allow, firewall_deny, firewall_list_pending_prompts und firewall_resolve_prompt. Jede von einem Agenten vorgenommene Änderung wird protokolliert. Siehe MCP-Werkzeuge.