JWT/OIDC failures often enable token forgery, token confusion, cross-service acceptance, and durable account takeover. Do not trust headers, claims, or token opacity without strict validation bound to issuer, audience, key, and context.
Attack Surface
Web/mobile/API authentication using JWT (JWS/JWE) and OIDC/OAuth2
Access vs ID tokens, refresh tokens, device/PKCE/Backchannel flows
First-party and microservices verification, gateways, and JWKS distribution
Verify enforcement - What is actually checked vs assumed
Validation
Show forged or cross-context token acceptance (wrong alg, wrong audience/issuer, or attacker-signed JWKS)
Demonstrate access token vs ID token confusion at an API
Prove refresh token reuse without rotation detection or revocation
Confirm header abuse (kid/jku/x5u/jwk) leading to key selection under attacker control
Provide owner vs non-owner evidence with identical requests differing only in token context
False Positives
Token rejected due to strict audience/issuer enforcement
Key pinning with JWKS whitelist and TLS validation
Short-lived tokens with rotation and revocation on logout
ID token not accepted by APIs that require access tokens
Impact
Account takeover and durable session persistence
Privilege escalation via claim manipulation or cross-service acceptance
Cross-tenant or cross-application data access
Token minting by attacker-controlled keys or endpoints
Pro Tips
Pin verification to issuer and audience; log and diff claim sets across services
Attempt RS256→HS256 and "none" first only if algorithm pinning is unclear; otherwise focus on header key control (kid/jku/x5u/jwk)
Test token reuse across all services; many backends only check signature, not audience/typ
Exploit JWKS caching and rotation races; try retired keys and missing kid fallbacks
Exercise OIDC flows with PKCE/state/nonce variants and mixed clients; look for mix-up
Try DPoP/mTLS absence to replay tokens from different devices
Treat refresh as its own surface: rotation, reuse detection, and audience scoping
Validate every acceptance path: gateway, service, worker, WebSocket, and gRPC
Favor minimal PoCs that clearly show cross-context acceptance and durable access
10. When in doubt, assume verification differs per stack (mobile vs web vs gateway) and test each
Summary
Verification must bind the token to the correct issuer, audience, key, and client context on every acceptance path. Any missing binding enables forgery or confusion.
How to use it
Copy the folder
Take asdfgh1445/strix•jwt 身份认证测试 from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
Check the name does not clash
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.