Как ограничить доступ Codex к проекту
Алексей МаметьевГде находятся правила
Для всех проектов правила читаются из ~/.codex/config.toml и ~/.codex/rules/*.rules. Для одного проекта применяются <project>/.codex/config.toml и <project>/.codex/rules/*.rules. Слой проекта загружается только для доверенного проекта.
0. Запрет записи вне папки проекта
# ~/.codex/config.toml default_permissions = "project-only" approval_policy = "never" [permissions.project-only] extends = ":workspace" [permissions.project-only.filesystem] ":root" = "deny" ":minimal" = "read" ":tmpdir" = "deny" ":slash_tmp" = "deny" [permissions.project-only.filesystem.":workspace_roots"] "." = "write"
1. Запрет Git
# ~/.codex/config.toml
default_permissions = "no-git"
approval_policy = "never"
[permissions.no-git]
extends = ":workspace"
[permissions.no-git.filesystem.":workspace_roots"]
".git" = "deny"
# ~/.codex/rules/default.rules
prefix_rule(
pattern = ["git"],
decision = "forbidden",
justification = "Git is disabled."
)
2. Запрет чтения ~/.ssh
# ~/.codex/config.toml default_permissions = "no-ssh" approval_policy = "never" [permissions.no-ssh] extends = ":workspace" [permissions.no-ssh.filesystem] "~/.ssh" = "deny"
3. Запрет редактирования тестов
# ~/.codex/config.toml default_permissions = "tests-read-only" approval_policy = "never" [permissions.tests-read-only] extends = ":workspace" [permissions.tests-read-only.filesystem.":workspace_roots"] "tests" = "read" # Замените tests фактическим именем каталога: # "test" = "read" # "__tests__" = "read" # "spec" = "read"
Проверка
codex execpolicy check --pretty --rules ~/.codex/rules/default.rules -- git status