Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
GraphQLer — ☸史上初の依存関係を考慮したGraphQL APIテストツール! | Kitploit
ツール/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は、本番環境グレードのGraphQL APIで数多くのバグを見つけるために使用されてきました!

Video Demo

主な機能

  • 依存関係認識:依存関係に基づいてクエリとミューテーションを実行!
  • 動的テスト:テスト中に作成されたリソースを追跡
  • エラー修正:GraphQL APIが受け入れるようにリクエストを試行・修正
  • 統計収集:結果をわかりやすいファイルで表示
  • 使いやすさ:エンドポイントと場合によっては認証トークンがあればOK 😁

はじめに

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つのフェーズ、コンパイルとファジングに分かれています。

  • コンパイルモード:このモードは、指定されたAPIに対してイントロスペクションクエリを実行し、依存関係グラフを生成します。
  • ファジングモード:このモードは、依存関係グラフをトラバースし、APIにテストリクエストを送信します。

使いやすさのために、実行モードと呼ばれる3つ目のモードも含まれています。このモードは、コンパイルモードとファジングモードを1つのコマンドにまとめたものです。

コンパイルモード

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