Przejdź do treści
Paweł Maj

85 punktów kontrolnych w 8 obszarach

Każdy punkt kończy się jedną z czterech odpowiedzi: w porządku, znalezisko, nie dotyczy albo nie sprawdzone — i wtedy piszę dlaczego.

Baza danych i pliki

13 pkt

Gdzie leżą dane, kto się do nich dostanie i co się stanie, gdy znikną.

  • baza wystawiona do internetu
  • reguły dostępu do tabel (RLS) w Supabase
  • klucz administracyjny bazy w kodzie strony
  • backupy poza serwerem i test odtworzenia

Infrastruktura i hosting

19 pkt

Serwer, konta u dostawców, wdrożenia, zadania w tle, domena i poczta.

  • czyje są konta, kto ma dostęp, 2FA
  • otwarte porty i firewall omijany przez Dockera
  • publiczne wersje preview z danymi produkcyjnymi
  • porzucone środowiska po migracji — wciąż żywe

Env i sekrety

10 pkt

Klucze i hasła: gdzie są, kto je widzi, co widzi agent AI.

  • sekrety w repozytorium i w historii gita
  • klucze prywatne wysyłane do przeglądarki
  • dostęp agenta AI do sekretów i do produkcji
  • rotacja kluczy po odejściu współpracownika

Repo, CI/CD, standardy

11 pkt

Czy wdrożenie da się powtórzyć i cofnąć — i czy ktoś to sprawdza przed wysłaniem na produkcję.

  • ochrona głównej gałęzi
  • lint, typy, testy i build przed wdrożeniem
  • biblioteki ze znanymi lukami
  • pakiety zmyślone przez AI

Logowanie, rejestracja, autoryzacja

14 pkt

Kto może wejść, gdzie i w czyje dane — sprawdzane po stronie serwera, nie w przeglądarce.

  • trasy i akcje serwerowe bez sprawdzenia logowania
  • dostęp do cudzych danych przez zmianę ID w adresie
  • role i panel admina sprawdzane tylko w przeglądarce
  • crony i webhooki dostępne publicznie bez sekretu

AI w aplikacji

6 pkt

Jeśli aplikacja używa modeli językowych — osobny zestaw ryzyk, którego nie łapie żaden klasyczny skaner.

  • prompt injection od użytkownika i z plików
  • akcje wykonywane przez model bez uprawnień użytkownika
  • cudze dane w kontekście modelu
  • brak limitów i logowania kosztów wywołań

Wejście aplikacji i konfiguracja

10 pkt

Wszystko, co przychodzi z zewnątrz: formularze, pliki, adresy, płatności, nagłówki.

  • walidacja danych, SQL injection, XSS
  • upload i parsowanie dokumentów
  • tryb debug i szczegółowe błędy na produkcji
  • płatności: cena z przeglądarki, webhook bez weryfikacji

RODO — minimum

2 pkt

Obserwacje techniczne, nie porada prawna.

  • gdzie leżą dane osobowe i do kogo wypływają
  • polityka prywatności i usuwanie konta

Na czym się opieram

Każdy punkt jest zmapowany na OWASP Top 10:2025 i ASVS 5.0, a obszar AI — na OWASP Top 10 for LLM Applications. Checklista jest stała: ta sama lista w audycie aplikacji z Lovable i w audycie aplikacji na własnym VPS, tylko część punktów wtedy nie dotyczy.

Czego nie robię

  • Zewnętrznych usług (Stripe, Supabase, Vercel, dostawcy modeli AI) nie audytuję — sprawdzam Twój kod, który z nich korzysta.
  • Natywne aplikacje mobilne są poza zakresem. Backend takiej aplikacji sprawdzę, jeśli jest webowy.
  • Przy dużych aplikacjach trasy sprawdzam na próbce — w całości zawsze panel administratora, płatności, eksport danych i zadania w tle. W raporcie piszę, co dokładnie objąłem.
  • Obserwacje o RODO są techniczne, nie prawne.
Zgłoś aplikację