← ClaudeAtlas

auditing-device-code-and-pkce-flowslisted

Audit the server side of the authorization-code-with-proof-key and device-authorization grants for bugs that let a stolen or guessed code become a token. Covers a token endpoint that issues without checking the proof-key verifier at all, that accepts the plain challenge method or a challenge-absent downgrade, or that binds the verifier to the client rather than to the specific code; and a device grant whose short user code is brute-forceable because polling is unthrottled, whose device code is not bound to the requesting client, or whose approval is not tied to the authenticated approver. Scoped to the proof-key and device-code specifics, not general federated login, which a separate skill covers. Use when reviewing a token endpoint or a device-authorization endpoint. The token request parameters are the source, token issuance is the sink, and an unenforced proof binding between them is the bug.
UnboundCompute/security-agent-skills · ★ 4 · AI & Automation · score 80
Install: claude install-skill UnboundCompute/security-agent-skills
# Auditing proof-key and device-code grants: when a code becomes a token without proof The proof-key exchange and the device-authorization grant both exist to close one gap: a authorization code, on its own, can be intercepted, and a short user code can be guessed. Each grant adds a proof that binds the token request to the party that actually started the flow, a verifier that only the real client knows, or a device code that only the real device holds. The server side is where that proof is enforced, and where it is quietly not. When the token endpoint issues without checking the verifier, honors a downgraded challenge, or hands tokens for a device code it never bound to a client, an intercepted or guessed code becomes a live token. You find these by reading the issuance path and asking what proof it demands before it mints a token. ## When to use - The code implements or wraps a token endpoint that redeems an authorization code, or a device-authorization grant. - A public client (one that cannot hold a secret) relies on the proof key as its protection against code interception. - You want to know whether a captured code, a downgraded challenge, or a guessed user code yields a token. ## Scope check Exercise token and device-authorization endpoints only on systems you own or are authorized to assess, with test clients and test accounts. A confirmed issuance bypass is an authentication bypass, so treat it as account-takeover-grade and coordinate. If you can't name the aut