mirror of
https://github.com/kennethreitz/responder.git
synced 2026-07-21 18:39:29 +00:00
6759c67c77
A dedicated adversarial pass over the 8.1.0 auth code found nine issues, all in responder/ext/auth.py, each now fixed with a regression test: Security: reject plaintext http JWKS URLs (MITM key injection); cap unknown-kid JWKS refetches behind a cache + cooldown (unauthenticated DoS); require exp by default (require_exp=True); stop mutating/freezing OAuth2 introspection principals (privilege retention). Correctness: a JWKS scheme sent an HS256 token no longer 500s (now 401); audience=None actually disables aud verification (was rejecting every OIDC token); scope and scp claims are unioned (Azure/Auth0 scp tokens no longer 403); empty OAuth2 flow URLs raise instead of emitting an invalid spec. Every fix verified fail-before/pass-after, then re-checked by an independent adversarial pass. Full suite green on 3.11 and 3.14. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>