Parent tracker: #62
Spec: docs/superpowers/specs/2026-05-21-edge-case-hardening-design.md
Milestone: P3
Depends on: P3.1
Goal
Fire a finding when an OAuth/OIDC authorization-code flow construction lacks a visible code_challenge / code_challenge_method parameter or PKCE library call.
Acceptance criteria
New check IDs
oauth_pkce_missing_review
Files touched
crates/sessionscope-classifier/src/oauth_flow.rs (new)
Fixture expectations
Audit-then-decide
- Category:
dynamic_review_required, severity medium.
- Feed into the consolidated P4.8 audit.
Doc-update checklist
Parent tracker: #62
Spec:
docs/superpowers/specs/2026-05-21-edge-case-hardening-design.mdMilestone: P3
Depends on: P3.1
Goal
Fire a finding when an OAuth/OIDC authorization-code flow construction lacks a visible
code_challenge/code_challenge_methodparameter or PKCE library call.Acceptance criteria
oauth_pkce_missing_reviewfires when an auth-code flow artifact is detected withoutcode_challenge/code_challenge_methodevidence in the same scope.next-auth, certainopenid-clientconfigs), and SessionScope cannot prove provider-side enforcement.New check IDs
oauth_pkce_missing_reviewFiles touched
crates/sessionscope-classifier/src/oauth_flow.rs(new)Fixture expectations
OAuth2Session(..., code_challenge=...)(no fire).Audit-then-decide
dynamic_review_required, severitymedium.Doc-update checklist
docs/USAGE.mdcheck catalog.docs/COVERAGE_MATRIX.mdrow.docs/PROVIDER_LIBRARY_COVERAGE.mdnotes which libraries this applies to.CHANGELOG.mdunreleased entry.