Lista kontrolna bezpieczeństwa aplikacji webowych

Praktyczna, niezależna od dostawcy lista kontrolna dla każdego, kto wdraża aplikację webową, niezależnie od tego, czy napisał każdą linijkę ręcznie, czy zbudował ją, promptując AI ("vibe coding"). AI pisze kod, który przechodzi ścieżkę szczęśliwą, a mimo to zostawia prawdziwe dziury, więc działająca funkcja niczego nie dowodzi w kwestii bezpieczeństwa. Ta lista to to, co warto faktycznie sprawdzić przed i po publikacji.

Jest uporządkowana według kategorii. Zacznij od dowolnej lub przechodź je po kolei. Każda strona zawiera konkretne sprawdzenia: co przetestować, dlaczego to ważne i jak to naprawić.

Jak z niej korzystać

Kategorie

Krótka wersja

Jeśli masz tylko godzinę, sprawdź najpierw tych pięć rzeczy. To najczęstsze i najbardziej szkodliwe problemy w rzeczywistych audytach:

  1. Zerwana kontrola dostępu. Zaloguj się jako użytkownik A i zażądaj obiektu użytkownika B po identyfikatorze. Jeśli zostanie zwrócony, masz dziurę. Zobacz autoryzację.
  2. Sekrety w kliencie lub w git. Przeszukaj paczkę przeglądarki i repozytorium pod kątem kluczy. Wszystko, co zostało zatwierdzone w git, jest skompromitowane. Zobacz sekrety.
  3. Brak ograniczenia liczby żądań przy logowaniu. Bez tego ataki brute force są trywialne. Zobacz dostępność.
  4. Brak ochrony przed CSRF lub login-CSRF. Zobacz API i żądania.
  5. Porty otwarte poza zaporą. Kontenery często publikują porty z pominięciem zapory. Zobacz infrastrukturę.

Tę listę publikuje zespół Arc OS. Stosujemy ją wobec własnego produktu, a Ty możesz z niej korzystać przy swoim. To punkt wyjścia, a nie certyfikacja, i nie zastępuje niezależnego testu penetracyjnego.