MR
Mayur Rathi
@sickn33
⭐ 47.3k GitHub stars

hunt-graphql

hunt-graphql is an code AI skill with a core value of Hunting skill for graphql vulnerabilities. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Hunting skill for graphql vulnerabilities.

Last verified on: 2026-10-06

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 47.3k
Last Verified 2026-10-06
Risk Level Low
mkdir -p ./skills/hunt-graphql && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/hunt-graphql/SKILL.md -o ./skills/hunt-graphql/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

> **⚠️ AUTHORIZED USE ONLY**

> This skill is for educational purposes or authorized security assessments only.

> You must have explicit, written permission from the system owner before using this tool.

> Misuse of this tool is illegal and strictly prohibited.


> **Mandatory confirmation gate**

> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:

> 1. Ask the user to state the exact target URL, IP, account, or resource.

> 2. Ask the user to confirm written authorization and the permitted scope.

> 3. Show the exact command(s) and explain their expected effect.

> 4. Wait for explicit confirmation in the current conversation.

>

> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.


Crown Jewel Targets


GraphQL vulnerabilities are high-value because the attack surface is both broad and deep — a single endpoint can expose entire data models, privilege escalation paths, and cross-API state confusion. Highest payouts occur in:


- **Platform APIs** (GitHub, Shopify, Stripe-tier targets) where GraphQL mutations interact with REST APIs managing the same resources

- **Race conditions between GraphQL mutations and REST endpoints** where state synchronization is non-atomic — these hit medium-to-high severity reliably

- **Authorization persistence bugs** where team/org/repo membership state is controlled by one API but readable/writable by another

- **B2B SaaS platforms** where one tenant affecting another via schema traversal = critical

- **Internal admin GraphQL endpoints** accidentally exposed to lower-privilege users


The GitHub reports demonstrate the crown jewel pattern: **privilege that should be revoked persists because two APIs disagree on ground truth**.


---


Attack Surface Signals


**URL Patterns:**

text
/graphql
/api/graphql
/v1/graphql
/query
/gql
/graph
/api/v2/graphql
/internal/graphql

**Response Headers:**

text
Content-Type: application/json  (with query body)
X-Request-Id + no REST-style path params = likely GraphQL

**JavaScript Source Patterns:**

js
// grep for these in JS bundles
"query {"
"mutation {"
"__typename"
"apollo"
"ApolloClient"
"graphql-tag"
"gql`"
"operationName"
"GRAPHQL_URI"

**Tech Stack Signals:**

- Apollo Server/Client in JS bundles

- Relay in React apps

- `graphene` or `strawberry` (Python), `graphql-ruby`, `gqlgen` (Go), `Lighthouse` (Laravel)

- POST requests with `{"query": "..."}` body shape in Burp history

- `__schema` or `__type` in any response = confirmed GraphQL


**Recon Sources:**

- `github.com` search: `"graphql" site:target.com`

- Wayback Machine for `/graphql` paths

- JS bundle scanning with `LinkFinder` or `getallurls`


---


Step-by-Step Hunting Methodology


1. **Discover the endpoint** — spider JS bundles, check `/graphql`, `/api/graphql`, review Burp passive scan hits for `application/json` POST with query fields


2. **Test introspection** — send the full introspection query. Even if blocked, try field-level enumeration:

```graphql

{ __typename }

```

If that returns, introspection may be partially blocked but the schema is discoverable


3. **Map the full schema** — use `InQL` (Burp extension) or `graphql-voyager` to visualize relationships. Specifically look for:

- Mutations that modify ownership, permissions, or membership

- Mutations that mirror REST API functionality


4. **Identify REST/GraphQL overlap** — document every resource that can be modified via BOTH REST and GraphQL. These dual-write surfaces are your RC targets.


5. **Test authorization boundaries per mutation** — replay mutations as lower-privilege users. Does the server enforce the same authz as the equivalent REST call?


6. **Hunt cross-API state desync** — find sequences where:

- REST action should revoke access

- GraphQL mutation re-grants or preserves it

- Test the ordering: REST first → GraphQL → check

🎯 Best For

  • Claude users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply hunt-graphql to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is hunt-graphql compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for hunt-graphql?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install hunt-graphql?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/hunt-graphql/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills