Защита ИИ-агентов от инъекций и деструктивных вызовов
Автономный агент действует выданным ему токеном в пределах выданных прав — периметр и антивирус его не видят. Скрытая инструкция в документе или на странице по ссылке может заставить агента удалить базу, выкачать ключи или отправить данные наружу. Ниже — как требование исключить деструктивные воздействия закрывается детерминированным шлюзом, а не второй нейросетью.
Что требует Приказ ФСТЭК России № 117
в силе с 01.03.2026 · Проверено: 20.09.2026 — по отраслевому разбору; классы атак названы своими словами, идентификаторы отраслевых перечней по памяти не приводятся.
- исключение выполнения агентом команд, приводящих к сбою технологического процесса или несанкционированному доступу к данным
- контроль шаблонов поведения моделей и протоколирование вызовов внешних функций
Где болит
Разработчики и аналитики внедрили агентов на локальных моделях, но у службы ИБ нет ни одного инструмента для контроля допустимости их действий. Зарубежные средства требуют облаков за пределами РФ или компонентов, неприменимых в изолированном контуре; вторая модель-надзиратель сама подвержена обходу и добавляет задержку.
Чем закрывается
MITR Sentinel. Вызов инструмента перехватывается до исполнения и проверяется детерминированным решателем, а не второй моделью: разрушающая операция с базой без условия, выход за рабочую директорию, вывод секретного ключа, опасная команда оболочки — не доходят до исполнителя. При блокировке агент получает причину отказа и не зацикливается. Открытый код — ниже.
Открытый код · Apache-2.0 · mcp-sentinel 1.0.0
sha256: 5d8f904ddb12295c3cd8f6de26e4515e7c9178980fc7a300c722e90125807bf8
Исходный код: https://git.isslab.ru/isslab/mcp-sentinel
Замер: перехват in-memory: медиана 0,015 мс; сквозной цикл с записью ГОСТ-леджера на диск: медиана 22,5 мс, N=100.
Противоречие: агент должен действовать свободно, чтобы решать задачи, — и каждое его действие должно быть гарантированно безопасным. Разрешение по ТРИЗ: мысль модели остаётся свободной, а дискретный вызов инструмента проверяется детерминированным решателем; при блокировке возвращается ядро невыполнимости, чтобы агент не зацикливался.
ISS Ledger 117. Каждое решение шлюза пишется в неизменяемый журнал по ГОСТ «Стрибог» — след с доказательной силой для инспектора.
Открытый код · Apache-2.0 · iss-ledger-117 1.0.0
sha256: a35aed188e51e1095520754e0f8b7d4ad4f0576cf70b48909c3aa1e242e47a5d
Исходный код: https://git.isslab.ru/isslab/iss-ledger-117
Замер: контрольные векторы ГОСТ по RFC 6986 (M1, M2) проходят; автономный однофайловый проверщик для изолированных контуров.
Противоречие: журнал аудита должен иметь доказательную силу для регулятора — и не должен зависеть от закрытых серверов доверия и внешних поставщиков. Разрешение по ТРИЗ: неизменяемая цепочка квитанций по ГОСТ Р 34.11-2012 на чистом Python без зависимостей, целостность пересчитывается однофайловым скриптом в изолированном контуре, без доверия к разработчику.
Вопросы
Почему не вторая модель-надзиратель?
Управляющий контур обязан обладать разнообразием не меньшим, чем управляемый (закон необходимого разнообразия Эшби). Надзорная модель слабее поднадзорной и обходится синонимами и стеганографией; детерминированная проверка вызова воспроизводима и промптом не обходится.
Какая задержка у перехвата?
Проверка контрактов в памяти — медиана 0,015 мс; сквозной цикл с записью решения в ГОСТ-журнал на диск — медиана 22,5 мс (N=100, замер 21.09.2026). Без вторичной модели, чистая математика и грамматика.
Продуктовая линия целиком — кибербезопасность института. У каждого числа стоит дата замера и поверхность независимой проверки.