> ## Documentation Index
> Fetch the complete documentation index at: https://community.rifteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GraphQL Raider

> Complete GraphQL security testing methodology for introspection abuse, schema enumeration, query depth and batching attacks, alias bypasses, injection through arguments, broken authorization, CSRF, WebSocket hijacking, and mass-assignment exploitation. Trigger when the user finds a /graphql endpoint, sees GraphQL queries in traffic, wants to test a GraphQL API for vulnerabilities, needs to enumerate a hidden schema without introspection, wants to bypass rate limits or brute-force credentials through GraphQL, or needs to escalate privileges through mutations.

<Info>
  **Status:** Stable
  **Version:** 1.0.0
  **Author:** Rifteo
  **Tags:** graphql, pentest, api, injection, authorization, dos, idor, bug-bounty, web, websocket
</Info>

**Installation**

```bash theme={"system"}
rifteo-skills add graphql-raider
```

***

## Summary

Run a full GraphQL assessment from reconnaissance to exploit validation: identify the endpoint, enumerate the schema, trigger introspection abuse or schema oracles, test batching and depth limiting, verify authorization flaws, and confirm high-impact mutation abuse with evidence.

* Fingerprints GraphQL endpoints and distinguishes server behavior from the error response alone
* Enumerates query, mutation, and subscription surfaces to reveal hidden operations and leaked object fields
* Tests GraphQL-specific DoS vectors such as depth, alias abuse, and batching that generic API testing misses
* Probes argument injection, mass assignment, IDOR, and field-level authorization issues through real mutation flows
* Produces a confirmed exploit chain only when the evidence supports it

***

## SKILL.md file

<Accordion title="Discover skill details">
  ### GraphQL Raider

  Test GraphQL endpoints as a high-risk API surface by moving from reconnaissance to exploit-chain validation without guessing.

  #### What Does It Check?

  The skill covers the GraphQL-specific attack surface: introspection abuse, field suggestion oracles, depth and batching abuse, alias-based rate-limit bypass, arguments that can carry injection payloads, broken authorization on mutations, CSRF via GET-style mutations, and subscription or mass-assignment abuse.

  **In scope:**

  * `/graphql` and common GraphQL endpoint variants
  * Introspection and schema enumeration
  * Query depth, batching, alias, and rate-limit bypass checks
  * Injection via arguments (SQLi, NoSQLi, SSTI)
  * Broken object-level and field-level authorization
  * CSRF via GET mutations and mutation abuse through GraphQL
  * Subscription hijacking and mass assignment via mutation parameters
  * WAF and protection bypass patterns

  **Out of scope:**

  * Generic web app testing outside the GraphQL endpoint
  * Full pentest reporting across a whole application; this skill targets the GraphQL surface specifically

  #### How It Works

  **Phase 1 — Reconnaissance: Find & Fingerprint GraphQL**

  Check common GraphQL paths and send a minimal `__typename` request to confirm the endpoint and server type. Response signatures reveal whether introspection is enabled or if the server is exposing a particular framework behavior.

  **Phase 2 — Schema Enumeration**

  Enumerate the schema, list types, and prioritize mutation surfaces. The skill extracts the hidden objects, arguments, and sensitive fields most likely to produce privilege escalation or data leakage.

  **Phase 3 — Attack Selection**

  Move through the highest-value GraphQL abuse classes in order: introspection abuse, field suggestion oracle, query depth attacks, batching, alias-based rate-limit bypass, injection through arguments, broken object-level auth, broken field-level auth, CSRF via GET mutations, circular fragment DoS, subscription hijacking, and mass assignment.

  **Phase 4 — Confirm the Exploit**

  Only treat a finding as real if it is supported by a reproducible response or a working mutation. The skill validates privilege escalation or data access before writing up the result.

  **Phase 5 — Report the Finding**

  Write a structured result with the endpoint affected, the root cause, the exploit path, relevant evidence, and a concrete remediation recommendation.

  #### Output

  | Status                | Condition                                                            |
  | --------------------- | -------------------------------------------------------------------- |
  | Confirmed finding     | A GraphQL bug was reproduced and the impact is validated             |
  | Blocked but promising | A vulnerability is likely but needs one missing condition to confirm |
  | No issue found        | The endpoint rejects the payload or the behavior is not exploitable  |

  Example output structure:

  ```text theme={"system"}
  Title: GraphQL mutation allows privilege escalation via updateUser

  Severity: Critical

  Affected endpoint: POST /graphql

  Steps to reproduce:
  1. Authenticate as a low-privilege user.
  2. Submit a mutation that changes another user's role or admin flag.
  3. Observe the response returns the modified user record.

  Impact: Any authenticated user can promote another account to admin.

  Evidence: [request payload] / [response snippet]

  Recommendation: Enforce object-level authorization on every mutation and reject any update to privileged fields unless the caller has explicit admin rights.
  ```

  #### Known Limitations

  * The skill requires a real target or a reproducible GraphQL payload to validate behavior
  * Some protections depend on server-side API logic and may require account setup, multi-user testing, or WebSocket access
  * It does not replace a full application pentest; it focuses on the GraphQL attack surface
</Accordion>

***

## Benchmark Results

Tested on claude-sonnet-4-6 via Claude Code CLI. Same prompt, same model, same target. The only variable is whether the skill is loaded.

| Metric            | Without Skill   | With Skill       |
| ----------------- | --------------- | ---------------- |
| Turns to complete | 3               | 1                |
| Total tokens      | \~8,200         | \~2,400          |
| Time              | 185s            | 52s              |
| Attack coverage   | 2/14 techniques | 14/14 techniques |
| False positives   | 3 unverified    | 0                |

This benchmark reflects a real GraphQL target where the agent had to discover and exploit a schema-backed attack chain. Without the skill, the agent guessed at a mutation, stopped at partial enumeration, and left the attack path incomplete. With `graphql-raider`, the workflow covered the full GraphQL methodology in a single turn and produced a validated exploit chain with zero false positives.

***

## Related skills

<CardGroup cols={3}>
  <Card title="idor-hunter" href="/skills/idor-hunter">
    Systematic IDOR/BOLA detection methodology with recon, testing, and bypass techniques
  </Card>

  <Card title="jwt-cracker" href="/skills/jwt-cracker">
    Full JWT attack methodology including alg confusion, weak secret brute-force, and header exploitation
  </Card>

  <Card title="finding-writer" href="/skills/finding-writer">
    Convert raw pentest notes and exploit output into structured, report-ready findings
  </Card>
</CardGroup>
