Защита ИИ-агентов (MCP, Claude Code, Cursor) от prompt injection на объектах КИИ

Кибербезопасность · разбор нормы и её закрытия

Защита ИИ-агентов от инъекций и деструктивных вызовов

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


Что требует Приказ ФСТЭК России № 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). Без вторичной модели, чистая математика и грамматика.


Продуктовая линия целиком — кибербезопасность института. У каждого числа стоит дата замера и поверхность независимой проверки.