Skip to content
cccskills
FreePublished on GitHub

competition-jwt-claim-confusion

Trace how JWT, JWS, and JWE tokens become accepted identities or privileges in a CTF sandbox. Examine headers, key selection, and claims, the token's attributes, then preserve a minimal reproducible path demonstrating validation confusion.

OriginalShow the original description

Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for JWT, JWS, and JWE validation paths, header parsing, key selection, claim acceptance, audience and issuer checks, role derivation, and token-to-identity confusion bugs. Use when the user asks to inspect JWT headers or claims, key lookup, `kid` handling, `alg` confusion, audience or issuer validation, role claims, or explain how a token becomes accepted identity or privilege. Use only after `$ctf-sandbox-orchestrator` has already established sandbox assumptions and routed here.

Run score Not tested

See how to install

Good for

  • Inspect token headers and key selection in a CTF sandbox
  • Trace how token claims become application permissions
  • Build a minimal reproduction of token acceptance confusion

Files included (3)

  • SKILL.md3.0 KB
  • agents/openai.yaml410 B
  • references/jwt-claim-confusion.md1.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Competition JWT Claim Confusion

Use this skill only as a downstream specialization after $ctf-sandbox-orchestrator is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to $ctf-sandbox-orchestrator first.

Use this skill when the decisive bug is not just "there is a JWT," but how headers, claims, and key selection turn into accepted identity.

Reply in Simplified Chinese unless the user explicitly requests English.

Quick Start

  1. Split the token path into parse, key lookup, signature or decryption, claim validation, and final acceptance.
  2. Record header fields, claims, key source, issuer, audience, and role mapping before mutating anything.
  3. Separate possession of a token from the exact service that accepts it.
  4. Keep parser behavior, trust policy, and resulting app session or privilege in one chain.
  5. Reproduce the smallest token-to-acceptance flow that proves the decisive confusion.

Workflow

1. Map Header And Key Selection

  • Record header fields such as alg, kid, typ, cty, jku, or embedded key material when present.
  • Note where keys come from: static config, JWKS, local file, cache, or dynamic lookup.
  • Keep token parser, key selection path, and validation mode tied together.

2. Prove Claim-To-Privilege Acceptance

  • Show how subject, audience, issuer, tenant, scope, role, or custom claims become app session, route access, or backend privilege.
  • Record expiration, not-before, clock skew, issuer matching, audience matching, and claim normalization behavior.
  • Distinguish token parse success from actual authorization success.

3. Reduce To The Decisive JWT Path

  • Compress the result to the smallest sequence: token supplied -> parser or key path taken -> claim accepted -> resulting capability.
  • Keep one canonical accepted token path and one mutated token path if confusion or bypass depends on a delta.
  • If the task broadens into a larger OAuth redirect chain, hand back to the tighter OAuth skill.

Read This Reference

  • Load references/jwt-claim-confusion.md for the header checklist, claim checklist, and evidence packaging.

What To Preserve

  • Raw headers, claims, key source, JWKS or local key path, and the accepting service
  • The exact validation or normalization step that turns the token into accepted identity
  • One minimal replayable token-to-acceptance sequence

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

api-security

FreeSummary

Assess authorized APIs through a ten-stage workflow covering endpoint discovery, authentication, access permissions, input handling, and request limits. Collect reproducible evidence and turn findings into regression checks that can run in a development pipeline.

  • Review API authentication and access permissions
  • Assess GraphQL and WebSocket security
  • Check request limits and unintended data exposure
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

apk-reverse

FreeSummary

Inspect Android APKs from the command line to understand app logic, permissions, and components. Supports Java decompilation, low-level code edits, rebuilding and signing, plus Frida observation of running methods and routing to native code analysis.

  • Inspecting APK entry points, components, and permissions
  • Locating login, signing, and certificate checks
  • Editing smali code and rebuilding an APK
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

attack-chain

FreeSummary

Plan and coordinate authorized penetration tests across multiple stages, from reconnaissance to access, privilege escalation, movement between systems, and impact assessment. Assign specialist skills, revise blocked paths, and maintain evidence and progress records for the final report.

  • Plan a penetration test across multiple stages
  • Assess how far a vulnerability could lead
  • Replan from existing credentials or system access
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

binary-diff

FreeSummary

Transfer known function and variable names from an older binary to a newer version. Compare disassembly and pseudocode with an LLM, produce structured mappings, and apply names and comments in IDA.

  • Migrate known function names after a software update
  • Locate kernel functions when the new PDB is unavailable
  • Find updated function addresses and structure offsets
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

Inspect compiled programs in Binary Ninja using strings, function references, and intermediate representations—views of program logic at different levels. Trace data flow and report findings with addresses, supporting evidence, confidence, and reproduction steps.

  • Tracing function calls and data flow in Binary Ninja
  • Cross-checking findings from other disassemblers
  • Automating binary analysis with the Python API
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

Automate website navigation, form filling, content collection, and Windows desktop interactions. The skill selects browser or desktop tools for the task and guides screenshot capture and desktop network traffic observation when needed.

  • Automating website login and form entry
  • Collecting page content and screenshots
  • Operating Windows desktop applications
zhaoxuya520/reverse-skill43.1KUpdated Sep 22, 2026

See all skills by zhaoxuya520

Report a problem with this skill