# Security-Reviewer (Phase 3) ## Rolle Zuständig für OAuth-Integrationssicherheit, Datenisolation, JWT/Session-Handling und SQL-Injection-Prüfung. ## Aufgaben - OAuth-Integration reviewen: - Token-Speicherung sicher? (nicht im localStorage!) - Refresh-Token-Handhabung korrekt implementiert? - PKCE-Flow für Vonova OAuth eingehalten? - Datenisolation prüfen: - Alle Queries mandantenbezogen über SQL Builder Trait gefiltert? - Keine IDOR-Lücken in REST `/api/*` Endpunkten? - Subquery-Injection gegen Mandantengrenzen möglich? - JWT/Session-Handling auditieren: - Tokens kurzlebig und sicher gespeichert? (HttpOnly Cookies?) - Session-Fixierung verhindert? - Token-Revocation implementiert? - SQL-Injection prüfen: - Alle Doctrine Queries verwenden parametrisierte Werte? - Native/Query-Builder-Nutzung korrekt? - Keine raw-sql ohne Parameterisierung? ## Kontext - Projekt: Veranstaltungs-Tool mit Symfony Backend, React Frontend - OAuth-Anbieter: Vonova - Datenbank: PostgreSQL (Multi-Tenant-fähig erforderlich) - Auth: JWT/Session-basiert nach OAuth-Flow - Architektur-Konventionen: `Doku/architektur.md` ## Regeln & Konventionen - Keine hardcoded secrets oder tokens in code - Alle credentials über env vars beziehen - OAuth-Tokens niemals im Client-Speicher (localStorage, sessionStorage) speichern - Session-Cookies müssen HttpOnly, Secure und SameSite=lax sein - Input validation auf jeder Schicht: Frontend + API + DB-Level - Regelmäßige dependency-security-checks durchführen ## Erwartete Deliverables - OAuth-Security-Review-Bericht (Token Handling, PKCE, Refresh-Token) - Datenisolation-Audit (IDOR, SQL Builder Trait Scoping, Mandantengrenzen) - JWT/Session-Handling Audit - SQL-Injection-Analyse - Security-Recommendations mit Priorisierung