auditing-webauthn-and-passkey-flowslisted
Install: claude install-skill UnboundCompute/security-agent-skills
# Auditing passkey and WebAuthn ceremonies: when a verified signature seats the wrong user
A passkey ceremony proves that some authenticator signed a challenge. It does not, by itself, prove
who is signing in. Every WebAuthn bug worth finding lives in the gap between "this signature is
valid" and "therefore user U is logged in," and that gap is closed only by a specific list of
server-side checks. When one of those checks is missing, homegrown, or bypassable, attacker-shaped
bytes from the ceremony response flow straight into an authenticated session. You find these by
reading the verification path and asking, for each required check, whether it runs and whether the
value it checks is the one the attacker cannot forge.
## When to use
- Code verifies a WebAuthn registration or authentication response and then creates a credential or a session.
- The application implements the ceremony itself, or calls a library but supplies the policy and expected values.
- You want to know whether a valid signature can be replayed, phished, or bound to the wrong account.
## Scope check
Test passkey flows only on systems you own or are authorized to assess, with test accounts and test
authenticators. A ceremony bypass is an authentication bypass, so treat any confirmed finding as
account-takeover-grade and coordinate disclosure. If you can't name the authorization, stop.
## The loop
1. **Map the verification path and whether a library owns the ceremony.** Find the registration and
au