Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
GraphQLer — ☸A primeira ferramenta de teste de API GraphQL com consciência de dependências! | Kitploit
Ferramentas/GitLabGitLab/omar2535/graphqler
Análise de VulnerabilidadesTestes de Segurança de APIsSegurança WebFuzzing
GitLabomar2535/graphqler

GraphQLer

☸A primeira ferramenta de teste de API GraphQL com consciência de dependências!

Ver Repositório
há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

A única ferramenta de teste de API GraphQL com reconhecimento de dependências!

python3.12 Maintainability lint tests_status security

GraphQLer é uma ferramenta de ponta projetada para testar dinamicamente APIs GraphQL com foco em adaptabilidade. Ela oferece uma gama de recursos sofisticados que simplificam o processo de teste e garantem uma análise robusta das APIs GraphQL. O GraphQLer gerencia com proficiência objetos e recursos criados, identifica efetivamente dependências em objetos, consultas e mutações, e corrige dinamicamente erros em consultas com base nas restrições da API. O GraphQLer foi usado para encontrar muitos bugs em APIs GraphQL de nível de produção!

Video Demo

Funcionalidades principais

  • Reconhecimento de dependências: Execute consultas e mutações com base em suas dependências!
  • Testes dinâmicos: Acompanhe os recursos criados durante os testes
  • Correção de erros: Tente e corrija requisições para que a API GraphQL as aceite
  • Coleta de estatísticas: Exibe seus resultados em um arquivo organizado
  • Facilidade de uso: Tudo que você precisa é do endpoint e talvez do token de autenticação 😁

Primeiros passos

Para começar a usar o GraphQLer, consulte o guia de instalação.

Uso

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

Abaixo estão os passos de como você pode usar este programa para testar sua API GraphQL. O uso é dividido em 2 fases, compilação e fuzzing.

  • Modo de compilação: Este modo é responsável por executar uma consulta de introspecção na API fornecida e gerar o grafo de dependências.
  • Modo de fuzzing: Este modo é responsável por percorrer o grafo de dependências e enviar requisições de teste para a API.

Um terceiro modo também está incluído para facilidade de uso, chamado modo run. Este modo combina os modos de compilação e fuzzing em um único comando.

Modo de compilação

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

Após a compilação, você pode visualizar os resultados compilados em <SAVE_PATH>/compiled. Além disso, um grafo chamado dependency_graph.png será gerado para inspeção. Quaisquer UNKNOWNS nos arquivos .yaml compilados podem ser marcados manualmente; no entanto, se não forem marcados, o fuzzer ainda os executará, mas sem usar uma cadeia de dependências.

Modo de fuzzing

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

Durante o fuzzing, estatísticas relacionadas à API GraphQL e contagens de requisições em andamento são registradas no console. Quaisquer códigos de retorno de requisição são escritos em <SAVE_PATH>/stats.txt. Todos os logs durante o fuzzing são mantidos em <SAVE_PATH>/logs/fuzzer.log. O arquivo de log informará exatamente quais requisições são enviadas para quais endpoints e qual foi a resposta. Isso pode ser usado para análises adicionais dos resultados.

Modo de execução

Executa tanto o modo de compilação quanto o modo de fuzzing.

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

Funcionalidades avançadas

Existem também variáveis que podem ser modificadas no arquivo constants.py. Elas correspondem a funcionalidades específicas implementadas no GraphQLer e podem ser ajustadas conforme sua preferência.

Baixar ferramenta
Nome da VariávelDescrição da VariávelTipoPadrão
MAX_LEVENSHTEIN_THRESHOLDA distância de Levenshtein entre objetos e IDs de objetosInteger20
MAX_OBJECT_CYCLESNúmero máximo de vezes que o mesmo objeto deve ser materializado na mesma consulta/mutaçãoInteger3
MAX_OUTUPT_SELECTOR_DEPTHProfundidade máxima que a saída da consulta/mutação deve ser expandida (como no caso de seletores infinitamente recursivos)Integer3
USE_OBJECTS_BUCKETSe deve ou não armazenar IDs de objetos para uso futuroBooleanTrue
USE_DEPENDENCY_GRAPHSe deve ou não usar o recurso de reconhecimento de dependênciasBooleanTrue
MAX_FUZZING_ITERATIONSNúmero máximo de payloads de fuzzing para executar em um nóInteger5
MAX_TIMEO tempo máximo de execuçãoInteger3600