OWASP ZAP: co to jest i 10 typowych sprawdzeń
Przy aplikacjach, do których łączysz konto bankowe, słowo „skan bezpieczeństwa” pada często i rzadko znaczy to samo. Wyjaśniamy jedno z najpopularniejszych narzędzi, ZAP: co robi, czego nie robi i co jego uruchomienie naprawdę mówi o aplikacji.
Czym jest ZAP
ZAP (Zed Attack Proxy), w wielu miejscach nadal nazywany OWASP ZAP, to darmowy skaner bezpieczeństwa aplikacji internetowych o otwartym kodzie. Jego strona opisuje go jako niezależny projekt open source. Działa jak pośrednik między przeglądarką a aplikacją: widzi każde zapytanie i odpowiedź, więc potrafi je analizować.
Używa go zarówno człowiek, który ręcznie bada aplikację, jak i automat w systemie testów, który uruchamia go przy każdej zmianie kodu.
Skan Baseline: pasywny, bez ataków
W automatycznych testach najczęściej uruchamia się tryb Baseline. Według dokumentacji ZAP przechodzi wtedy po aplikacji pająkiem (domyślnie przez minutę), a potem czeka na zakończenie analizy pasywnej i zgłasza wyniki. Dokumentacja zaznacza, że skrypt nie wykonuje żadnych prawdziwych ataków i trwa najwyżej kilka minut.
To ważne rozróżnienie. Skan pasywny czyta to, co aplikacja i tak odpowiada każdemu odwiedzającemu: nagłówki, ciasteczka, kod strony. Skan aktywny dopiero wysyła spreparowane zapytania, żeby sprawdzić, czy aplikacja da się oszukać, dlatego wolno go kierować tylko na własne systemy albo za zgodą ich właściciela.
10 typowych sprawdzeń
Nazwy poniżej pochodzą z listy alertów ZAP. Które z nich się pojawią, zależy od wersji i konfiguracji, a samo zgłoszenie to sygnał do sprawdzenia, nie dowód włamania.
- Content Security Policy (CSP) Header Not Set. Brak nagłówka, który mówi przeglądarce, skąd wolno ładować skrypty. Ogranicza skutki wstrzyknięcia obcego kodu.
- Missing Anti-clickjacking Header. Stronę można osadzić w cudzej ramce i nakłonić użytkownika do kliknięcia czegoś, czego nie widzi.
- X-Content-Type-Options Header Missing. Przeglądarka może zgadywać typ pliku zamiast ufać serwerowi.
- Strict-Transport-Security Header Not Set. Przeglądarka nie dostaje polecenia, by z tą stroną łączyć się zawsze po HTTPS.
- Cookie No HttpOnly Flag. Skrypt na stronie może odczytać ciasteczko, na przykład sesji.
- Cookie without SameSite Attribute. Ciasteczko jest wysyłane także w zapytaniach z obcych stron, co ułatwia ataki typu CSRF.
- Server Leaks Version Information via “Server” HTTP Response Header Field. Serwer zdradza, jakiego oprogramowania w jakiej wersji używa.
- Information Disclosure - Suspicious Comments. W kodzie strony zostały komentarze, które mogą naprowadzać atakującego.
- Cross-Domain JavaScript Source File Inclusion. Strona ładuje skrypty z innych domen, więc jej bezpieczeństwo zależy też od nich.
- Vulnerable JS Library. Strona używa biblioteki JavaScript w wersji ze znaną luką.
Często obok nich pojawiają się jeszcze „Re-examine Cache-control Directives”, „Permissions Policy Header Not Set” i „Sub Resource Integrity Attribute Missing”.
Czego skan pasywny nie powie
Czysty wynik skanu Baseline nie znaczy „aplikacja jest bezpieczna”. Skan nie loguje się jako użytkownik, nie sprawdza, czy rodzic z jednej klasy może zajrzeć do drugiej, i nie próbuje wstrzykiwać złośliwych danych. Do tego potrzebne są testy uprawnień napisane pod konkretną aplikację, skan aktywny i test penetracyjny. Skan Baseline to tani, powtarzalny pierwszy filtr, nic więcej.
Jak jest u nas
W ClassKasie, CzynszOK i Kasandro skan Baseline uruchamia się w każdym pull requeście na zbudowanej aplikacji i przerywa build przy nowych ustaleniach. Skan się nie loguje, więc ekranów po zalogowaniu nie obejmuje. Pełny obraz tego, co sprawdzamy w grupie veinito., jest na stronie o bezpieczeństwie.
Open Banking bez tajemnic: co widzi aplikacja, której dajesz dostęp do konta
Czym jest Open Banking i PSD2, co dokładnie widzi aplikacja z dostępem do konta, jak działa i wygasa zgoda, jak ją cofnąć i jak sprawdzić licencję dostawcy.
Czytaj →Czytaj teżJedna licencja, trzy produkty: fintech z Polski dla całej Unii
Jak mała firma z Wrocławia buduje trzy produkty Open Banking na licencji AIS Enable Banking i dlaczego od początku myśli o całej Unii, nie tylko o Polsce.
Czytaj →Czytaj teżPentest ClassKasy z agentami AI: jak go przeprowadzono i co znaleziono
Jak właściciel przetestował ClassKasę z Claude Code i zestawem pentest-ai-agents w maju 2026, co znalazł, co naprawił i czego ten test nie obejmuje.
Czytaj →