Skills for Real Engineers. Straight from my .agents directory.
hunt-fintech-graphql
Agent skill fromelementalsouls/Claude-BugHunter
Hunt fintech-specific GraphQL vulnerabilities: money-movement mutations (transfers, redemptions, withdrawals, card top-ups), ledger/balance/portfolio query IDOR, decimal-precision and rounding abuse, idempotency-key bypass enabling double-spend, KYC/PII field-level authorization gaps, and admin-override mutations reachable via mass assignment. Distinct from hunt-graphql, which owns generic GraphQL discovery and IDOR/mutation methodology — this skill owns the delta introduced when a GraphQL layer sits in front of a ledger, wallet, payments, banking, brokerage, or lending backend, where a resolver bug moves real money instead of just leaking data. Use when hunting a fintech, banking, payments, wallet, neobank, brokerage, or lending target that exposes a GraphQL API, or when a schema/response includes balance, transfer, ledger, redeem, quote, KYC, or account-linking fields.
How to install hunt-fintech-graphql
npx skills add elementalsouls/Claude-BugHunter# or add only this skill to Claude Code: copy the folder
skills/hunt-fintech-graphql/
# into
~/.claude/skills/hunt-fintech-graphql/ (all projects)
.claude/skills/hunt-fintech-graphql/ (one project)
1## Why Fintech GraphQL Is a Different Risk Class23Generic GraphQL bugs (IDOR, mass assignment, introspection, batching abuse — see `hunt-graphql`)4still apply here, but the blast radius changes completely: a resolver bug in a SaaS app leaks5data, the same class of bug in a ledger mutation **moves money**. Three properties make fintech6GraphQL backends a distinct hunting surface:78- **Money-movement mutations are almost always resolvers over a double-entry ledger.** A single9 GraphQL mutation (`transferFunds`, `redeemRewards`, `withdrawToBank`) can trigger multiple10 ledger writes (debit + credit + fee) that must be atomic. GraphQL's flexible input shape and11 alias batching make it easy to desynchronize those writes.12- **Decimals are attacker-controlled input, not display formatting.** Amounts, exchange rates,13 interest, and rewards points are usually passed as GraphQL scalars (`Float`, `String`, custom14 `Decimal`/`Money` scalar). How the resolver parses and rounds that value is exploitable surface15 in its own right — this barely exists in non-financial GraphQL APIs.16- **KYC/PII fields sit next to routine account fields in the same type.** `User` or `Account`17 types commonly expose `ssnLast4`, `routingNumber`, `kycStatus`, `governmentIdUrl`, or18 `linkedBankAccount` alongside `displayName` and `email` — one missing field-level authorization19 check on a type used everywhere in the schema fans out to every query that touches it.2021---2223## Attack Surface Signals24…
Excerpt shown under the repository's MIT license.
More skills in Claude-BugHunter
Similar skill repositories
Public repository for Agent Skills
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Production-grade engineering skills for AI coding agents.
The open-source app everyone uses to manage agents at work
