Zum Inhalt springen

Prüfregel · RSC-SEC-103

Kostenpflichtige Serverfunktion ohne Zugangsschutz

SicherheitSchweregrad: MittelCWE-770OWASP A04-2021

Findet Edge Functions, die ein KI-Modell, SMS oder Mailversand aufrufen, ohne den Aufrufer zu prüfen oder die Menge zu begrenzen — jeder kann damit Kosten auf eure Rechnung auslösen.

Warum das zählt

KI-Funktionen in Lovable-, Bolt- und v0-Apps laufen fast immer als Supabase Edge Function: Der Browser ruft sie mit dem öffentlichen Schlüssel aus dem Bundle auf, die Funktion ruft mit eurem geheimen Schlüssel das Modell. Wer das Bundle liest, kann denselben Aufruf in einer Schleife wiederholen.

Die Token-Prüfung von Supabase (`verify_jwt`) hilft dabei nicht: Der klassische öffentliche Schlüssel ist selbst ein gültiger Token. Supabase begrenzt eingehende Aufrufe von Edge Functions nicht, und das Lovable AI Gateway begrenzt pro Workspace, nicht pro Endnutzer. Die einzige Schranke ist der Funktionscode.

Fix: Für Funktionen hinter einem Login den Nutzer mit `supabase.auth.getUser()` prüfen und ohne Nutzer mit 401 abbrechen. Für öffentliche Funktionen (Chatbot auf der Startseite, Kontaktformular) eine Begrenzung je IP und ein Captcha einbauen. Beim Anbieter zusätzlich ein Ausgabenlimit setzen.

Prüfstufe

Repo-Zugang (Deep-Scan)

So behebt ihr es

Am Anfang der Funktion supabase.auth.getUser() mit dem Authorization-Header prüfen und eine Begrenzung je Nutzer oder IP einbauen; öffentliche Formulare zusätzlich mit Captcha schützen.

Eigene App kostenlos prüfen