Przejdź do głównej zawartości

Zapora

Restorm przechwytuje wszystkie swoje wywołania wychodzące — zarówno te zlecone przez użytkownika, jak i te pochodzące z jego zależności — i domyślnie blokuje wszystko, co nie jest znane.

Korzyść jest bezpośrednia: zewnętrzna biblioteka, która zechciałaby dzwonić do domu, nie zrobi tego niezauważona.

Żądanie autoryzacji zapory: zablokowane źródło, warstwa przechwytująca i wywołująca ramka oraz przyciski Allow / Deny

W tej kolejności:

  1. Wewnętrzne porty infrastruktury aplikacji Restorm w pętli lokalnej są dozwolone.
  2. Biała lista zezwala.
  3. Źródła wywiedzione z projektu zezwalają — chodzi o adresy URL żądań, po podstawieniu {{variables}} we wszystkich środowiskach, przeliczane przy każdej zmianie drzewa.
  4. Czarna lista odmawia.
  5. W przeciwnym razie wyświetlane jest żądanie autoryzacji.

Punkt 3 jest tym, co czyni zaporę znośną w codziennej pracy: import specyfikacji z trzystu operacjami nie wywołuje trzystu pytań, ponieważ wszystkie te adresy URL pochodzą z projektu.

Wyświetla:

  • źródło, o które chodzi, w postaci https://exemple.com:443;
  • warstwę, która przechwyciła wywołanie;
  • wskazówkę na temat wywołującego — adres URL inicjujący albo fragment stosu wskazujący odpowiedzialny pakiet npm lub plik;
  • dwa przyciski, Allow i Deny.

Każda decyzja jest utrwalana na odpowiedniej liście.

Jeśli żadne okno nie jest dostępne albo po 60 sekundach bez odpowiedzi, wywołanie zostaje automatycznie odrzucone.

Widok ▸ Firewall otwiera pojedynczą zakładkę: dwie listy, Whitelist (N) i Blacklist (N), wraz z licznikami na bieżąco, jeden wiersz na regułę z ikoną kosza, a także pole dodawania w formacie scheme://host:port.

Przycisk Test outbound to google.com pozwala sprawdzić, że mechanizm działa.

Reguła to trójka schemat + host + port. Wszystkie trzy elementy mają znaczenie: http nie jest tym samym co https, a :443 nie jest tym samym co :8443.

Dodanie źródła do jednej listy automatycznie usuwa je z drugiej.

Akceptowane są dwa znaki wieloznaczne:

PostaćEfekt
https://api.exemple.com:*Wszystkie porty tego hosta
https://*.exemple.comPoddomeny tylko jednego poziomu

https://*.exemple.com nie obejmuje ani samej exemple.com, ani a.b.exemple.com.

  • Wywołania automatycznej aktualizacji są zwolnione: nie wywołują żądania autoryzacji.
  • Wątki wykonania i procesy potomne mają odmawiany cały ruch HTTP, bez możliwości zapytania ani nadpisania przez białą listę. Świadomie przyjęta postawa defensywna.
  • Nie ma wyłącznika głównego, który dezaktywowałby zaporę. Jest to zamierzone.

Każde przechwycone wywołanie pojawia się w konsoli wraz ze swoim werdyktem, w postaci polecenia powłoki gotowego do skopiowania.

Sześć narzędzi, wszystkie w edycji Community: open_firewall, firewall_list_rules, firewall_allow, firewall_deny, firewall_list_pending_prompts oraz firewall_resolve_prompt. Każda zmiana dokonana przez agenta jest audytowana. Zob. Narzędzia MCP.