offensive-graphql

Tests GraphQL APIs for vulnerabilities across the full offensive attack lifecycle.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/karenrebecag/spec-driven-standards --skill offensive-graphql-karenrebecag
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: offensive-graphql
Source: https://github.com/karenrebecag/spec-driven-standards/tree/main/plugins/security/skills/offensive-graphql
Command: npx skills add https://github.com/karenrebecag/spec-driven-standards --skill offensive-graphql-karenrebecag

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? GraphQL APIs consolidate an entire application surface behind one endpoint, and testers often lack a structured methodology to enumerate schemas, bypass authorization, and exploit GraphQL-specific weaknesses during penetration tests and bug bounty engagements. ## Core Features & Use Cases - Schema Reconnaissance: Dump schemas via introspection, or reconstruct them blindly using field suggestion oracles, clairvoyance, and client-side JavaScript bundle analysis when introspection is disabled. - Authorization and Injection Testing: Exploit Relay node ID IDOR, nested object authorization gaps, SQL/NoSQL injection through variables, SSRF via URL arguments, and directive flooding. - Abuse of GraphQL-Specific Features: Weaponize query batching for brute force and OTP bypass, depth bombs and alias amplification for denial of service, WebSocket subscription hijacking, and multipart file upload attacks. - Use Case: During a bug bounty engagement against a target with introspection disabled, use clairvoyance to rebuild the schema, decode Relay node IDs to enumerate other users' data, then batch OTP verification attempts to bypass two-factor authentication. ## Quick Start Ask the assistant to walk through attacking a GraphQL endpoint at a given URL, starting with endpoint discovery and introspection testing.

Frequently Asked Questions about offensive-graphql

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test a GraphQL API for security vulnerabilities?

Start by discovering the endpoint with a {__typename} query, fingerprint it with graphw00f, then dump the schema via introspection. Follow with authorization testing on every query and mutation, injection through variables, batching abuse, and depth-based denial of service checks.

How to get a GraphQL schema when introspection is disabled?

Use the field suggestion oracle by querying invalid field names and harvesting 'Did you mean' responses. Automate this with clairvoyance, which iterates a wordlist and assembles a reconstructed schema, or extract query strings from client-side JavaScript bundles.

What tools are used for GraphQL penetration testing?

Common tools include InQL for Burp Suite schema parsing, graphql-cop for configuration audits, CrackQL and BatchQL for batching attacks, clairvoyance for schema reconstruction, graphw00f for fingerprinting, and GraphQL Voyager for visualization.

Can GraphQL batching bypass rate limits and OTP verification?

Yes. GraphQL servers often accept arrays of operations in one HTTP request, while rate limiters count requests rather than operations. Batching hundreds of login or OTP verification mutations in a single request enables brute force and 2FA bypass.

How do I detect GraphQL IDOR vulnerabilities with Relay node IDs?

Relay node IDs are base64-encoded values like 'User:123'. Decode them, increment the numeric portion, re-encode, and query through the node interface with another user's ID. Missing ownership checks in resolvers expose the data.

What are the limitations of GraphQL depth-based DoS attacks?

Depth bombs fail when servers enforce query depth limits (typically 7-10 levels) or use cost analysis tools like GraphQL Armor. Circular fragment attacks also fail on modern implementations that detect fragment cycles during validation.