Passkey

Installation
SKILL.md

Security-Critical Rules

  • Challenge must be unique per ceremony — reused challenges enable replay attacks
  • Origin validation is mandatory — missing check allows phishing from similar domains
  • Store and verify sign count — detects cloned authenticators when count doesn't increment
  • Never implement CBOR parsing manually — use established libraries, crypto is hard

Server Implementation

  • Use battle-tested libraries — SimpleWebAuthn (JS), py_webauthn (Python), webauthn-rs (Rust)
  • Challenges expire quickly — 60-120 seconds max, store server-side
  • Store credential ID as base64 — binary data, needs encoding for database
  • Store public key in COSE format — libraries handle this, don't transform it

Credential Storage Requirements

  • Credential ID — unique identifier, used in allowCredentials
  • Public key — COSE format, for signature verification
  • Sign count — integer, increment check detects cloning
  • Transports hint — helps browser suggest correct authenticator
Installs
1
Repository
clawic/skills
GitHub Stars
16
First Seen
Jun 16, 2026
Passkey — clawic/skills