Skip to content

Guide · Agent skill

How to use the Offensive JWT Attack Checklist agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The offensive-jwt skill gives an AI agent a structured penetration-testing checklist for attacking JSON Web Tokens (JWTs), the signed tokens web and mobile apps use to prove who you are after you log in. This guide explains what the skill does, how to install it, how to ask for it in plain language, and where to be careful. It is written for security professionals on authorized tests, developers learning how JWT authentication fails, and anyone new to agent skills.

Offensive JWT Attack ChecklistSnailSploit/Claude-Red · MIT

Quick start

  1. 1Download the ZIP. Get the offensive-jwt skill ZIP from the directory page.
  2. 2Unzip into a skills folder. Extract it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder for one project.
  3. 3Or upload it in the apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the ZIP.
  4. 4Confirm you have authorization. Make sure you own the target or have written permission, and that it is within any program scope.
  5. 5Ask with a natural request. Name the target, the token location and the goal, such as testing algorithm confusion on a staging API.
  6. 6Review the results. Check each technique the agent reports and confirm the traffic was expected for the test window.

What the offensive-jwt skill makes the agent do

Agent skills are folders of instructions that an AI agent loads when a task matches them. The offensive-jwt skill is defined in a single file, SKILL.md, and tells the agent to follow a JWT attack methodology in order, applying each technique to the current target and tracking which items are done.

The checklist covers algorithm confusion (alg:none and RS256 to HS256), brute-forcing weak HMAC secrets, kid parameter injection (SQL injection and path traversal), jku, x5u and jwk header injection, JWKS cache poisoning, JWS/JWE confusion, timing attacks on HMAC, and mobile JWT storage extraction.

  • Checks for tokens in Authorization headers, cookies, and browser storage
  • Decodes the header and payload to find kid, jku, jwk and x5u fields
  • Tries forged or unsigned tokens and swapped signing algorithms
  • Reviews where Android and iOS apps store tokens

Install the offensive-jwt skill

Download the ZIP for the skill from the directory page. The skill is a folder containing SKILL.md. Unzip it into your personal skills folder, ~/.claude/skills/, so every project can use it. To limit it to one project, unzip it into that project's .claude/skills/ folder instead.

You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills. The skill is licensed under MIT.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the project's .claude/skills/
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Trigger the skill with natural requests

You do not need a special command. The skill's description says it applies when you are testing JWT-based authentication, hunting auth bypass via token manipulation, or evaluating JWT implementation security in web or mobile apps. Name the target and the goal in your request, and say that the test is authorized.

Good requests state the scope. For example, you might ask the agent to work through the JWT checklist against a staging API you are authorized to test, starting with decoding the token and checking the alg:none variants.

  • Test the JWT on our staging login API for algorithm confusion. We have written authorization.
  • Decode this bearer token and list every header parameter that could be an attack surface.
  • Walk the offensive-jwt checklist against this Android app's stored tokens.

Examples of what the agent does with the checklist

The source includes manual steps the agent can follow. It starts by decoding the token into its header, payload and signature. It then tests the none algorithm using all case variants such as None, NONE and nOnE. For algorithm confusion, it re-signs a token using the RSA public key as an HMAC secret. For kid tests, it tries path traversal and file-style values.

For mobile apps, the source lists Android SharedPreferences under /data/data/<package>/shared_prefs/, and an adb command to read a file via run-as. For API tests, it shows curl requests that send a JWT where an API key is expected and the reverse.

adb shell "run-as com.target.app cat /data/data/com.target.app/shared_prefs/auth.xml"

What you need before you start

The skill itself runs no scripts and uses the network. Its examples need Python with the requests library (for the timing-attack example), and curl and adb for the mobile and API examples. The skill also refers to optional external tools: JWT Tool, Burp Suite, Frida, objection, MobSF, hashcat, idb, and libimobiledevice (idevicebackup2).

You also need access to a target application and written authorization to test it.

  • Python with requests
  • curl and adb
  • Optional: JWT Tool, Burp Suite, Frida, objection, MobSF, hashcat, idb, libimobiledevice
  • A target application you are authorized to test

Safety notes: scope, network and traffic

The checklist describes active attacks. Some of them can be illegal and cause harm if used without permission, so only test systems you own or have written permission to test, and stay within a bug bounty program's published scope.

Some techniques generate heavy traffic. Brute-forcing secrets and timing requests can load a production system, so run them only in a coordinated test window. The skill uses the network, so every request it makes goes to the target you name.

  • Only test systems you own or have written permission to test
  • Stay within a bug bounty program's published scope
  • Avoid production systems without a coordinated test window

Tips for better results

Give the agent the real token and the endpoint it works against, and say which checks you have already done so it does not repeat them. Ask it to track completed items, since the skill is written to follow the steps in order.

If your goal is only to confirm your own JWT code is correct, a secure-coding or library-review guide will be more direct than this checklist.

  • Provide the endpoint and a sample token from an account you control
  • Ask for a list of completed and open checklist items
  • Use the skill for hardening work only when you need an attacker's view

What people use it for

  • Testing a web app's login API for alg:none and algorithm confusion weaknesses during an authorized pentest
  • Checking a bearer token's kid, jku and x5u headers for injection surfaces
  • Reviewing how an Android app stores tokens in SharedPreferences during a mobile assessment
  • Learning how JWT authentication fails so you can harden your own implementation

Frequently asked questions

Is the offensive-jwt skill free to use?

The skill is published under the MIT licence, as stated on its directory page. Check the licence file in the source repository for the full terms.

What do I need to install the offensive-jwt skill?

Download the ZIP from the directory page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. You can also upload the ZIP under Settings → Capabilities → Skills in the Claude apps.

Does the offensive-jwt skill run scripts?

No. The skill lists its files as SKILL.md only and does not run scripts, but it does use the network, so its requests reach the target you name.

What tools does the skill need?

Its examples need Python with requests, plus curl and adb. It refers to optional tools including JWT Tool, Burp Suite, Frida, objection, MobSF, hashcat, idb and libimobiledevice.

Can I use the skill on a site I do not own?

Only with written permission or within a bug bounty program's published scope. The checklist describes active attacks that can be illegal and harmful if used without authorization.

How does it compare with JWT Tool?

JWT Tool is a standalone tool that the skill itself references as a useful resource. The skill is a methodology the agent follows, so the two can be used together.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use the offensive-jwt skill if you run authorized penetration tests on web or mobile apps with JWT authentication, or if you are learning how JWT authentication fails. Pick a secure-coding or library-review guide instead if you only want to confirm your own JWT code is correct, and do not point the checklist at systems you are not allowed to test.

Download the skill