Skip to content
  • valeriy famazon's avatar
    fix: standalone security hardening v0.5.1 (audit 2026-06-12) · 5446142e
    valeriy famazon authored
    
    
    - timing: rejection branches burn a constant bcrypt verify (no user
      enumeration oracle via response time)
    - timezone.utc instead of datetime.UTC: requires-python >=3.10 is honest
      again (UTC alias is 3.11+, import would fail at runtime on 3.10)
    - decode_token requires exp+sub claims (leaked secret must not mint
      eternal/anonymous tokens)
    - weak HS256 secrets (<32 bytes) raise ValueError loud
    - malformed stored bcrypt hash verifies False (401), not ValueError (500)
    
    Co-Authored-By: default avatarClaude Fable 5 <noreply@anthropic.com>
    5446142e