Zum Inhalt springen

Prüfregel · RSC-SEC-065

Auth-Ergebnis wird nie ausgewertet

SicherheitSchweregrad: HochCWE-862OWASP A01-2021

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

Quellcode aus Source MapsRepo-Zugang (Deep-Scan)

So behebt ihr es

Ergebnis prüfen und bei fehlendem Benutzer abbrechen, oder die Benutzer-ID in die geschriebenen Daten binden.

Eigene App kostenlos prüfen