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.
- Dlaczego ograniczać komendy?
- Składnia Starlark
- Allow, Prompt, Forbidden
- Przykłady reguł
- Testowanie reguł
- 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}
| Decyzja | Działanie | Przypadek użycia |
| allow | Wykonaj automatycznie | Bezpieczne odczyty, testy |
| prompt | Zapytaj użytkownika | Większość operacji produkcyjnych |
| forbidden | Zablokuj całkowicie | Destrukcyjne 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