Bezpieczeństwo

Zaufane foldery

Kontroluj, które projekty mogą korzystać z pełnych możliwości Bob Shell dzięki zabezpieczeniom zaufanych folderów.

Zaufane foldery

Zaufane foldery dają ci kontrolę nad tym, które projekty mogą być używane z Bob Shell. Musisz zatwierdzić folder, zanim Bob Shell załaduje jakiekolwiek konfiguracje specyficzne dla projektu, chroniąc cię przed potencjalnie złośliwym kodem.

Uwaga:

Funkcja zaufanych folderów jest domyślnie wyłączona. Aby ją włączyć, otwórz menu /settings i ustaw Folder Trust na true. Aby zmiana zaczęła działać, wymagane jest ponowne uruchomienie.

Jak działają zaufane foldery

Gdy uruchamiasz Bob Shell z folderu po raz pierwszy, automatycznie pojawia się okno dialogowe zaufania z prośbą o dokonanie wyboru:

  • Ufaj folderowi: Przyznaj pełne zaufanie bieżącemu folderowi (na przykład mój-projekt)
  • Ufaj folderowi nadrzędnemu: Przyznaj zaufanie katalogowi nadrzędnemu (na przykład bezpieczne-projekty), co automatycznie ufa wszystkim jego podkatalogom. Użyj tej opcji, jeśli przechowujesz wszystkie bezpieczne projekty w jednej lokalizacji
  • Nie ufaj: Oznacz folder jako niezaufany. Bob Shell działa w ograniczonym trybie bezpiecznym

Twój wybór jest zapisywany w ~/.bob/trustedFolders.json, więc pytanie pojawia się tylko raz na folder.

Wpływ niezaufanych folderów

Gdy folder jest niezaufany, Bob Shell działa w ograniczonym trybie bezpiecznym. Następujące funkcje są wyłączone lub ignorowane:

FunkcjaZachowanie w trybie bezpiecznym
Ustawienia projektu.bob/settings.json nie jest ładowany. Niestandardowe narzędzia i potencjalnie niebezpieczne konfiguracje są blokowane.
Automatyczne zatwierdzanie narzędziPrzed uruchomieniem każdego narzędzia zawsze zostaniesz zapytany, nawet jeśli masz globalnie włączone automatyczne zatwierdzanie.
Serwery MCPBob Shell nie będzie próbował połączyć się z żadnymi serwerami MCP.
Tryby niestandardoweTryby zdefiniowane w folderze projektu są niedostępne. Możesz używać tylko trybów wbudowanych i swoich trybów zdefiniowanych globalnie.
SkillsSkills dołączone do projektu nie są ładowane. Aktywne pozostają tylko skills dostępne globalnie i wbudowane możliwości.
SubagentsNiestandardowe subagents z folderu projektu są niedostępne. Agent nie może delegować pracy do pomocników dostarczonych przez projekt.
Instrukcje projektuPliki z wytycznymi, takie jak AGENTS.md, oraz niestandardowe reguły projektu nie są odczytywane. Agent działa bez niestandardowych instrukcji projektu.

Przyznanie zaufania folderowi odblokowuje pełną funkcjonalność Bob Shell dla danego obszaru roboczego.

Zarządzanie ustawieniami zaufania

Jak rozstrzygane jest zaufanie
Bob Shell sprawdza ~/.bob/trustedFolders.json, aby zobaczyć, czy istnieje już decyzja dla bieżącego folderu.
Zmiana zaufania bieżącego folderu
Uruchom polecenie ukośnikowe /permissions z poziomu Bob Shell. Pojawi się interaktywne okno dialogowe umożliwiające zmianę poziomu zaufania dla bieżącego folderu.
Przeglądanie wszystkich reguł zaufania
Sprawdź ~/.bob/trustedFolders.json w katalogu domowym, aby zobaczyć pełną listę wszystkich reguł dotyczących zaufanych i niezaufanych folderów.

Sesje nieinteraktywne

W odróżnieniu od trybu interaktywnego, sesje nieinteraktywne nigdy nie wyświetlają okna dialogowego zaufania. Bob Shell działa w trybie cichym na podstawie wcześniej podjętych decyzji dotyczących zaufania.

Gdy funkcja jest włączona i nie istnieje żadna decyzja dotycząca zaufania dla folderu albo folder jest oznaczony jako niezaufany, Bob Shell zgłasza błąd i nie uruchamia się:

<folder> is not a trusted folder. Pass --trust to run in this folder,
or run Bob Shell interactively and choose a trust level.

Zachowanie flag zależnie od trybu

Flagi --trust i --auto-approve zachowują się inaczej w zależności od tego, jak uruchamiasz Bob Shell. Wybierz tryb, aby zobaczyć zachowanie odpowiednie dla sesji:

--trust
Folder jest trwale zapisywany jako zaufany. Bob Shell zapisuje wpis zaufania dla bieżącego katalogu w ~/.bob/trustedFolders.json i pomija okno dialogowe zaufania przy pierwszym dostępie. To odpowiednik otwarcia folderu i ręcznego wybrania „Ufaj folderowi”.
--auto-approve
Automatyczne zatwierdzanie jest po cichu tłumione w niezaufanym folderze. Nadal będziesz proszony o potwierdzenie przed każdym uruchomieniem narzędzia.
--trust
Folder jest traktowany jako zaufany tylko dla tego uruchomienia. Decyzja o zaufaniu nie jest zapisywana i nic nie trafia do magazynu zaufania.

Wstępna konfiguracja do automatyzacji

Dla bezpiecznej automatyzacji i potoków CI/CD ustal decyzje dotyczące zaufania przed uruchomieniem poleceń nieinteraktywnych:

  1. Najpierw uruchom sesję interaktywną, żeby ustawić preferencje zaufania za pomocą okna dialogowego.
  2. Ręcznie skonfiguruj ~/.bob/trustedFolders.json.

Wstępna konfiguracja zaufania jest niezbędna w środowiskach wymagających wysokiego poziomu bezpieczeństwa, ponieważ Bob Shell nie wraca do stanu zaufanego, gdy nie istnieje żadna decyzja.

Najlepsze praktyki

  • Ufaj tylko folderom zawierającym kod, który sam przejrzałeś lub stworzyłeś
  • Używaj opcji „Ufaj folderowi nadrzędnemu" dla katalogów zawierających wiele bezpiecznych projektów
  • Regularnie przeglądaj listę zaufanych folderów w ~/.bob/trustedFolders.json
  • Podczas pracy z nieznanym kodem zacznij w trybie niezaufanym, żeby poznać projekt przed przyznaniem zaufania
Jak oceniasz ten temat?