hunt-graphql
Faz seu agente procurar por vulnerabilidades em sistemas GraphQL. Melhora a segurança de aplicações que usam essa tecnologia.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em sistemas que usam GraphQL. Ela procura por maneiras de acessar informações ou realizar ações que não deveria, explorando como o GraphQL interage com outras partes do sistema.
Quando usar
- ✓Ao testar a segurança de um site ou aplicativo.
- ✓Para verificar se um sistema com GraphQL está protegido contra acessos não autorizados.
- ✓Para entender os riscos de segurança em APIs GraphQL.
Exemplo do que pedir para a IA
“Procure por vulnerabilidades de segurança na API GraphQL em https://exemplo.com/graphql”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa padrões em URLs, respostas e código para identificar um endpoint GraphQL. Em seguida, ela tenta interagir com esse endpoint para descobrir informações sensíveis ou falhas, como permissões incorretas ou condições de corrida.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill hunt-graphqlOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-graphql/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
⚠️ USO AUTORIZADO APENAS Esta habilidade é apenas para fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Portão de confirmação obrigatório Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar o URL exato do alvo, IP, conta ou recurso.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça somente leitura e forneça apenas orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
Alvos Principais (Crown Jewel Targets)
Vulnerabilidades GraphQL são de alto valor porque a superfície de ataque é ampla e profunda — um único endpoint pode expor modelos de dados inteiros, caminhos de escalonamento de privilégios e confusão de estado entre APIs. Os maiores retornos ocorrem em:
- APIs de Plataforma (alvos do nível GitHub, Shopify, Stripe) onde mutações GraphQL interagem com APIs REST que gerenciam os mesmos recursos
- Condições de corrida entre mutações GraphQL e endpoints REST onde a sincronização de estado não é atômica — estas atingem gravidade média a alta de forma confiável
- Bugs de persistência de autorização onde o estado de associação de equipe/organização/repositório é controlado por uma API, mas legível/gravável por outra
- Plataformas SaaS B2B onde um inquilino afetando outro através de travessia de esquema = crítico
- Endpoints GraphQL de administração interna acidentalmente expostos a usuários de menor privilégio
Os relatórios do GitHub demonstram o padrão de alvo principal: privilégios que deveriam ser revogados persistem porque duas APIs discordam sobre a verdade fundamental.
Sinais da Superfície de Ataque
Padrões de URL:
/graphql
/api/graphql
/v1/graphql
/query
/gql
/graph
/api/v2/graphql
/internal/graphql
Cabeçalhos de Resposta:
Content-Type: application/json (with query body)
X-Request-Id + no REST-style path params = likely GraphQL
Padrões de Código Fonte JavaScript:
// grep for these in JS bundles
"query {"
"mutation {"
"__typename"
"apollo"
"ApolloClient"
"graphql-tag"
"gql`"
"operationName"
"GRAPHQL_URI"
Sinais de Pilha Tecnológica:
- Apollo Server/Client em pacotes JS
- Relay em aplicativos React
grapheneoustrawberry(Python),graphql-ruby,gqlgen(Go),Lighthouse(Laravel)- Requisições POST com corpo
{"query": "..."}no histórico do Burp __schemaou__typeem qualquer resposta = GraphQL confirmado
Fontes de Reconhecimento:
- Pesquisa
github.com:"graphql" site:target.com - Wayback Machine para caminhos
/graphql - Escaneamento de pacotes JS com
LinkFinderougetallurls
Metodologia de Caça Passo a Passo
Descobrir o endpoint — rastrear pacotes JS, verificar
/graphql,/api/graphql, revisar acertos de varredura passiva do Burp para POSTapplication/jsoncom campos de consultaTestar introspecção — enviar a consulta de introspecção completa. Mesmo que bloqueado, tente enumeração em nível de campo:
{ __typename }Se isso retornar, a introspecção pode estar parcialmente bloqueada, mas o esquema é detectável
Mapear o esquema completo — usar
InQL(extensão Burp) ougraphql-voyagerpara visualizar relacionamentos. Procure especificamente por:- Mutações que modificam propriedade, permissões ou associação
- Mutações que espelham a funcionalidade da API REST
Identificar sobreposição REST/GraphQL — documentar cada recurso que pode ser modificado por AMBOS REST e GraphQL. Essas superfícies de escrita dupla são seus alvos de RC.
Testar limites de autorização por mutação — reproduzir mutações como usuários de menor privilégio. O servidor impõe a mesma autorização que a chamada REST equivalente?
Caçar dessincronização de estado entre APIs — encontrar sequências onde:
- A ação REST deveria revogar o acesso
- A mutação GraphQL concede novamente ou o preserva
- Testar a ordem: REST primeiro → GraphQL → verificar estado; depois GraphQL primeiro → REST → verificar estado
Testar privilégio persistente após alterações de função/associação — remover um usuário via REST, em seguida, chamar a mutação GraphQL correspondente para esse recurso. Consultar o estado atual através de ambas as APIs e comparar.
Sondar por IDOR em IDs de nó — IDs globais GraphQL frequentemente codificam tipo de objeto + ID. Trocar IDs entre limites de objeto e entre contextos de conta.
…
Perguntas frequentes
O que é GraphQL?
GraphQL é uma forma de construir APIs (interfaces que permitem que diferentes softwares conversem entre si) que dá mais flexibilidade para quem usa, permitindo pedir exatamente os dados que precisa.
O que são 'vulnerabilidades'?
Vulnerabilidades são falhas de segurança que podem ser exploradas por pessoas mal-intencionadas para acessar informações privadas, controlar sistemas indevidamente ou causar outros danos.
Por que é importante testar APIs GraphQL?
APIs GraphQL podem expor muitos dados e funcionalidades de uma só vez. Testar sua segurança é crucial para evitar que informações sensíveis sejam roubadas ou que o sistema seja usado de forma indevida.
Detalhes
Descrição original do autor
Hunting skill for graphql vulnerabilities.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3260
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC