Follow up remaining CodeQL security alerts outside #226
- Vorherrschende Sprache
- JavaScript
- Sterne
- 30
- Forks
- 9
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Follow-up to #226. This issue tracks the remaining active CodeQL findings intentionally outside the targeted password-persistence, API/social rate-limit, and CSRF remediation.\n\nScope:\n- verify CodeQL closes the former user-controlled logout redirect after the CSRF companion change, and investigate only if it remains;\n- replace the permissive CORS configuration in `server/index.js` with an explicit origin allowlist;\n- add evidence-backed rate limiting for the remaining authorization and filesystem-serving routes (`server/auth/index.js`, `server/index.js`) and the `server/api/friends.test.js` fixture if it remains in CodeQL scope.\n\nAcceptance criteria:\n- every remediation has a focused regression test or runtime verification;\n- CodeQL is rerun and the finding is closed by code, not suppression, dismissal, or query changes;\n- CORS behavior is checked against the deployed frontend/auth callback configuration before production rollout (#176).\n\nDo not broaden this issue into database/schema or email-related work.
Beitragsleitfaden
Rechercherichtung
Beginne mit den CodeQL-Befunden und den referenzierten Einstiegspunkten in server/index.js, server/auth/index.js und server/api/friends.test.js. Überprüfe, ob der Befund zur Logout-Weiterleitung nach der zugehörigen CSRF-Änderung geschlossen ist, und prüfe anschließend das bereitgestellte Frontend sowie die Konfiguration des Auth-Callbacks, bevor du das CORS-Verhalten überprüfst. Als abgeschlossen gilt die Aufgabe, wenn für jede Behebung fokussierte Regressionstests oder Laufzeitnachweise vorliegen und CodeQL erneut ausgeführt wurde, wobei die Befunde durch Code geschlossen sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, nodejs
- Bereich
- api, backend, security
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100