Пентест GraphQL API, или аудит безопасности GraphQL, — это проверка API на GraphQL, у которого свои специфические риски, не покрываемые обычным тестированием REST. Проверяем интроспекцию, авторизацию на уровне полей, вложенные и пакетные запросы, приводящие к отказу в обслуживании, и утечки данных через связи объектов.
Что мы проверяем в GraphQL
GraphQL гибок для разработчика. Ровно настолько же он удобен и для атакующего. Проверяем:
- Интроспекцию схемы — раскрытие всей структуры API.
- Авторизацию на уровне полей и объектов: доступ к скрытым данным.
- IDOR через связи — доступ к чужим объектам по graph-связям.
- DoS через вложенность и пакетность: тяжёлые и batched-запросы.
- Инъекции в резолверах и параметрах.
- Обход rate limit через алиасы и batching.
Типичные уязвимости, которые находим
Список находок у каждого проекта свой, но повторяющиеся сюжеты есть всегда. Чаще всего встречаем:
- Открытая интроспекция: вся схема API на виду у атакующего, вплоть до скрытых операций.
- BOLA/BFLA на резолверах: доступ к чужим объектам и функциям на уровне отдельных резолверов.
- Отказ в обслуживании вложенными запросами: глубокая вложенность и алиасы перегружают backend.
- Инъекции через аргументы: SQL и NoSQL в параметрах резолверов.
- Batching-абьюз и брутфорс: обход лимитов через батч-запросы и множественные алиасы.
- Утечка данных и ошибок: избыточные поля и слишком подробные сообщения об ошибках.
Как проходит пентест GraphQL API: этапы
- Согласование и границы (scope). Определяем цели, объекты и правила, чтобы работа шла легально и била в реальный бизнес-риск, а не в галочки для отчёта.
- Разведка и картирование. Сначала собираем всю поверхность атаки в границах проекта и только потом что-то эксплуатируем.
- Ручная эксплуатация. Дальше в дело идут руки: выстраиваем цепочки уязвимостей за пределами автосканеров и доказываем реальное воздействие.
- Анализ и отчёт. Каждую находку приоритизируем по CVSS, привязываем к бизнес-риску и расписываем с шагами воспроизведения.
- Поддержка и бесплатный ретест. Помогаем команде с исправлениями и повторно проверяем, что уязвимости действительно закрыты.
Инструменты и техники
Burp Suite Pro с GraphQL-расширениями, InQL, clairvoyance для восстановления схемы, кастомные запросы на вложенность и батчинг. Автоматику пускаем только первым проходом — основную ценность даёт ручной разбор и понимание бизнес-логики.
Что вы получаете
- Отчёт с резюме для руководства и техническими деталями для инженеров.
- Каждая уязвимость — с шагами воспроизведения, оценкой по CVSS 3.1 и бизнес-контекстом.
- Приоритизированные рекомендации, которые можно применить сразу.
- Бесплатный повторный тест после исправлений и письмо-подтверждение для клиентов и аудиторов.
Кому нужен аудит GraphQL API
- Продуктам и мобильным приложениям на GraphQL.
- API-first сервисам и SaaS-платформам.
- Командам, которые мигрировали с REST на GraphQL.
- Fintech и SaaS, где важна авторизация на уровне объектов.
Стандарты и методологии
За рубежом эту услугу называют graphql pentesting. Тестируем вручную по признанным методологиям веб-безопасности:
- OWASP Top 10 и OWASP Web Security Testing Guide (WSTG) — эталон проверки веб-приложений.
- OWASP API Security Top 10 — для API и интеграций.
- PTES — методология тестирования на проникновение.
- Ручная эксплуатация каждой находки, а не только автосканер.
Частая ошибка: включённая интроспекция в продакшене
Отдельно смотрим, доступна ли интроспекция схемы снаружи. Если да — атакующий видит все типы, поля и скрытые операции, и это готовая карта для атаки. Отключение интроспекции в проде, ограничения на глубину и сложность запросов, авторизация на каждом резолвере закрывают большую часть рисков GraphQL. Мы не просто находим эти проблемы — даём конкретные настройки под ваш стек: Apollo, Hasura, GraphQL Yoga и другие.
Смежные услуги
GraphQL — это разновидность API, поэтому аудит логично совмещать с пентестом API и микросервисов.
Стоимость и заказ
Цена услуги «Пентест GraphQL API» зависит от объёма и глубины работ и фиксируется заранее, без скрытых доплат. Чтобы заказать пентест GraphQL API, оставьте заявку — бесплатно проконсультируем, согласуем границы и посчитаем точную стоимость под ваш бюджет и сроки.