Prüfregel · RSC-SEC-065
Auth-Ergebnis wird nie ausgewertet
Meldet Funktionen, die die Identität abfragen, das Ergebnis aber weder prüfen noch an den Schreibvorgang binden — der Aufruf bleibt wirkungslos.
Warum das zählt
`await supabase.auth.getUser()` schützt nichts. Der Aufruf liefert einen Wert; erst was ihr mit dem Wert tut, ist die Zugriffsprüfung. Fehlt das `if (!user) throw`, läuft die Funktion für anonyme Aufrufer genauso durch wie für angemeldete.
Genau das produzieren Code-Generatoren zuverlässig: Das Muster „Benutzer laden“ gehört sichtbar zum Stil sicherer Server-Funktionen, die Konsequenz daraus ist aber kein Muster, sondern eine Entscheidung — und die trifft das Modell nicht. Ein Review, das nach `getUser` sucht, findet den Aufruf und hakt ab.
So prüft ihr es selbst: Sucht jede Stelle mit `getUser`, `getSession` oder `auth()` und lest die nächsten fünf Zeilen. Steht dort kein Abbruch und taucht der Benutzerwert auch nicht in den geschriebenen Daten auf, ist die Prüfung Dekoration.
Prüfstufe
So behebt ihr es
Ergebnis prüfen und bei fehlendem Benutzer abbrechen, oder die Benutzer-ID in die geschriebenen Daten binden.