Контроль дерева графовых запросов, пакетных псевдонимов и прав доступа в потоковых каналах
Злоумышленник одним запросом к графовому интерфейсу выгружает всю внутреннюю схему сервиса, упаковывает тысячу попыток подбора пароля в один пакет или перехватывает постоянный двусторонний канал связи. Испытатель разбирает дерево запроса без перегрузки узла и в автоматическом режиме выпускает правило ограничения глубины и пакетных вызовов.
Мультиплексированные и потоковые протоколы (GraphQL, gRPC и WebSocket) обходят классическую фильтрацию по адресам страниц, поскольку передают разнородные команды через единую точку входа или постоянное бинарное соединение. Типовые уязвимости включают открытую выдачу внутренней схемы (интроспекцию и рефлексию), обход ограничений частоты за счёт объединения сотен вызовов под псевдонимами в одном запросе, пропуск проверки прав во вложенных узлах графа и перехват сессии при установке потокового канала.
Силовику и руководителю (без жаргона): Перехват «Execute recursive circular GraphQL fragment bomb (depth > 32) or cross-site WebSocket hijacking without Origin lock» до сокета (0 вреда рабочей базе, готовая печать ГОСТ)
Техническому проверяющему (улика): Норма ГОСТ Р 56939-2024 §5.5.3; Приказ ФСТЭК России от 11.04.2025 № 117 п. 52 | Фильтр SEC-ZD-V2-04 | Свидетель b208d461a95c3e78
Технократу, CTO и VC (математика): Инвариант Z3 (assert (and (<= (gql_ast_depth query) 6) (<= (gql_alias_c... | FP = 0,0% | Правило IMMUNE-GQL-B208D461 (mcp-sentinel 1.1.2)
1. Схема перехвата на проводе и выпуска контракта для API-GQL-04
Инструментальный цикл проверки по классу API-GQL-04 (OWASP API4:2023 / API8:2023, WSTG-APIT-02 / CWE-400): блокировка опасной мутации правилом SEC-ZD-V2-04 до сокета, фиксация свидетеля b208d461a95c3e78 и выпуск контракта IMMUNE-GQL-B208D461 для шлюза mcp-sentinel.
2. Фильтр нулевого ущерба и формальный инвариант решателя для API-GQL-04
По правилу SEC-ZD-V2-04 программный фильтр на проводе разбирает каждый графовый запрос в абстрактное синтаксическое дерево до отправки в сеть. Лавинные циклические фрагменты, чрезмерная глубина вложенности и неразрешённые модификации в потоковых кадрах блокируются внутри процесса испытателя.
На испытательном стенде анализатор проверяет доступность открытой интроспекции, обработку парных псевдонимов и строгость проверки заголовков источника при открытии канала в сравнении с защищённым шлюзом. Подтверждённое нарушение фиксируется свидетелем b208d461a95c3e78 без ложных срабатываний на штатных выборках.
Код класса: API-GQL-04 (graphql_grpc_websocket)
Международные матрицы: OWASP API4:2023 / API8:2023 | WSTG-APIT-02 / CWE-400
Нормативная привязка: ГОСТ Р 56939-2024 §5.5.3; Приказ ФСТЭК России от 11.04.2025 № 117 п. 52
Режим проверки: Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд: POST /graphql {"query":"query { __schema { types { name fields { name } } } a1:login(p:\"1\") a2:login(p:\"2\") }"}
Перехваченная мутация: Execute recursive circular GraphQL fragment bomb (depth > 32) or cross-site WebSocket hijacking without Origin lock
Инвариант решателя Z3: (assert (and (<= (gql_ast_depth query) 6) (<= (gql_alias_count query) 4) (= (prod_introspection query) false) (= (ws_origin_verified upgrade) true)))
Правило фильтра: SEC-ZD-V2-04
Хэш свидетеля: b208d461a95c3e78
Скомпилированный фильтр: IMMUNE-GQL-B208D461 (mcp-sentinel 1.1.2)
3. Автоматический выпуск защитного контракта IMMUNE-GQL-B208D461 и квитанция ГОСТ Р 34.11-2012
На основании свидетеля b208d461a95c3e78 компилятор в автоматическом режиме формирует контракт IMMUNE-GQL-B208D461 для перехватчика mcp-sentinel. Правило закрывает публичную выгрузку схемы, ограничивает глубину дерева запроса шестью уровнями, лимитирует число псевдонимов в пакете и сверяет подпись каждого кадра в потоке.
4. Инженерные разъяснения по проверке и закрытию класса API-GQL-04
Пресечение перебора паролей и кодов внутри одного пакетного запроса GraphQL
Перехватчик считает количество вызываемых псевдонимов и мутаций внутри синтаксического дерева запроса, применяя порог частоты к каждой отдельной операции независимо от числа внешних сетевых пакетов.
Контроль полномочий в долговременных соединениях WebSocket и потоках gRPC
Контракт проверяет заголовок источника при открытии туннеля и сверяет действительность маркера доступа и схему каждого передаваемого сообщения на всём протяжении сессии.