WebAuthn / Passkey protocol analysis and ES256 verification toolkit
| 能力 | 已实现范围 |
|---|---|
| 协议解析 | 严格 Base64URL、ByteReader、有界 CBOR、ClientDataJSON、AuthenticatorData、AttestationObject,保留原始范围 |
| 密码学验证 | ES256 / P-256 公钥参数与曲线点检查、SHA-256、ECDSA、严格 DER Assertion 入口 |
| RP 策略 | Challenge、精确 Origin、RP ID hash、凭证及账户绑定、UP / UV、BE / BS、计数器风险 |
| 状态管理 | 会话与用途绑定、时效、一次性挑战消费、SQLite 事务及凭证 version 条件更新 |
| 开发者入口 | MoonBit CLI、Node.js Reference RP、Vue Dashboard、逐项检查与脱敏导出 |
| 部署工程准备 | Ubuntu 22.04 / Nginx / systemd、后端 TLS 强制验证、只读预检与回滚材料 |


git clone --branch main https://github.com/Ksuserkqy/moonpasskey-lab.git
cd moonpasskey-lab
moon update
./scripts/demo.sh./scripts/demo.sh cli
moon run cmd/main --target js -- --input submission/2026-moonbit-hackathon/demo/verify-valid.json
moon run cmd/main --target js -- --input submission/2026-moonbit-hackathon/demo/verify-wrong-origin.json --json
| 包 | 责任 |
|---|---|
| base64url / bytereader / cbor | 严格解码、安全读取、资源预算、重复键与源范围 |
| webauthn | 客户端与认证器数据、attestation 结构、ES256、公钥点、DER 验签和 Assertion 策略 |
| analysis / cmd/main | 组合验证入口、脱敏报告、文件输入及退出码 |
| 依据 | 当前范围 |
|---|---|
| W3C WebAuthn Level 3 | 三类核心结构解析、原始字节保留、ES256 Assertion 的签名及 RP 策略;包含固定版本官方向量 |
| RFC 4648 / RFC 8949 | 严格 Base64URL 与有界 CBOR 子集 |
| COSE / ES256、P-256、DER | EC2 / ES256 / P-256 参数与点检查、严格 DER 解码及 ECDSA 验签 |
| Attestation | 通用 Map / Array 结构;none 必须为空 Map,其他格式维持 FormatNotValidated |
Install
Download zipWebAuthn / Passkey protocol analysis and ES256 verification toolkit