# policy-enforcer

Субагент пишет и проверяет Cedar-политики, которые разрешают или блокируют вызовы инструментов Claude Code. Нужен, чтобы задать агенту правила доступа к командам и файлам проекта.

- субагент · `type=agent` · Claude Code, Codex, Cursor · ★ 41823
- Автор: Tom Farley
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/agents/policy-enforcer.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/agents/policy-enforcer

## Что делает

policy-enforcer помогает составлять и проверять правила авторизации Cedar для инструментов Bash, Edit, Write, Read, WebFetch и других. Он учитывает, какие данные доступны при проверке вызова: например, команду Bash, путь к файлу или URL. Также объясняет назначение правил и угрозы, от которых они защищают.

Субагент советует задавать разрешённые действия узко и дополнять их запретами на рискованные случаи. Для путей к файлам важно учитывать, что совпадение Cedar `like` проверяет строку, а не принадлежность пути проекту: правило по `*/src/*` может затронуть любую папку `src`. Политики следует проверять командой `cedar validate` по схеме проекта, если она есть.

Правила влияют на вызовы инструментов, поэтому широкое разрешение для `python*` или `node*` допускает выполнение произвольного кода. Это особенно важно, если такими командами запускаются скрипты проекта.

## Установка

### Claude Code (родная платформа)

1. **Через маркетплейс плагинов**
В чате агента (не в терминале):
```text
/plugin marketplace add wshobson/agents
```
В чате агента (не в терминале):
```text
/plugin install protect-mcp@claude-code-workflows
```

2. **Вручную: положить файлы**
- Файл: `.claude/agents/policy-enforcer.md` — Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию

### Codex

**Вручную: положить файлы**
- Файл: `.codex/agents/policy-enforcer.toml` — Codex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/agents/policy-enforcer.md` — Cursor понимает и .claude/agents/

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/agents/policy-enforcer.md

## Когда брать
- задать доступ агента к командам Bash
- ограничить запись и редактирование файлами проекта
- запретить опасные варианты shell-команд
- проверить Cedar-политику по схеме проекта

## Примеры запросов агенту
- Составь Cedar-политику для проекта, где агент может читать файлы, но не редактировать их.
- Проверь правила для `Bash` и запрети цепочки команд и перенаправление вывода.
- Ограничь `Write` и `Edit` каталогом проекта и объясни, какие обходы пути нужно запретить.

## Похожие
- [code-reviewer](https://affpapa.org/nevibecode/agents/code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/security-auditor.md) — субагент · 10718 установок
- [test-engineer](https://affpapa.org/nevibecode/agents/test-engineer.md) — субагент · 9715 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/voltagent-community-security-auditor.md) — субагент · 10718 установок
- [devops-engineer](https://affpapa.org/nevibecode/agents/devops-engineer.md) — субагент · 7392 установки

Из того же набора: [wshobson/agents](https://affpapa.org/nevibecode/by/wshobson/agents.md) — 508 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
