Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitLabGitLab/omar2535/graphqler
Анализ уязвимостейТестирование безопасности APIВеб-безопасностьФаззинг
GitLabomar2535/graphqler

GraphQLer

☸Первый в мире инструмент тестирования GraphQL API с учётом зависимостей!

РепозиторийСайт
2 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Единственный инструмент тестирования GraphQL API с учётом зависимостей!

python3.12 Maintainability lint tests_status security

GraphQLer — это передовой инструмент, предназначенный для динамического тестирования GraphQL API с акцентом на адаптивность. Он предлагает ряд сложных функций, которые упрощают процесс тестирования и обеспечивают надёжный анализ GraphQL API. GraphQLer умело управляет созданными объектами и ресурсами, эффективно определяет зависимости объектов, запросов и мутаций, а также динамически исправляет ошибки в запросах на основе ограничений API. GraphQLer использовался для поиска многих ошибок в production-grade GraphQL API!

Video Demo

Ключевые особенности

  • Осведомлённость о зависимостях: Выполняйте запросы и мутации на основе их зависимостей!
  • Динамическое тестирование: Отслеживайте ресурсы, созданные во время тестирования
  • Исправление ошибок: Пытайтесь исправить запросы, чтобы GraphQL API их принял
  • Сбор статистики: Показывает результаты в удобном файле
  • Простота использования: Всё, что вам нужно — это конечная точка и, возможно, токен аутентификации 😁

Начало работы

Чтобы начать использовать GraphQLer, обратитесь к руководству по установке.

Использование

root@kitploit:~
❯ python3 main.py --help
usage: main.py [-h] [--compile] [--fuzz] [--run] --path PATH [--auth AUTH] --url URL

options:
  -h, --help   show this help message and exit
  --compile    runs on compile mode
  --fuzz       runs on fuzzing mode
  --run        run both the compiler and fuzzer (equivalent of running --compile then running --fuzz)
  --path PATH  directory location for saved files and files to be used from
  --auth AUTH  authentication token Example: 'Bearer arandompat-abcdefgh'
  --url URL    remote host URL

Ниже приведены шаги по использованию этой программы для тестирования вашего GraphQL API. Использование разделено на 2 фазы: компиляция и фаззинг.

  • Режим компиляции: Этот режим отвечает за выполнение introspection-запроса к заданному API и генерацию графа зависимостей.
  • Режим фаззинга: Этот режим отвечает за обход графа зависимостей и отправку тестовых запросов к API.

Также включён третий режим для удобства, называемый run режимом. Этот режим объединяет оба режима компиляции и фаззинга в одну команду.

Режим компиляции

root@kitploit:~
(.env) python main.py --compile --url <URL> --path <SAVE_PATH>

После компиляции вы можете просмотреть скомпилированные результаты в <SAVE_PATH>/compiled. Кроме того, будет сгенерирован граф с именем dependency_graph.png для просмотра. Любые UNKNOWNS в скомпилированных .yaml файлах можно отметить вручную; однако, если не отметить, фаззер всё равно выполнит их, но без использования цепочки зависимостей.

Режим фаззинга

root@kitploit:~
(.env) python main.py --fuzz --url <URL> --path <SAVE_PATH>

Во время фаззинга статистика, связанная с GraphQL API, и количество текущих запросов выводятся в консоль. Коды возврата запросов записываются в <SAVE_PATH>/stats.txt. Все логи фаззинга сохраняются в <SAVE_PATH>/logs/fuzzer.log. Файл лога покажет вам, какие запросы были отправлены на какие конечные точки и каков был ответ. Это можно использовать для дальнейшего анализа результатов.

Режим запуска

Запускает как режим компиляции, так и режим фаззинга

root@kitploit:~
(.env) python main.py --run --url <URL> --path <SAVE_PATH>

Расширенные возможности

Также есть переменные, которые можно изменить в файле constants.py. Они соответствуют определённым функциям, реализованным в GraphQLer, и могут быть настроены по вашему усмотрению.

Скачать инструмент
Variable NameVariable DescriptionVariable TypeDefault
MAX_LEVENSHTEIN_THRESHOLDРасстояние Левенштейна между объектами и идентификаторами объектовInteger20
MAX_OBJECT_CYCLESМаксимальное количество раз, когда один и тот же объект может быть материализован в одном запросе/мутацииInteger3
MAX_OUTUPT_SELECTOR_DEPTHМаксимальная глубина расширения вывода запроса/мутации (например, в случае бесконечно рекурсивных селекторов)Integer3
USE_OBJECTS_BUCKETСохранять ли идентификаторы объектов для дальнейшего использованияBooleanTrue
USE_DEPENDENCY_GRAPHИспользовать ли функцию учёта зависимостейBooleanTrue
MAX_FUZZING_ITERATIONSМаксимальное количество нагрузочных тестов для одного узлаInteger5
MAX_TIMEМаксимальное время выполненияInteger3600