ESC
v2.6 JWKS spoofing and key rotation checks

Break and harden
JSON Web Tokens.

One Rust binary to decode, forge, crack, and scan JWT and JWE tokens. Built for pentesters, bug hunters, and anyone who has to sign off on an auth flow.

$ cargo install jwt-hack
Quick start
$ jwt-hack scan eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
 
▎ RESULTS ────────────────────────────
✓ PASS None Algorithm Token does not use 'none' algorithm
✓ PASS Algorithm Confusion Symmetric algorithm
✓ PASS Kid Header No 'kid' header
✓ PASS JKU/X5U Header No JKU/X5U headers
... 11 more checks
▲ CRIT Weak Secret Uses weak secret: 'test'
◆ MED Token Expiration Missing 'exp', 'nbf'
■ LOW Missing Claims Missing recommended claims: aud, iss, jti
 
3 vulnerabilities found: 1 critical, 1 medium, 1 low
11commands
34payload targets
16scanner checks
--jsonon every command
Commands

Recon, attack, and report without switching tools.

Each step of a JWT assessment is a subcommand. They share flags, config, and output format, so the result of one feeds the next.

Coverage

The algorithms your targets actually run.

Signing
HS256HS384HS512 RS256RS384RS512 PS256PS384PS512 ES256ES384ES512 EdDSAnone
Key management
dirRSA-OAEPRSA-OAEP-256 ECDH-ESECDH-ES+A128KWECDH-ES+A256KW A128KWA256KW
Content encryption
A128GCMA256GCM
Formats
JWTJWE JWKSDEFLATE (zip)PEM
Install

Pick a package manager.

Every channel ships the same single binary. No runtime, no config needed to start.

All install options →
cargocargo install jwt-hack
brewbrew install jwt-hack
snapsudo snap install jwt-hack
chocochoco install jwt-hack
dockerdocker pull ghcr.io/hahwul/jwt-hack:latest

Open source, MIT licensed.

Found an attack jwt-hack doesn't cover yet? Open an issue or send a pull request.