apk-redteam-pipeline
End-to-end Android APK red-team pipeline — automated APK acquisition (Play Store + apkpure + apkmirror fallback), jadx…
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
Claude Code
$ npx -y skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql --agent claude-code
Codex
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a codex -y
Cursor
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a cursor -y
Gemini CLI
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a gemini-cli -y
GitHub Copilot
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a github-copilot -y
OpenCode
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a opencode -y
Windsurf
$ npx skills add elementalsouls/Claude-BugHunter --skill hunt-fintech-graphql -a windsurf -y
name: hunt-fintech-graphql description: "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." sources: owasp_api_top10_2023, public_research report_count: 0
Generic GraphQL bugs (IDOR, mass assignment, introspection, batching abuse — see `hunt-graphql`) still apply here, but the blast radius changes completely: a resolver bug in a SaaS app leaks data, the same class of bug in a ledger mutation **moves money**. Three properties make fintech GraphQL backends a distinct hunting surface:
GraphQL mutation (`transferFunds`, `redeemRewards`, `withdrawToBank`) can trigger multiple ledger writes (debit + credit + fee) that must be atomic. GraphQL's flexible input shape and alias batching make it easy to desynchronize those writes.
interest, and rewards points are usually passed as GraphQL scalars (`Float`, `String`, custom `Decimal`/`Money` scalar). How the resolver parses and rounds that value is exploitable surface in its own right — this barely exists in non-financial GraphQL APIs.
types commonly expose `ssnLast4`, `routingNumber`, `kycStatus`, `governmentIdUrl`, or `linkedBankAccount` alongside `displayName` and `email` — one missing field-level authorization check on a type used everywhere in the schema fans out to every query that touches it.
---
**URL / schema naming patterns (in addition to `hunt-graphql`'s generic `/graphql` list):**
/graphql/ledger /graphql/payments /api/wallet/graphql /internal/ledger-graphql /banking/graphql
**Field/type names worth grepping schema introspection or JS bundles for:**
balance, availableBalance, pendingBalance, ledgerEntry, ledgerEntries transferFunds, withdraw, redeem, topUp, reverseTransaction, adjustBalance kycStatus, ssnLast4, routingNumber, accountNumber, governmentIdUrl quoteExchangeRate, interestAccrued, rewardsPoints, portfolioValue idempotencyKey, clientMutationId
**Tech-stack tells specific to this vertical:**
Run `hunt-graphql`'s discovery + introspection methodology first to get the schema; everything below assumes you already have (or have partially enumerated) a schema with money-movement types.
---
1. **Map every mutation that touches balance, whether directly or as a side effect.** Not just `transfer*`/`withdraw*` — also `redeemRewards`, `applyCoupon`, `upgradeTier`, `closeAccount` (often refunds a balance), `disputeTransaction` (often provisionally credits).
2. **For each money-movement mutation, identify the ledger write shape.** Does one mutation call produce one ledger entry or several (debit sender, credit receiver, fee entry)? Multi-entry writes are the ones worth racing — see Stage 4.
3. **Test idempotency-key handling.** Send the identical mutation (same `idempotencyKey` / `clientMutationId`) twice, back-to-back and with a delay. A ledger write on the second call means idempotency isn't enforced server-side — replay = double-execute.
4. **Test decimal/precision edge cases** on every amount-accepting argument — see Payload section. Confirm server-side rounding matches client-displayed rounding; a mismatch is directly monetizable.
5. **Probe cross-account IDOR on account/portfolio node IDs**, same as `hunt-idor`/`hunt-graphql`, but specifically test whether a `transferFunds`-style mutation validates that the **source account belongs to the authenticated caller** — not just that *some* account with that ID exists. This is the fintech-specific IDOR: authz on the *source* of a debit is easy to forget when authz on the *destination* of a credit was correctly implemented (crediting an arbitrary account "looks safe" to a developer; debiting one clearly isn't, so it gets checked — but sometimes only one direction does).
6. **Check field-level authorization on KYC/PII fields** by querying the shared `User`/`Account` type from every context that returns it — not just the profile screen. A `transaction` type that embeds `counterparty { ssnLast4 }` is a common place for the check to be missing, because the developer authorized the top-level `transaction` query but didn't re-check field access on the nested `counterparty`.
7. **Look for admin-tier mutations reachable via mass assignment**, not just a missing auth check — e.g. an input object with a client-settable `status` or `override` field t
A self-contained Claude skill bundle for bug hunting and external red-team work · 83 skills · 15 slash commands · 681 disclosed-report patterns (433 now individually cited & auditable) across 24 core vulnerability classes · enterprise identity +
End-to-end Android APK red-team pipeline — automated APK acquisition (Play Store + apkpure + apkmirror fallback), jadx…
Local-tooling companion to the bug-bounty orchestrator — carries the SAME complete bug-bounty workflow, but reach for THIS…
Use at the START of any bug bounty hunting session, when switching targets, or when feeling lost about what to do next. Master…
Complete bug bounty workflow — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source code…
Bugcrowd-specific reporting tactics complementing report-writing: VRT category search-and-fallback strategy when no exact match…
Cloud IAM red-team attack chain across AWS, Azure, GCP — focused on EXTERNAL exploitation paths and post-credential-discovery…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…