hunt-fintech-graphql
Faz seu agente buscar vulnerabilidades específicas de GraphQL em fintechs. Protege transações financeiras sensíveis.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em sistemas financeiros (fintechs) que usam uma tecnologia chamada GraphQL. Ela procura por maneiras de explorar erros que podem levar a movimentação indevida de dinheiro ou vazamento de dados sensíveis.
Quando usar
- ✓Ao testar a segurança de um aplicativo financeiro.
- ✓Para verificar se transações de dinheiro podem ser duplicadas ou alteradas indevidamente.
- ✓Para checar se informações pessoais sensíveis estão protegidas corretamente.
Exemplo do que pedir para a IA
“Procure por vulnerabilidades em um sistema de pagamentos fintech usando 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 como o sistema financeiro responde a comandos específicos. Ela verifica se é possível enviar comandos que manipulem valores, dupliquem transações ou acessem dados que não deveriam ser visíveis, explorando falhas na forma como o sistema processa as informações.
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-fintech-graphqlOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-fintech-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 destina-se apenas a 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.
Porta de confirmação obrigatória 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, IP, conta ou recurso exato do alvo.
- 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 apenas em modo de leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
Por que o GraphQL de Fintech é uma Classe de Risco Diferente
Bugs genéricos de GraphQL (IDOR, atribuição em massa, introspecção, abuso de batching — veja hunt-graphql)
ainda se aplicam aqui, mas o raio de explosão muda completamente: um bug de resolver em um aplicativo SaaS vaza
dados, a mesma classe de bug em uma mutação de ledger move dinheiro. Três propriedades tornam os backends de GraphQL de fintech
uma superfície de caça distinta:
- Mutations de movimentação de dinheiro são quase sempre resolvers sobre um ledger de partida dobrada. Uma única
mutação GraphQL (
transferFunds,redeemRewards,withdrawToBank) pode acionar múltiplas escritas no ledger (débito + crédito + taxa) que devem ser atômicas. A forma de entrada flexível do GraphQL e o batching de aliases facilitam a dessincronização dessas escritas. - Decimais são entrada controlada pelo atacante, não formatação de exibição. Valores, taxas de câmbio,
juros e pontos de recompensa são geralmente passados como escalares GraphQL (
Float,String, escalaresDecimal/Moneypersonalizados). Como o resolver analisa e arredonda esse valor é uma superfície explorável por si só — isso mal existe em APIs GraphQL não financeiras. - Campos KYC/PII ficam ao lado de campos de conta rotineiros no mesmo tipo. Tipos como
UserouAccountcomumente expõemssnLast4,routingNumber,kycStatus,governmentIdUrloulinkedBankAccountao lado dedisplayNameeemail— uma verificação de autorização em nível de campo ausente em um tipo usado em todos os lugares no esquema se espalha para todas as consultas que o tocam.
Sinais de Superfície de Ataque
Padrões de nomenclatura de URL / esquema (além da lista genérica de /graphql de hunt-graphql):
/graphql/ledger
/graphql/payments
/api/wallet/graphql
/internal/ledger-graphql
/banking/graphql
Nomes de campo/tipo que valem a pena buscar na introspecção do esquema ou em bundles JS:
balance, availableBalance, pendingBalance, ledgerEntry, ledgerEntries
transferFunds, withdraw, redeem, topUp, reverseTransaction, adjustBalance
kycStatus, ssnLast4, routingNumber, accountNumber, governmentIdUrl
quoteExchangeRate, interestAccrued, rewardsPoints, portfolioValue
idempotencyKey, clientMutationId
Indicações de stack de tecnologia específicas para esta vertical:
- Plaid/Stripe/Dwolla/Marqeta encapsulados por um gateway GraphQL interno (mutations
bankLink,plaidLinkToken) - Apollo Federation com um subgraph
ledgeroupaymentsdedicado — verifique se a introspecção do próprio subgraph é alcançável diretamente, contornando o esquema "costurado" do gateway - Escalares GraphQL personalizados
Money/Decimal/BigDecimalno esquema (scalar Money) — o parser para este escalar vale a pena ser fuzzado diretamente
Execute a metodologia de descoberta + introspecção de hunt-graphql primeiro para obter o esquema; tudo
abaixo assume que você já tem (ou enumerou parcialmente) um esquema com tipos de movimentação de dinheiro.
Metodologia de Caça Passo a Passo
Mapeie todas as mutations que tocam o saldo, seja direta ou como efeito colateral. Não apenas
transfer*/withdraw*— tambémredeemRewards,applyCoupon,upgradeTier,closeAccount(geralmente reembolsa um saldo),disputeTransaction(geralmente credita provisoriamente).Para cada mutation de movimentação de dinheiro, identifique a forma de escrita no ledger. Uma mutation chama produz uma entrada no ledger ou várias (débito do remetente, crédito do receptor, entrada de taxa)? Escritas de múltiplas entradas são as que valem a pena correr — veja Estágio 4.
Teste o manuseio da chave de idempotência. Envie a mesma mutation (mesmo
idempotencyKey/clientMutationId) duas vezes, uma após a outra e com um atraso. Uma escrita no ledger na segunda chamada significa que a idempotência não é aplicada no lado do servidor — replay = execução dupla.
…
Perguntas frequentes
O que é GraphQL?
GraphQL é uma forma de um aplicativo (como um site ou app) pedir e receber dados de um servidor. Ele é mais flexível que métodos antigos, mas também pode ter seus próprios tipos de falhas de segurança.
O que são 'vulnerabilidades'?
Vulnerabilidades são como 'portas destrancadas' ou 'pontos fracos' em um sistema que um invasor pode usar para fazer algo que não deveria, como roubar informações ou dinheiro.
Por que isso é importante para fintechs?
Fintechs lidam diretamente com dinheiro e dados pessoais. Falhas de segurança nesses sistemas podem ter consequências financeiras graves e afetar a privacidade dos usuários.
Detalhes
Descrição original do autor
Hunt fintech-specific GraphQL vulnerabilities
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3258
- 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