Exec Policy Rules w Codex: Bezpieczna kontrola komend

AI agent z pełnym dostępem do terminala to potężne narzędzie — i potencjalne ryzyko. Exec Policy Rules pozwalają precyzyjnie kontrolować, które komendy Codex może uruchamiać automatycznie, które wymagają twojej zgody, a które są całkowicie zablokowane.

  1. Dlaczego ograniczać komendy?
  2. Składnia Starlark
  3. Allow, Prompt, Forbidden
  4. Przykłady reguł
  5. Testowanie reguł
  6. Podsumowanie

Dlaczego ograniczać komendy? {#dlaczego}

Scenariusz: Prosisz Codex o cleanup repozytorium. AI interpretuje to dosłownie i uruchamia rm -rf na folderze, który wydawał się niepotrzebny. Ups.

Exec Policy Rules to warstwa bezpieczeństwa między AI a twoim systemem:

  • Security — blokuj destrukcyjne komendy
  • Compliance — wymuś approval dla operacji produkcyjnych
  • Audit — loguj kto i kiedy uruchomił wrażliwe akcje
  • Consistency — te same reguły dla całego zespołu

Składnia Starlark {#skladnia}

Reguły definiujesz w plikach .rules używając składni Starlark (uproszczony Python):

prefix_rule(
    pattern = ["gh", "pr", "view"],
    decision = "prompt",
    justification = "Viewing PRs is allowed with approval",
)

Plik reguł znajduje się w ~/.codex/rules/default.rules. Możesz też mieć reguły per-projekt w .codex/rules/.

Składnia prefix_rule() dopasowuje komendy po prefiksie — sekwencji początkowych argumentów.

Allow, Prompt, Forbidden {#decyzje}

Typy decyzji w Exec Policy
DecyzjaDziałaniePrzypadek użycia
allowWykonaj automatycznieBezpieczne odczyty, testy
promptZapytaj użytkownikaWiększość operacji produkcyjnych
forbiddenZablokuj całkowicieDestrukcyjne komendy, produkcja

Domyślnie wszystko wymaga zatwierdzenia (prompt). Reguły pozwalają poluzować lub zaostrzyć kontrolę dla konkretnych wzorców.

Przykłady reguł {#przyklady}

Pozwól na przeglądanie PR bez pytania:

prefix_rule(
    pattern = ["gh", "pr", "view"],
    decision = "allow",
    justification = "Read-only operation",
)

Wymagaj zgody na tworzenie PR:

prefix_rule(
    pattern = ["gh", "pr", "create"],
    decision = "prompt",
    justification = "Creating PR requires approval",
)

Zablokuj usuwanie plików:

prefix_rule(
    pattern = ["rm"],
    decision = "forbidden",
    justification = "File deletion is not allowed",
)

Wskazówka: Zacznij od forbidden dla destrukcyjnych komend (rm, drop, delete), prompt dla operacji zapisu, allow dla odczytów.

Możesz też używać pól match i not_match dla precyzyjniejszego dopasowania:

prefix_rule(
    pattern = ["gh", "pr", "view"],
    decision = "allow",
    match = [
        "gh pr view 7888",
        "gh pr view --repo openai/codex",
    ],
    not_match = [
        "gh pr --repo openai/codex view 7888",
    ],
)

Testowanie reguł {#testowanie}

Przed wdrożeniem przetestuj reguły:

codex execpolicy check --pretty \
  --rules ~/.codex/rules/default.rules \
  -- gh pr view 7888

Komenda pokaże która reguła zadziała i jaką decyzję podejmie Codex. Testuj edge case-y zanim wdrożysz reguły do produkcji.

Więcej o bezpieczeństwie Codex w artykule o sandbox i audycie. Reguły exec policy to jeden z elementów większego systemu kontroli — razem z trybami uprawnień dają pełną kontrolę nad tym, co AI może robić.

Podsumowanie {#podsumowanie}

Exec Policy Rules to niezbędna warstwa bezpieczeństwa dla produkcyjnego użycia Codex:

  • Plik: ~/.codex/rules/default.rules (lub per-projekt)
  • Składnia: Starlark z prefix_rule()
  • Decyzje: allow (auto), prompt (pytaj), forbidden (blokuj)
  • Testowanie: codex execpolicy check

Domyślne zachowanie (prompt dla wszystkiego) jest bezpieczne, ale nieefektywne. Dobrze skonfigurowane reguły przyspieszają workflow bez kompromisów w bezpieczeństwie.

Bezpieczna konfiguracja AI
Exec Policy Rules w Codex: Bezpieczna kontrola komend