OWASP Agent Control Standard — воркфлоу

Открытый стандарт OWASP: отдельный агент-страж проверяет действие ИИ-агента до выполнения и разрешает, запрещает или меняет его

  • 259 ★ репозитория
  • Последний коммит
  • Apache-2.0
Воркфлоу

Расширенный доступ

Почему такой уровень

  • Хуки передают стражу описание каждого вызова инструмента, вместе с командами и путями
  • Канал референсного стража не подписан, и при сбое он по умолчанию пропускает действия
Все причины и проверки

genai-security-project/agent-control-standard

Установка

Работает в

Ручная установка

Текст для агента

Склонируй репозиторий GenAI-Security-Project/agent-control-standard, перейди в reference-implementations/agt, выполни `bun install` и в одном терминале `bun run guardian`. Скопируй `hosts/claude-code/settings.json` в `.claude/settings.json` проекта. Перед работой задай `ACS_ON_DECISION_FAILURE=deny` и объясни пользователю, что канал не аутентифицирован.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Хуки передают стражу описание каждого вызова инструмента, вместе с командами и путями
  • Канал референсного стража не подписан, и при сбое он по умолчанию пропускает действия

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

ACS (Agent Control Standard) — спецификация обмена между ИИ-агентом и отдельным агентом-стражем. Перед действием агент шлет запрос по JSON-RPC 2.0, например `steps/toolCallRequest` перед вызовом инструмента, а страж отвечает: разрешить, запретить или изменить. По журналу событий потом можно восстановить, что произошло. Всего в стандарте девятнадцать методов хуков. В репозитории лежит и работающий пример. Референсная реализация запускает «Agent Governance Toolkit» от Microsoft за интерфейсом ACS и подключает к нему Claude Code и OpenCode через хуки. Нужен только `bun`: после `bun install` и `bun run guardian` страж слушает порт 8787, а команда вроде `echo rm -rf /` в Claude Code получает отказ с кодом `destructive_shell_command_blocked`. Рядом лежат адаптеры на Python для Claude Code, Cursor и NVIDIA NeMo Agent Toolkit и проверки на соответствие.

Для кого. Командам безопасности и платформенным инженерам, которые хотят ставить политику между агентом и его инструментами, не меняя сам агент.

Подходит, если

  • Нужно показать, как страж отклоняет опасную команду агента, и запустить такой пример за минуты
  • Платформенная команда выбирает формат обмена между агентом и системой политик и хочет открытую спецификацию
  • Для Claude Code или Cursor нужно подключить хуки к внешней проверке действий
  • Вы пишете свой страж или адаптер и сверяетесь с проверками соответствия стандарту

Не подходит, если

  • Нужна готовая защита для промышленной эксплуатации: референсная реализация сама называет свои пробелы
  • Хватит встроенных разрешений Claude Code: отдельный страж добавляет еще один процесс
  • Нужна проверка содержимого ответов модели: в живую работают только два хука из девятнадцати

Пример запроса к агенту

Запусти референсного стража из agent-control-standard, подключи к нему Claude Code и покажи, как он блокирует `echo rm -rf /`

Ограничения

Версия стандарта 0.1.0. В референсном стражe канал не аутентифицирован: требуемую для ACS-Core подпись HMAC-SHA256 он не реализует, поэтому любой процесс с доступом к порту может читать решения и влиять на них. По умолчанию режим сбоя `proceed`: упавший или недоступный страж молча перестает управлять, а для запрета при сбое нужно задать `ACS_ON_DECISION_FAILURE=deny`. Из девятнадцати методов вычисляются только `steps/toolCallRequest` и `steps/toolCallResult`. Для части команд нужен `trash-cli`, он ставится отдельно от `bun`.

Как отключить. Уберите хуки из `.claude/settings.json` и остановите процесс стража, после этого Claude Code работает как прежде. Клон репозитория можно удалить, он ничего не ставит в систему.

Частые вопросы

Что такое агент-страж?

Это отдельный процесс, который получает от агента описание действия до его выполнения и отвечает: разрешить, запретить или изменить. Решение и причина попадают в журнал.

Как быстро увидеть работу стандарта?

В референсной реализации выполните `bun install`, затем `bun run guardian` и подключите Claude Code командой копирования `hosts/claude-code/settings.json`. Запрос `echo rm -rf /` получит отказ.

Что делать, если страж упал?

По умолчанию агент продолжит работу без проверки. Чтобы при сбое запрещать действия, задайте для стража `ACS_ON_DECISION_FAILURE=deny`.

С какими агентами уже есть адаптеры?

В репозитории лежат адаптеры для Claude Code, Cursor и NVIDIA NeMo Agent Toolkit, а референсные хуки подключают Claude Code и OpenCode.

Кто стоит за проектом?

Стандарт ведет OWASP GenAI Security Project. Лицензия кода Apache-2.0, документации отдельная, об этом сказано в LICENSING.md.

Обсуждение

Вопросов и отзывов пока нет.

Воркфлоу

Шлюз политик для ИИ-агентов: проверяет вызовы инструментов до выполнения, опасные ставит на согласование и пишет аудит

CLIРасширенный доступ523Звезды репозитория

AgentShield проверяет папку .claude на ключи в открытом виде, широкие разрешения, опасные хуки и небезопасные MCP-серверы и ставит оценку от A до F

CLIРасширенный доступ1,4 тыс.Звезды репозитория

Agent Governance Toolkit

Agent Governance Toolkit (Claude Code plugin)

Официальный

Плагин Microsoft для Claude Code: хуки проверяют промпты и вызовы инструментов по политике и блокируют опасные команды.

ПлагинРасширенный доступ6,6 тыс.Звезды репозитория

Статический сканер уязвимостей в коде ИИ-агентов и конфигурациях MCP с 66 правилами по OWASP Agentic Top 10

CLIРасширенный доступ245Звезды репозитория

Локальный страж для кодовых агентов: блокирует запись секретов и принудительный пуш в main, предупреждает об опасных командах.

CLIРасширенный доступ156Звезды репозитория

CLI проверяет на вашей машине скиллы и конфиги MCP, ищет отравленные описания инструментов и прогоняет системный промпт через 225 атак

CLIРасширенный доступ383Звезды репозитория

Коротко о README

Описание начинается с запуска: клонировать, поднять стража и увидеть отказ на команде. Затем идут честный список пробелов референсной реализации, пример запроса и ответа по JSON-RPC и ссылки на спецификацию, адаптеры и порядок участия в проекте.

Бейдж для README

Сообщить о проблеме