// dokumentacja openclaw

Zatwierdzanie exec w OpenClaw — approval gates

Wprowadzenie

Zatwierdzenia exec dzialaja jako blokada bezpieczenstwa dla agentow w sandboxie wykonujacych polecenia na rzeczywistych hostach (gateway lub node). Wspolpracuja z polityka narzedzi i bramowaniem elevated, kontrolujac, ktore polecenia moga zostac uruchomione na podstawie trzech czynnikow: polityka + allowlista + (opcjonalne) zatwierdzenie uzytkownika.

Mechanizm dzialania

System wymusza zatwierdzenia lokalnie na hostach wykonawczych — na maszynie gateway lub node runner. Model zaufania zaklada, ze:

  • Uwierzytelnieni wywolujacy Gateway sa zaufanymi operatorami
  • Sparowane wezly rozszerzaja te mozliwosc na hosty node
  • Zatwierdzenia zmniejszaja ryzyko przypadkowego wykonania, ale nie tworza granic uwierzytelniania per-uzytkownik

Zatwierdzone uruchomienia wiaza kanoniczny kontekst wykonawczy: kanoniczny cwd, dokladne argv, wiazanie env (jesli obecne) i przypieta sciezka do pliku wykonywalnego.

Polityki bezpieczenstwa

Ustawienia security

  • deny — blokuj wszystkie zadania exec na hoscie
  • allowlist — zezwol tylko na polecenia z allowlisty
  • full — zezwol na wszystko (rownowazne z elevated)

Ustawienia ask

  • off — nigdy nie pytaj
  • on-miss — pytaj tylko gdy allowlista nie pasuje
  • always — pytaj przy kazdym poleceniu

Fallback pytania

  • deny — blokuj zadania wymagajace promptu
  • allowlist — zezwol jesli pasuje do allowlisty
  • full — zezwol na zadania

Tryb YOLO

Aby uruchamiac polecenia bez pytania o zatwierdzenie, obie warstwy polityk musza byc otwarte:

openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
openclaw gateway restart

Allowlisty

Allowlisty sa per-agent i uzywaja globowych wzorow pasujacych do sciezek binarnych (wielkosc liter nie ma znaczenia):

  • ~/Projects/**/bin/peekaboo
  • ~/.local/bin/*
  • /opt/homebrew/bin/rg

Safe Bins

Funkcja tools.exec.safeBins definiuje binaria stdin-only, ktore moga dzialac w trybie allowlist bez jawnych wpisow. Domyslne safe bins to: cut, uniq, head, tail, tr, wc.

Zatwierdzanie przez kanaly czatowe

Mozna przekazywac prompty o zatwierdzenie do kanalow czatowych (Slack, Telegram, Discord, Matrix). Zatwierdzanie w czacie odbywa sie przez:

/approve <id> allow-once
/approve <id> allow-always
/approve <id> deny

Bezpieczenstwo IPC na macOS

Na macOS komunikacja odbywa sie przez Unix socket IPC z uprawnieniami 0600, tokenem w pliku konfiguracyjnym, weryfikacja UID peera oraz uwierzytelnianiem challenge/response z krotkim TTL.