graphql-and-hidden-parameters について
GraphQL と REST API を調査するセキュリティテスト用スキルです。スキーマの発見、未公開パラメーターの確認、バッチ処理の影響に重点を置きます。
主な機能
- 01GraphQL スキーマの調査
- 02エラーとフィールド候補の検証
- 03未公開パラメーターの確認
- 04バッチ処理のセキュリティテスト
- 05調査結果に応じた次のテスト案内
活用シーン
- 01制限された GraphQL スキーマの把握
- 02未公開フィールドの認可確認
- 03認証やレート制限へのバッチ処理の影響確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yaklang/ hack-skills --skill graphql-and-hidden-parametersインストール後、Claude Code で/graphql-and-hidden-parametersを入力して読み込まれたか確認します。
詳細
スキル:GraphQL と隠しパラメーター — イントロスペクション、バッチ処理、未文書化フィールド
AI LOAD INSTRUCTION:GraphQL が存在する場合、または REST ドキュメントにオプション、非推奨、未文書化のフィールドが示されている場合は、このスキルを使用します。スキーマの探索、隠しパラメーターの悪用、増幅要因としてのバッチ処理に重点を置きます。
1. GRAPHQL の初回確認
query { __typename }
query {
__schema {
types { name }
}
}
イントロスペクションが制限されている場合は、以下を続けて確認します。
- フィールドの候補提示と、エラーを利用した探索
__type(name: "User")など、既知の型を使ったプローブ- JS およびモバイルバンドルからのルート抽出
2. 重要度の高い GRAPHQL テスト
| テーマ | 例 |
|---|---|
| IDOR | user(id: "victim") |
| バッチ処理 | ログイン操作またはオブジェクト取得操作の配列 |
| 隠しフィールド | 型定義で公開されている管理者専用フィールド |
| ネストされた認可の不備 | 関連オブジェクトのフィールドで、チェックがより緩いもの |
3. 隠しパラメーターの探索
以下を確認します。
- 管理者向けドキュメントにはあるが、公開ドキュメントにはないフィールド
additionalPropertiesまたは制約の緩いスキーマ- 表示されている UI コントロールよりも豊富なリクエストボディを使うフロントエンドコード
- ロール、組織、機能フラグ、内部フィルターフィールドを含むモバイルエンドポイント
4. 次のルーティング
- 隠しフィールドが権限に影響する場合:API 認可と BOLA
- GraphQL のバッチ処理が認証またはレート制限の挙動を変える場合:API 認証と JWT の悪用
- エンドポイントの探索が不完全な場合:API の偵察とドキュメント
コメント
Markdown 対応