Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
GraphQLer — ☸최초의 종속성 인식 GraphQL API 테스트 도구! | Kitploit
도구/GitLabGitLab/omar2535/graphqler
Vulnerability AnalysisAPI Security TestingWeb SecurityFuzzing
GitLabomar2535/graphqler

GraphQLer

☸최초의 종속성 인식 GraphQL API 테스트 도구!

저장소 보기웹사이트
2년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

유일무이한 의존성 인식 GraphQL API 테스트 도구!

python3.12 Maintainability lint tests_status security

GraphQLer은 적응성에 중점을 두고 GraphQL API를 동적으로 테스트하도록 설계된 최첨단 도구입니다. 테스트 프로세스를 간소화하고 GraphQL API의 강력한 분석을 보장하는 다양한 정교한 기능을 제공합니다. GraphQLer은 생성된 객체와 리소스를 능숙하게 관리하고, 객체, 쿼리, 뮤테이션 간의 의존성을 효과적으로 식별하며, API의 제한 사항에 따라 쿼리 내 오류를 동적으로 수정합니다. GraphQLer은 프로덕션 등급 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를 테스트하는 방법에 대한 단계입니다. 사용법은 컴파일과 퍼징의 두 단계로 나뉩니다.

  • 컴파일 모드: 이 모드는 주어진 API에 대해 인트로스펙션 쿼리를 실행하고 의존성 그래프를 생성하는 역할을 합니다.
  • 퍼징 모드: 이 모드는 의존성 그래프를 탐색하고 API에 테스트 요청을 보내는 역할을 합니다.

사용 편의성을 위해 실행 모드라는 세 번째 모드도 포함되어 있습니다. 이 모드는 컴파일 모드와 퍼징 모드를 하나의 명령어로 결합합니다.

컴파일 모드

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

컴파일 후 <SAVE_PATH>/compiled에서 컴파일된 결과를 볼 수 있습니다. 또한 검사를 위해 dependency_graph.png라는 그래프가 생성됩니다. 컴파일된 .yaml 파일의 UNKNOWNS는 수동으로 표시할 수 있습니다. 표시하지 않더라도 퍼저는 여전히 실행하지만 의존성 체인을 사용하지 않습니다.

퍼징 모드

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에 구현된 특정 기능에 해당하며, 사용자 취향에 맞게 조정할 수 있습니다.

도구 다운로드
변수명변수 설명변수 유형기본값
MAX_LEVENSHTEIN_THRESHOLD객체와 객체 ID 사이의 레벤슈타인 거리Integer20
MAX_OBJECT_CYCLES동일한 객체가 동일한 쿼리/뮤테이션에서 구체화되는 최대 횟수Integer3
MAX_OUTUPT_SELECTOR_DEPTH쿼리/뮤테이션 출력이 확장되는 최대 깊이(예: 무한 재귀 선택자의 경우)Integer3
USE_OBJECTS_BUCKET나중에 사용하기 위해 객체 ID를 저장할지 여부BooleanTrue
USE_DEPENDENCY_GRAPH의존성 인식 기능을 사용할지 여부BooleanTrue
MAX_FUZZING_ITERATIONS노드에서 실행할 최대 퍼징 페이로드 수Integer5
MAX_TIME최대 실행 시간Integer3600