Agent Canary MCP

Набор защиты агентов: MCP-сервер и SDK с ловушками, метками-канарейками и шлюзом, который блокирует лишние действия.

  • 103 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

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

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

  • Шлюз пропускает чтение и вызовы, прошедшие политику, а токен GitHub с правом чтения пакетов нужен для установки.
Все причины и проверки

dorianchn/shanchuanzhi-agent-canary

Установка

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

npm config set @dorianchn:registry https://npm.pkg.github.com

Затем npm login --scope=@dorianchn с токеном read:packages и npm install --global @dorianchn/agent-canary@3.0.0. Образ Docker: ghcr.io/dorianchn/shanchuanzhi-agent-canary:3.0.0.

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

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

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

  • Шлюз пропускает чтение и вызовы, прошедшие политику, а токен GitHub с правом чтения пакетов нужен для установки.

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

Что делает

Agent Canary 3.0 — открытый набор защиты для агентов в виде MCP-сервера и SDK. В него входят инструменты-ловушки, метки-канарейки, шлюз защищенного выполнения, локальные самопроверки и необязательная консоль политик. Сервер запускается командой `agent-canary serve --stdio`, а в коде шлюз создается функцией `createTrustedExecutionGateway`. Хозяин регистрирует обратные вызовы, которые нужно защитить, и шлюз решает, разрешить ли каждый из них: чтение проходит, а запись вне политики отклоняется. В проверке с локальной моделью Qwen из 48 попыток прямые запрещенные действия случились в 12 из 12 случаев без защиты и в 0 из 12 при защите. Есть плагин для Cline SDK и закрытый по умолчанию адаптер для сервера Filesystem MCP. Защита действует только на обратные вызовы, проведенные через этот сервер.

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

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

  • Агент получает доступ к файлам, и запись вне разрешенной зоны должен отклонять шлюз.
  • Нужны приманки среди инструментов и метки, чтобы заметить попытку подмены или кражи.
  • Встраиваемому агенту на Cline SDK нужен слой проверки перед каждым вызовом инструмента.
  • Перед запуском хочется прогнать локальные самопроверки на тестовых файлах.

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

  • Нужна изоляция на уровне ОС: защита работает как маршрутизация внутри приложения.
  • Остаются доступны прямые инструменты клиента: шлюз их не перехватывает.
  • Требуется независимое подтверждение защиты: повторная проверка третьей стороной пока не выполнена.

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

Прочитай файл через защищенный инструмент, затем попробуй записать вне разрешенной папки и покажи решение шлюза.

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

Защищены только обратные вызовы, которые хозяин зарегистрировал и провел через сервер: собственные инструменты клиента и посторонние процессы шлюз не контролирует. Это маршрутизация на уровне приложения, а не ограничение на уровне ОС. Автор не заявляет нулевых ложных срабатываний и полного отсутствия гонок проверки и использования, а повторная проверка сторонним оператором помечена заблокированной. Нужен Node.js 20. Пакет npm лежит в GitHub Packages, где нужен токен с правом `read:packages`, а Docker-образ можно получить из GitHub Container Registry. Интеграция с Cline проверена только на закрепленном плагине SDK.

Как отключить. Удалите запись `agent-canary` из конфигурации клиента и пакет командой `npm uninstall --global @dorianchn/agent-canary`. Токен GitHub для чтения пакетов можно отозвать.

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

Как установить Agent Canary?

Настройте реестр `@dorianchn` на GitHub Packages, войдите токеном с `read:packages` и выполните `npm install --global @dorianchn/agent-canary@3.0.0`. Затем проверьте `agent-canary --help`.

Как запустить MCP-сервер?

Командой `agent-canary serve --stdio` или через контейнер с флагом `-i` и теми же аргументами.

Как шлюз решает, что разрешить?

Хозяин регистрирует защищаемые обратные вызовы, а шлюз пропускает чтение и отклоняет записи вне политики.

Можно ли собрать без входа в GitHub Packages?

Да, из закрепленного снимка исходников. Порядок описан в `GETTING_STARTED.md`.

Какие интеграции есть?

Плагин для Cline SDK и закрытый по умолчанию адаптер для сервера Filesystem MCP. Проверен путь через Cline Agent Runtime.

Обсуждение

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

MCP-серверы

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

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

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

MCP-серверШирокий доступ403Звезды репозитория

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

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

MCP-сервер памяти для агентов и бесплатный шлюз, который останавливает опасные команды до запуска

MCP-серверШирокий доступ660Звезды репозитория

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

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

CLI аудита MCP-серверов: инвентаризация, доказательства по каждому серверу и политика для CI, где неизмеренное не бывает чистым

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

Коротко о README

Рассказано об установке из GitHub Packages и Docker, использовании SDK, интеграции с Cline и результатах проверок. Явно перечислены границы: что защищено и чего проверка не доказывает.

Бейдж для README

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