competition-jwt-claim-confusion

Analyzes JWT header, key selection, and claim validation paths to prove token-to-identity confusion bugs.

7|4|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/dbx0/skills --skill competition-jwt-claim-confusion-dbx0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: competition-jwt-claim-confusion
Source: https://github.com/dbx0/skills/tree/main/skills/identity-access/credential-access/competition-jwt-claim-confusion
Command: npx skills add https://github.com/dbx0/skills --skill competition-jwt-claim-confusion-dbx0

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? In CTF sandbox engagements, finding a JWT is easy, but proving exactly how its headers, key lookup, and claims turn into accepted identity or privilege is hard. This Skill provides a structured methodology to trace the full token-to-acceptance chain and isolate the decisive confusion bug without stopping at a successful decode. ## Core Features & Use Cases - Header and Key Selection Mapping: Records alg, kid, typ, jku, and embedded key material, and ties them to the actual key source such as static config, JWKS, local files, or caches. - Claim-to-Privilege Proof: Shows how subject, audience, issuer, tenant, scope, and role claims become sessions, route access, or backend privilege, separating parse success from authorization success. - Minimal Reproduction: Compresses findings into the smallest replayable token-to-acceptance sequence, with a canonical accepted path and a mutated path when confusion depends on a delta. - Use Case: During a CTF challenge, you capture a JWT with a suspicious kid field. Use this Skill to trace how the key is resolved, mutate the header, and prove the mutated token grants elevated role access. ## Quick Start Ask the assistant to analyze how a captured JWT's kid header and role claim are validated and accepted by the target service, after the ctf-sandbox-orchestrator has established sandbox assumptions.

Frequently Asked Questions about competition-jwt-claim-confusion

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I analyze JWT claim validation in a CTF challenge?

Split the token path into parse, key lookup, signature or decryption, claim validation, and final acceptance. Record header fields, claims, key source, issuer, audience, and role mapping before mutating anything, then reproduce the smallest token-to-acceptance flow that proves the confusion.

What is JWT alg confusion and kid injection?

Alg confusion occurs when a server accepts a different algorithm than intended, such as switching from asymmetric to symmetric signing. Kid injection abuses the key ID header to influence which key file or lookup path the server uses during verification.

Why does decoding a JWT not prove a vulnerability?

Decoding only shows the token's contents, not that the server accepts it as identity. You must demonstrate the full chain: parser invoked, key selected, signature verified, claims validated, and a session or privilege actually granted.

When should I use this skill instead of a general OAuth analysis?

Use it when the decisive bug is specifically in JWT header parsing, key selection, or claim acceptance rather than a broader OAuth redirect or authorization flow. If the task expands into a larger OAuth chain, hand back to the dedicated OAuth skill.

What evidence should I preserve when testing JWT validation bugs?

Keep raw headers, claims, the key source such as JWKS or local key path, and the accepting service. Also preserve the exact validation or normalization step that turns the token into accepted identity and one minimal replayable token-to-acceptance sequence.