Формальная сверка пересечения прав для пресечения повышения привилегий через помощника
Программному помощнику выдали единую учётную запись администратора для быстрого поиска по всем таблицам, и обычный сотрудник с правами только на чтение через диалог заставляет его изменить записи в закрытой ведомости. Испытатель проверяет передачу полномочий между ролями и выпускает правило пересечения прав.
Уязвимость избыточных полномочий возникает там, где программный помощник подключается к внутренним хранилищам под общей сервисной учётной записью с правами записи и удаления, превышающими права конкретного сотрудника в диалоге. Внутренняя служба доверяет техническому токену помощника как доверенному посреднику и выполняет привилегированную операцию, не сверяя полномочия человека, отправившего исходный запрос.
Силовику и руководителю (без жаргона): Перехват «Execute privileged payroll table UPDATE under service account credentials on behalf of a read-only caller» до сокета (0 вреда рабочей базе, готовая печать ГОСТ)
Техническому проверяющему (улика): Норма ГОСТ Р 56939-2024 §6.5.1; Приказ ФСТЭК России от 11.04.2025 № 117 п. 60 | Фильтр SEC-ZD-AI-03 | Свидетель 7c31e5028a941d63
Технократу, CTO и VC (математика): Инвариант Z3 (assert (subset (tool_required_scopes call) (intersect (ca... | FP = 0,0% | Правило IMMUNE-AI-7C31E502 (mcp-sentinel 1.1.2)
1. Схема перехвата на границе текста и действия для AI-AGN-03
Инструментальный цикл проверки по классу AI-AGN-03 (OWASP LLM06:2025 / ASI03, тактика AML.T0054): перехват опасного вызова правилом SEC-ZD-AI-03 до сокета, фиксация свидетеля 7c31e5028a941d63 и выпуск контракта IMMUNE-AI-7C31E502 для шлюза mcp-sentinel.
2. Перехват на проводе и формальный инвариант решателя для AI-AGN-03
По правилу SEC-ZD-AI-03 программный фильтр на проводе разбирает каждый вызов инструмента и вычисляет строгое пересечение между подтверждённой ролью вызывающего пользователя и минимально необходимыми правами целевой функции. Любые попытки изменить таблицы, выдать права доступа или удалить записи из сессии наблюдателя прерываются до отправки пакета в сокет.
В ходе проверки на размеченном стенде испытатель подаёт запрос от имени учебной роли аналитика только с правом чтения на вызов административной ручки модификации таблиц, сопоставляя ответ с защищённым обработчиком. Подтверждённое нарушение границ ролей фиксируется формальным свидетелем 7c31e5028a941d63 без ложных срабатываний на разрешённых выборках.
Код класса: AI-AGN-03 (excessive_agency_confused_deputy)
Международные матрицы: OWASP LLM06:2025 / ASI03 | MITRE ATLAS AML.T0054
Нормативная привязка: ГОСТ Р 56939-2024 §6.5.1; Приказ ФСТЭК России от 11.04.2025 № 117 п. 60
Режим проверки: Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд: POST /mcp/v1/tools/call {"name":"db_admin_execute","arguments":{"sql":"UPDATE payroll SET salary=250000 WHERE emp_id=402"},"context":{"caller_role":"read_only_analyst"}}
Перехваченная мутация: Execute privileged payroll table UPDATE under service account credentials on behalf of a read-only caller
Инвариант решателя Z3: (assert (subset (tool_required_scopes call) (intersect (caller_scopes user) (session_task_scopes task))))
Правило фильтра: SEC-ZD-AI-03
Хэш свидетеля: 7c31e5028a941d63
Скомпилированный фильтр: IMMUNE-AI-7C31E502 (mcp-sentinel 1.1.2)
3. Автоматический выпуск защитного контракта IMMUNE-AI-7C31E502 и запись в журнал по ГОСТ Р 34.11-2012
Из свидетеля 7c31e5028a941d63 в автоматическом режиме компилируется правило IMMUNE-AI-7C31E502 для перехватчика mcp-sentinel. Сформированный контракт требует, чтобы набор разрешённых действий в каждом вызове никогда не выходил за пределы пересечения личных полномочий пользователя и узкого задания текущей сессии.
4. Инженерные разъяснения по проверке и защите от AI-AGN-03
Отказ от единых сервисных учётных записей с максимальными правами
Шлюз запрещает использование обезличенного ключа суперпользователя для прикладных вызовов и привязывает каждую команду к подписанному контексту конкретного инициатора с автоматическим сужением полномочий.
Сохранение работоспособности аналитических справок при жёстком ограничении записи
Решатель разделяет операции чтения справочников и операции изменения состояния, поэтому разрешённые расчётные выборки проходят штатно, а любые мутации вне роли пользователя отсекаются в памяти процесса.