Spis treści
1. Klucze i hasła w kodzie
Zdarza się, że modele wpisują klucze API, hasła do bazy lub tokeny wprost w pliki, a później trafiają one do repozytorium. Każdy, kto zobaczy kod, może z nich skorzystać. Sprawdź, czy sekretów nie ma w plikach ani w historii repozytorium, przenieś je do zmiennych środowiskowych, a te, które mogły się wydostać, wymień na nowe.
2. Kontrola dostępu do danych
Zaloguj się jako zwykły użytkownik i spróbuj zmienić numer w adresie, żeby zobaczyć dane innej osoby. Jeśli to się uda, aplikacja nie sprawdza, czy dany użytkownik ma prawo do tych danych. To klasyczny błąd, bo kod generowany z opisu funkcji często zakłada, że użytkownik trafi tylko tam, dokąd prowadzi go interfejs.
3. Zapytania do bazy i dane od użytkownika
Wszystko, co wpisuje użytkownik, trzeba traktować jako niezaufane: sprawdzać, oczyszczać i przekazywać do bazy wyłącznie przez zapytania parametryzowane. Zdarza się, że wygenerowany kod składa zapytania z tekstu, co otwiera drogę do ataków typu SQL injection i XSS.
4. Zależności i pakiety
Aplikacja korzysta z gotowych bibliotek. Sprawdź, czy wszystkie istnieją, są aktualne i pochodzą z zaufanych źródeł. Zdarza się, że model podpowiada nazwę pakietu, który w rzeczywistości nie istnieje, a ktoś może go zarejestrować i umieścić w nim złośliwy kod. Utrzymuj aktualizacje i usuwaj biblioteki, których nie używasz.
5. Konfiguracja produkcyjna
- wyłącz tryb diagnostyczny i szczegółowe komunikaty błędów,
- włącz HTTPS i bezpieczne ustawienia ciasteczek sesji,
- ogranicz liczbę prób logowania i zapytań do API,
- nadaj bazie danych tylko te uprawnienia, których aplikacja potrzebuje,
- skonfiguruj kopie zapasowe i logowanie zdarzeń.
Zbudowałeś aplikację z pomocą AI i chcesz mieć pewność, że jest bezpieczna? Sprawdzam kod, konfigurację i dostęp do danych. Wycena po krótkiej rozmowie.
Zobacz audyt aplikacji z AIDlaczego warto, żeby sprawdził to ktoś inny
Autor kodu, także ten, który zbudował go z pomocą AI, widzi to, co aplikacja ma robić. Osoba z zewnątrz próbuje zrobić to, czego aplikacja robić nie powinna. Ta zmiana perspektywy wychwytuje błędy, które nigdy nie pojawią się w zwykłych testach.



