graphql-and-hidden-parameters — скилл для Claude Code: тесты GraphQL
Плейбук по тестированию GraphQL и скрытых параметров: интроспекция, батчинг, недокументированные поля и дыры в авторизации.
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a claude-codeЧто делает graphql-and-hidden-parameters
Скилл задаёт порядок работы, когда в проекте есть GraphQL или REST-документация намекает на опциональные и устаревшие поля. Первый шаг — проверка интроспекции: запросы __typename и __schema с перечислением типов. Если интроспекция закрыта, дальше идут подсказки полей через ошибки, пробы известных типов вроде __type(name: "User") и разбор JS- и мобильных бандлов на маршруты.
Дальше — таблица высокоценных проверок: IDOR через user(id: "victim"), батчинг массивом операций логина или выборки объектов, поля только для админов, всплывшие в определениях типов, и вложенные объекты со слабее проверяемой авторизацией. Батчинг здесь работает как усилитель: одна операция тянет за собой много проверок.
Поиск скрытых параметров опирается на расхождения: поля есть в админской документации, но не в публичной; схемы с additionalProperties; фронтенд шлёт более богатые тела запросов, чем видно в интерфейсе; мобильные эндпоинты несут роль, организацию, фича-флаги и внутренние фильтры. Скилл умеет передавать работу дальше — на скиллы про авторизацию API, JWT и разведку эндпоинтов. Это инструмент для проверки своих приложений и авторизованного пентеста, а не для чужих систем.
Какие задачи решает
- проверить, открыта ли интроспекция GraphQL в приложении
- найти поля, доступные только администраторам
- собрать список скрытых параметров из мобильных эндпоинтов
- проверить авторизацию во вложенных объектах схемы
- оценить, меняет ли батчинг запросов поведение лимитов
Примеры запросов агенту
- Проверь интроспекцию GraphQL на нашем стенде и покажи список типов
- Найди в схеме поля, которые не должны быть доступны обычному пользователю
- Сравни тела запросов из фронтенда и мобильного клиента — какие параметры есть только во втором?
Как установить graphql-and-hidden-parameters
1Через Skills CLI (Vercel)
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a claude-code2Вручную: положить файлы
~/.claude/skills/graphql-and-hidden-parameters/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/graphql-and-hidden-parameters/
1Через Skills CLI (Vercel)
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a codex2Вручную: положить файлы
.agents/skills/graphql-and-hidden-parameters/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a cursor2Вручную: положить файлы
.cursor/skills/graphql-and-hidden-parameters/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install yaklang/hack-skills graphql-and-hidden-parameters2Вручную: положить файлы
.github/skills/graphql-and-hidden-parameters/SKILL.md1Через Skills CLI (Vercel)
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a gemini-cli2Командой платформы
gemini skills install https://github.com/yaklang/hack-skills --path skills/graphql-and-hidden-parametersВручную: положить файлы
.devin/skills/graphql-and-hidden-parameters/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора93
Похожие
Вопросы о graphql-and-hidden-parameters
Как установить graphql-and-hidden-parameters в Claude?
Выполните npx skills add yaklang/hack-skills --skill graphql-and-hidden-parameters -a claude-code. Скилл окажется в ~/.claude/skills/graphql-and-hidden-parameters/SKILL.md.
Что делает graphql-and-hidden-parameters?
Ведёт по шагам тестирования GraphQL: интроспекция, батчинг, недокументированные поля, скрытые параметры и пробелы в авторизации. На каждом шаге даёт конкретные запросы и подсказки, куда смотреть дальше.
С какими скиллами он стыкуется?
Если скрытые поля влияют на привилегии, скилл направляет к api-authorization-and-bola. При изменениях в авторизации или лимитах из-за батчинга — к api-auth-and-jwt-abuse, а при неполной разведке эндпоинтов — к api-recon-and-docs.
Исходный текст
SKILL.md · MIT
---
name: graphql-and-hidden-parameters
description: >-
GraphQL and hidden parameter testing playbook. Use when exploring introspection, batching, undocumented fields, hidden parameters, schema abuse, and GraphQL authorization gaps.
---
# SKILL: GraphQL and Hidden Parameters — Introspection, Batching, and Undocumented Fields
> **AI LOAD INSTRUCTION**: Use this skill when GraphQL exists or when REST documentation suggests optional, deprecated, or undocumented fields. Focus on schema discovery, hidden parameter abuse, and batching as a force multiplier.
## 1. GRAPHQL FIRST PASS
```graphql
query { __typename }
query {
__schema {
types { name }
}
}
```
If introspection is restricted, continue with:
- field suggestions and error-based discovery
- known type probes like `__type(name: "User")`
- JS and mobile bundle route extraction
## 2. HIGH-VALUE GRAPHQL TESTS
| Theme | Example |
|---|---|
| IDOR | `user(id: "victim")` |
| batching | array of login or object fetch operations |
| hidden fields | admin-only fields exposed in type definitions |
| nested authz gaps | related object fields with weaker checks |
## 3. HIDDEN PARAMETER DISCOVERY
Look for:
- fields present in admin docs but not public docs
- `additionalProperties` or permissive schemas
- frontend code using richer request bodies than visible UI controls
- mobile endpoints carrying role, org, feature-flag, or internal filter fields
## 4. NEXT ROUTING
- If hidden fields affect privilege: [api authorization and bola](../api-authorization-and-bola/SKILL.md)
- If GraphQL batching changes auth or rate behavior: [api auth and jwt abuse](../api-auth-and-jwt-abuse/SKILL.md)
- If endpoint discovery is incomplete: [api recon and docs](../api-recon-and-docs/SKILL.md)
© yaklang · MIT · yaklang/hack-skills