Суверенный продукт · без западных SDK · решения принимаются локально

Контроль каждого запроса ИИ-агента

Ru-Guard стоит между агентом и вашими системами. Он видит, кто обращается, что пытается сделать и есть ли у него на это право — и по политике организации пропускает, замедляет, просит подтверждения или запрещает. Каждое решение можно разобрать.

Лента решенийсценарии из записанного прогона на рабочем коде
2 409
автотестов прошли в последнем полном прогоне
24 / 24
сценария атак по сети на живом сервере — пройдены
≈ 4 мс
медиана времени решения на корректном запросе
0,37 %
атак PyRIT, garak и AgentDojo прошло при устойчивой атаке на сервер

Прогон 23.10.2026 на изолированном стенде. Задержка — локальная машина, без сети и ответа модели. Тесты подтверждают поведение, но не доказывают отсутствие уязвимостей; ограничения описаны в документации.

Три вопроса вместо одного

Защита сайтов спрашивала «бот или человек». Для ИИ-агентов этого мало

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

Кто

Класс клиента — человек, поисковый робот, ИИ-агент, вредоносная автоматизация. Оценка доверия от 0 до 100 растёт с подтверждённой личностью и падает с нарушениями.

То, что клиент — программа, само по себе не нарушение: штатные интеграции и роботы не страдают.

Что

Намерение запроса и его содержимое: манипуляция моделью, инструкции в чужих данных, попытки выманить секреты, массовая выгрузка, перебор.

Атака часто видна только в серии запросов — шлюз помнит историю сессии, а не судит по одному действию.

Право

Профиль прав зависит от класса и доверия. Для агента — права на инструменты: только чтение, разрешённые адреса, обязательное согласование для платежей.

Одно и то же действие разрешено одному клиенту и запрещено другому.

Путь одного запроса

Семь шагов от входа до решения — за миллисекунды

  1. Вход
  2. Снятие маскировки
  3. Кто обращается
  4. Что он хочет
  5. Есть ли право
  6. Решение
  7. След

Вход

Запрос, ответ модели или вызов инструмента попадает в шлюз. Тело читается с жёстким пределом — всё прочитанное обязательно проверяется.

Нельзя спрятать нагрузку за длинным безобидным текстом.

Снятие маскировки

Текст разворачивается в несколько представлений: кодировки, подменённые символы, разбитые пробелами слова.

Сама попытка замаскировать текст — сигнал: легитимный клиент так не пишет.

Кто обращается

Классификация клиента, поведение в сессии, доверие, совпадения с базой угроз и ловушками.

Подтверждённый поисковый робот и подделка под него получают разные права.

Что он хочет

Определение намерения и проверка содержимого. Текст из внешних источников — писем, документов, ответов инструментов — проверяется строже, чем слова пользователя.

Инструкция внутри данных — основание для отказа.

Есть ли право

Профиль прав для класса и уровня доверия; для агента — его разрешённые инструменты, адреса и действия, требующие согласования.

Нарушение прав — отдельный сигнал, даже если содержимое безобидно.

Решение

Все сигналы сводятся в оценку риска от 0 до 100; серьёзные находки задают нижнюю границу. По уровню риска выбирается одна из пяти реакций.

Если анализатор сбоит — запрос отклоняется, а не пропускается.

След

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

Клиенту — только факт и номер запроса; подробности видит оператор.

Не только «пустить или нет»

Пять реакций — от наблюдения до запрета

Блокировать всё подряд — значит остановить работу. Ru-Guard отвечает соразмерно: подозрение не равно атаке.

Примеры — из записанного прогона. Отдельно есть теневой режим: решения считаются и пишутся в журнал, но не применяются. Так калибруют политику на пилоте без риска для работы.

Агенты и инструменты

Агент может только то, что ему разрешили

Каждому агенту задаётся политика: какие инструменты разрешены, что только для чтения, куда можно отправлять данные и какие действия ждут согласования человеком. Политику меняет только оператор с отдельным токеном.

агент agent-reports разрешено crm.*, db.query, docs.* запрещено db.drop* согласование payments.* только чтение да адреса intranet.example
Что попытался сделать агентРешениеПочему
Прочитать отчёт из базыdb.query · SELECT✓ALLOWРазрешённый инструмент, чтение
Удалить старые счетаdb.execute · DELETE✕BLOCKИзменение данных агентом «только для чтения»
Отправить список клиентов наружуhttp.post · collector.example✕BLOCKАдрес не входит в разрешённые
Заплатить поставщикуpayments.transfer?CHALLENGEЖдёт согласования оператора. Если поменять сумму — нужно новое согласование
Журнал

Каждое решение можно разобрать — и проверить, что запись не подменили

Событие хранит время, решение, оценку риска, причину и номер запроса. Каждая запись связана с предыдущей хешем: изменение, удаление или перестановка обнаруживаются проверкой. Секреты маскируются ещё до записи.

Цепочка хешей обнаруживает подмену, но не предотвращает её. Записи с хешами сохраняются в PostgreSQL.

Консоль

Одно окно для команды безопасности

Трафик и решения по минутам, лента событий с разбором по номеру запроса, согласование действий агентов, состояние самообучения, оценка защищённости и песочница для проверки запроса — на живых данных шлюза.

Иллюстрация интерфейса. Внутри консоли все значения — живое состояние работающего шлюза.

Подключение

Три готовые точки подключения

Внутри приложения

Middleware для Python-приложений (FastAPI, Starlette): каждый запрос проверяется до обработчика, ответ — перед отдачей.

ASGI middleware

Перед сервисами

Обратный прокси с пулами серверов и проверкой здоровья. Запросы с персональными данными уходят только в суверенный контур.

/api/v1/gw/*

В рантайме агента

Агент спрашивает разрешения перед вызовом инструмента и получает решение, причину и, если нужно, номер согласования.

/toolcalls/inspect

Поставка — контейнер с PostgreSQL. Контролируется только трафик, который проходит через шлюз: точку подключения выбирают так, чтобы обхода не было.

Как проверить у себя

Пилот без риска для работы

Один сценарий

Выбираем ограниченный поток: одного агента или один сервис.

Политики

Описываем права агентов и действия, требующие согласования.

Теневой режим

Подключаем шлюз: решения считаются и пишутся, но не применяются.

Проверка

Прогоняем штатные и рискованные сценарии, сверяем решения с ожиданием.

Разбор

Оцениваем точность, ложные срабатывания и задержку на вашем трафике.

Решение

Включаем применение решений там, где результат подтверждён.

ИИ-агент действует быстрее человека. Ru-Guard даёт команде безопасности место, где эти действия видно, их можно ограничить и потом объяснить.