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 client's redirect_uris array literal contains overly permissive entries.
Acceptance criteria
New check IDs
oauth_redirect_uri_wildcard_review
Files touched
crates/sessionscope-classifier/src/oauth_flow.rs
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 client's
redirect_urisarray literal contains overly permissive entries.Acceptance criteria
oauth_redirect_uri_wildcard_reviewfires when a literalredirect_urisarray contains:*wildcardhttps://example.com)*.example.comform)New check IDs
oauth_redirect_uri_wildcard_reviewFiles touched
crates/sessionscope-classifier/src/oauth_flow.rsFixture expectations
redirect_uris: ['https://*.example.com/callback'].redirect_uris: ['https://app.example.com/auth/callback'].redirect_uris: [process.env.REDIRECT_URI]— dynamic, no fire (but emits review-required evidence note).Audit-then-decide
dynamic_review_required, severitymedium.Doc-update checklist
docs/USAGE.mdcheck catalog.docs/COVERAGE_MATRIX.mdrow.CHANGELOG.mdunreleased entry.