Zum Inhalt springen

Prüfregel · RSC-SEC-074

Fremdes Konto darf in eure Tabellen schreiben

SicherheitSchweregrad: HochCWE-284OWASP A01:2021

Legt ein Wegwerf-Konto an und prüft je Tabelle, ob es schreiben darf.

Warum das zählt

Eine Zugriffsregel hat zwei Seiten. `using` regelt das Lesen und Ändern bestehender Zeilen, `with check` regelt, welche Werte geschrieben werden dürfen. Wer nur die erste absichert, hat eine Tabelle, die sauber abgeschottet aussieht und trotzdem von jedem befüllt werden kann, der sich registriert.

Das statische Gegenstück ist `RSC-SEC-067` (`with check (true)` im Quellcode). Diese Regel belegt dasselbe zur Laufzeit — und findet es auch dann, wenn die Migrationen gar nicht im Repository liegen. Bei Lovable-Apps ist genau das der Normalfall, weil das Schema nur im Dashboard lebt.

Die Prüfung schreibt so wenig wie möglich: Sie schickt einen Anlege-Versuch mit LEEREM Rumpf und wertet aus, woran er scheitert. Weist die Zugriffsregel ihn ab, ist alles in Ordnung. Stoppt ihn erst das Datenbank-Schema (fehlende Pflichtspalte), ist die Regel durchlässig — und es wurde trotzdem nichts angelegt. Nur wenn wirklich eine Zeile entsteht, wird sie anschließend wieder entfernt; gelingt das nicht, steht sie namentlich im Report.

Prüfstufe

Aktiv (nach Domain-Nachweis)

So behebt ihr es

Jeder Policy eine Schreibbedingung geben: `with check (auth.uid() = user_id)`.

Eigene App kostenlos prüfen