GraphQL API security testing v2. Coverage: introspection bypass (6 techniques), clairvoyance field brute-force, alias-based rate limit bypass, batch query IDOR, depth/cyclic query DoS, persisted queries bypass, field suggestion leak, and subscription hijacking.
SkillScore80Maintained
Automatic
◆Security & AppSec pack
Last verified 8/4/2026
What it changes
Passed 20 of 25 test cases with the skill, and 16 of 25 without it.
Without skill64%
With skill80%
Checks it passed that the model alone missed
Sends connection_init payload over WebSocket.
Stores schema JSON at findings/graphql/_schema.json.
Initializes query batching tests with 10 queries per batch.
and 1 more in the full report
4 fixed16 passed either way5 still failing0 broke
Pass-rate lift
+16 pp
Tokens
+104%
Agent turns
0%
Response time
-17%
Model gemini-3.6-flashMeasured 8/4/2026v120 of 25 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 4
Prompt
When saving full GraphQL schema findings from an audit, which exact file path under the findings directory should contain the schema JSON?
What was checked, without and with the skill
Checked
Without skill
With skill
Stores schema JSON at findings/graphql/_schema.json.
Missed
Passed
case-23 · gemini-3.6-flash · 8/4/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md292 linessingle file
GraphQL Testing v2 — Deep Coverage
0. Detection
# Common endpoints
/graphql /graphiql /gql /v1/graphql /api/graphql
/query /playground /graphql/console /graphql-explorer
# Quick confirmation
curl POST https://{target}/graphql \
-H "Content-Type: application/json" \
-d '{"query":"{ __typename }"}'
# → {"data":{"__typename":"Query"}} = GraphQL confirmed
# Check for GET support (easier to exploit)
curl "https://{target}/graphql?query=%7B__typename%7D"
1. Introspection — 6 Bypass Techniques
Technique 1: Standard
{ __schema { types { name fields { name type { name kind ofType { name } } } } } }
Technique 2: Proxied via __typename
fragment FullType on __Type {
kind name description
fields(includeDeprecated: true) { name description args { ...InputValue } type { ...TypeRef } }
inputFields { ...InputValue }
}
fragment TypeRef on __Type { kind name ofType { kind name ofType { kind name } } }
fragment InputValue on __InputValue { name description type { ...TypeRef } defaultValue }
query IntrospectionQuery { __schema { queryType { name } mutationType { name } types { ...FullType } } }
Adapt designs to work across different screen sizes, devices, contexts, or platforms. Implements breakpoints, fluid layouts, and touch targets. Use when the user mentions responsive design, mobile layouts, breakpoints, viewport adaptation, or cross-device compatibility.