| Zakres | Next.js (App Router), PostgreSQL, Stripe, deployment |
|---|---|
| Metoda | przegląd statyczny kodu + testy konfiguracji + analiza zależności |
| Czas realizacji | 5 dni roboczych |
| Pytania badawcze | (1) czy bezpieczeństwo tam, gdzie pieniądze i dane; (2) czy da się utrzymać i odtworzyć bez autorów; (3) jaki jest stan dziś |
Werdykt w trzech zdaniach: co jest dobrze, co zagraża biznesowi, co zrobić najpierw. W próbce: aplikacja jest funkcjonalna, ale 3 ustalenia krytyczne wymagają działania przed skalowaniem; dokumentacja odbudowy środowiska nie istnieje — odtworzenie po awarii zajmie dni zamiast godzin.
| # | Waga | Obszar | Ustalenie (próbka) | Rekomendacja |
|---|---|---|---|---|
| 1 | krytyczny | Stripe | Weryfikacja podpisu webhooka sprawdzana flagą if (isDev) — na produkcji wyłączona | Włączyć weryfikację zawsze; testy z fałszywym podpisem |
| 2 | krytyczny | PostgreSQL | Zapytanie z interpolacją stringów w wyszukiwarce (WHERE name ILIKE '%${q}%') | Parametryzowane zapytanie; audyt wszystkich ścieżek wejścia |
| 3 | wysoki | Sekrety | Klucz API w repo (.env.local commitnięty w historii) | Rotacja klucza, czyszczenie historii, sekrety poza repo |
| 4 | średni | Odtwarzalność | Brak dokumentacji deployu; README bez instrukcji environment | Runbook + skrypt provisioningu |
| 5 | niski | Zależności | 2 pakiety z znanymi CVE (npm audit) | Aktualizacja + CI z audytem |
Pełne listingi kodu z komentarzem, wyniki skanów, instrukcja reprodukcji każdego ustalenia.