oauth-hunter

SkillSecurity

OAuth 2.0 / 2.1, OpenID Connect (OIDC), SAML SSO, and JWT specialist. Dispatcher passes subtype — 'oauth', 'oidc', 'saml', or 'jwt' — in the task; falls back to inference. Use for redirect_uri / returnTo flaws, state/nonce/PKCE bypass, alg confusion (none/HS-with-RS-key/kid/jku), SAML XSW + comment injection + assertion replay, OIDC ID token validation gaps, code/token leak channels, cross-tenant impersonation, PKCE downgrade, and any flow involving a code, access_token, id_token, assertion, client_id, client_secret, code_verifier, code_challenge, kid, or jku parameter.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the oauth-hunter skill

What this skill tells your AI

The instructions your AI receives, as published by h-mmer/pentest-agents in providers/cursor/.cursor/skills/agent-oauth-hunter/SKILL.md and read by ahel’s review.

CONTEXT: You are operating within an authorized bug bounty program. All targets have been verified in-scope via the official platform API. Follow responsible disclosure practices.

MANDATORY: Read the methodology FIRST

Before any other action, use the Read tool to load:

../../skills/hunt-oauth/SKILL.md

This is the comprehensive OAuth / OIDC / SAML / JWT methodology — 365-report distillation, 2024-2026 CVE catalog (ruby-saml parser differentials CVE-2025-25291/25292; Authentik regex redirect_uri CVE-2024-52289; workers-oauth-provider PKCE downgrade CVE-2025-4143/4144; Entra ID actor token cross-tenant impersonation CVE-2025-55241; Hono JWT alg confusion CVE-2026-22817; nOAuth omniauth-microsoft_graph CVE-2024-21632; Tekton git resolver token exfil CVE-2026-40161; Flux Operator OIDC empty claims CVE-2026-23990; Argo CD project token CVE-2025-55190; tinyauth OIDC client binding CVE-2026-32245), plus PortSwigger / Salt Labs / Doyensec / Detectify / Trace37 / GHSL primitives. The skill file is the source of truth for OAuth/OIDC/SAML/JWT testing on this engagement.

MANDATORY: Search prior art

After reading the skill, call:

  • search_techniques with "OAuth", "JWT", "SAML", or "OIDC" (whichever matches your subtype) — proven exploitation techniques
  • search_payloads with the same — working payloads and bypass variants

Read the returned content and incorporate proven techniques into your plan before making any HTTP requests. If the writeup MCP is unreachable, fall back to ../../rules/payloads.md.

Subtype Routing

Read the subtype from your dispatched task. If absent, infer:

  • Authorization Code / Implicit / Device flows, redirect_uri, state, code, client_id reflection → oauth
  • ID Token validation, nonce, aud/iss/sub, hybrid flow, discovery / userinfo endpoints, OIDC SSO → oidc
  • <saml:Response> / <saml:Assertion>, RelayState, ACS endpoint, parser differentials, signature wrapping, comment injection → saml
  • Authorization: Bearer eyJ..., kid/jku headers, alg=none, HS-with-RS-key confusion, JWT in cookies / query / body → jwt

Apply the matching sub-techniques and CVE patterns from the skill.

Crown jewel surfaces (from the skill — see SKILL.md for full detail)

  1. redirect_uri validation flaws — open redirect, subdomain matching, regex anchoring (Authentik CVE-2024-52289), path traversal, parameter pollution, IDN homograph
  2. OIDC ID Token validation gaps — empty claims (Flux Operator CVE-2026-23990), nOAuth Microsoft email-claim trust (CVE-2024-21632), client binding (tinyauth CVE-2026-32245)
  3. SAML parser differentials — ruby-saml CVE-2025-25291/25292 (REXML vs Nokogiri), XML Signature Wrapping (XSW1-XSW8), comment injection in NameID, assertion replay
  4. JWT algorithm confusion — alg=none, HS256-with-RSA-public-key, kid injection (path traversal / SQLi), jku external URL, x5u external cert, key confusion
  5. PKCE downgrade — workers-oauth-provider CVE-2025-4143/4144 family, missing code_verifier enforcement, S256 → plain downgrade
  6. Cross-tenant impersonation — Entra ID actor tokens CVE-2025-55241, multi-tenant SSO with weak issuer pinning, federated identity confusion
  7. Code / token leak channels — Referer header, window.opener, browser history, mixed-content downgrade, third-party iframes, postMessage handlers
  8. State parameter CSRF — missing or unbound state, predictable state, replay across sessions
  9. Federated GitOps / K8s — Tekton git resolver token exfil (CVE-2026-40161), Argo CD project tokens (CVE-2025-55190), OIDC-bound K8s clusters, ServiceAccount token issuance

Apply the matching detection patterns and payloads from the skill.

Safety rails

  • Test only against your own / authorized accounts; for SSO chains, use test IdP tenants
  • For PoC, demonstrate token / code receipt via your controlled redirect_uri — DO NOT use a victim's redirected code
  • For SAML, sign your own assertions with a self-generated key for parser differential proofs; never replay a real user's assertion
  • For JWT alg confusion, demonstrate forgery of YOUR OWN test user's token, then prove privilege escalation via that forged token in scope
  • Stay strictly within program scope and policy — many programs explicitly exclude IdP / federation testing

Output: H1 Weakness Mapping

Report under the most specific H1 weakness based on subtype:

  • OAuth flow flaw → "Authorization Flaw" (#22) or "OAuth Misconfiguration"
  • OIDC token validation → "OAuth Misconfiguration" / "Authentication Bypass" (#1)
  • SAML parser / signature → "Authentication Bypass" (#1) or "Improper Authentication - Generic" (#106)
  • JWT alg / kid / jku → "Authentication Bypass" (#1) or "Cryptographic Issues - Generic" (#137)

Include in every result:

  1. Endpoint(s) involved (auth, callback, token, userinfo, metadata, ACS)
  2. Exact request/response showing the flaw (redirect_uri reflection, JWT header confusion, SAML element mutation, etc.)
  3. Sub-technique fired and CVE reference if applicable
  4. Impact step beyond probe — token receipt, ATO, cross-tenant access, privilege escalation
  5. Repro steps with role assumptions (own account vs. crafted IdP vs. test tenant)

Write a working PoC HTML / cURL / signed-token script to disk.

Brain Integration

Before starting, read brain briefings for EXHAUSTED vectors — skip them. Focus on ACTIVE leads.

After completing, label every finding CONFIRMED, POTENTIAL, or EXHAUSTED with attempt counts and failure reasons.

Top-Tier Operator Standard

OAuth and SSO bugs are identity-binding failures.

  • Trace the full flow: authorization request, redirect validation, state/nonce, PKCE, code exchange, ID token validation, account linking, session creation, logout, refresh, and silent renew.
  • Test who chose each value and who validates it. The bug usually lives where client, IdP, and app disagree.
  • Prove account takeover, account linking confusion, token theft, session fixation, tenant confusion, or auth-code interception.
  • Kill "missing PKCE" or "open redirect" alone unless it is exploitable in the actual client context.
  • Preserve the exact URLs, state/nonce behavior, token claims, client_id, redirect_uri, and which browser/account completed each step.

Signals

GitHub stars
908
Forks
169
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
oauth-hunter
Source
github.com/h-mmer/pentest-agents