← Strona główna

Autentykacja nie działa w aplikacji zbudowanej przez AI

Każdy użytkownik widzi dane wszystkich innych. Sesje wygasają losowo. OAuth nie przekierowuje. Dlaczego narzędzia AI nie radzą sobie z bezpieczeństwem.

⏱ 5 min czytania

Zero uprawnień — domyślny stan AI-generowanych aplikacji

Aplikacje generowane przez AI mają jedną wspólną cechę: brak jakichkolwiek reguł prywatności. Każdy zalogowany użytkownik widzi dane każdego innego użytkownika. Narzędzia AI po prostu tego nie konfigurują — bo nikt o to nie prosi.

Większość założycieli nie odkrywa tego, dopóki ktoś nie zwróci im uwagi — albo dopóki nie wydarzy się coś wstydliwego. Klient loguje się do aplikacji i widzi zamówienia, dane kontaktowe i notatki innych klientów. To nie jest edge case. To domyślne zachowanie.

Supabase Auth, NextAuth, Firebase Auth — narzędzia AI podpinają te systemy szybko. Logowanie działa. Ale sesje wygasają losowo, OAuth nie przekierowuje poprawnie po logowaniu, tokeny się nie odświeżają. Użytkownik jest „zalogowany" przez 10 minut, potem musi logować się ponownie. Albo odwrotnie — jest zalogowany na zawsze, nawet po wylogowaniu.

Dlaczego bezpieczeństwo nie może być „na potem"

Prawdziwa historia: deweloper dostał zlecenie na wdrożenie RBAC (Role-Based Access Control) w aplikacji, która miała dosłownie zero uprawnień. Oszacował pracę na 2 tygodnie. Zarząd powiedział: „Ten gość od AI mówi, że zrobi to w 1-2 dni." Dali mu dzień przed produkcyjnym wdrożeniem.

Odmówił. Powiedział, że byłoby nieetyczne udawać, że można zabezpieczyć aplikację w jeden dzień, jeśli wymaga to solidnej pracy. I miał rację — bezpieczeństwo to nie feature, który „dokleja się" na koniec. To fundament, który musi istnieć od początku.

Narzędzia AI potrafią podłączyć logowanie. Ale logowanie to nie bezpieczeństwo. Bezpieczeństwo to Row-Level Security w bazie danych, to poprawne zarządzanie sesjami, to polityki dostępu na endpointach. AI tego nie konfiguruje, bo to wymaga rozumienia, kto ma widzieć jakie dane — a to jest pytanie biznesowe, nie techniczne.

Jak naprawić autentykację i uprawnienia

  1. Włącz Row-Level Security (RLS). W Supabase to kilka kliknięć. Zdefiniuj polityki: użytkownik widzi tylko swoje dane. Admin widzi wszystko. Bez RLS baza jest otwarta jak księga — każdy zalogowany użytkownik ma dostęp do wszystkiego.
  2. Popraw konfigurację auth. Sprawdź czas wygasania sesji, callback URL-e dla OAuth, odświeżanie tokenów. Te ustawienia muszą być spójne między frontendem a backendem. AI często ustawia je w jednym miejscu, ale zapomina o drugim.
  3. Zabezpiecz endpointy. Każdy endpoint API musi sprawdzać, czy użytkownik jest zalogowany i czy ma uprawnienia do żądanych danych. Nie wystarczy sprawdzić „czy jest token" — trzeba sprawdzić, czy ten token daje dostęp do tych konkretnych danych.
  4. Zdefiniuj role od początku. Kto jest użytkownikiem? Kto adminem? Kto moderatorem? Te role muszą istnieć w bazie danych i być respektowane na każdym poziomie — frontend, API i baza.
Ostrzeżenie

Jeśli Twoja aplikacja jest już w produkcji bez RLS — każdy zalogowany użytkownik prawdopodobnie widzi dane wszystkich innych. To nie jest teoretyczne ryzyko. To aktualny stan Twojej aplikacji.

Przeczytaj też

Użytkownicy widzą cudze dane?

To pilne. Wdrożymy Row-Level Security, naprawimy sesje i uprawnienia — zanim ktoś jeszcze to zauważy.

Zarezerwuj bezpłatną rozmowę →
Bezpłatna rozmowa Bez zobowiązań Odpowiedź w 24h