Black box, grey box czy white box - który test penetracyjny wybrać

Black box, grey box i white box różnią się tym, ile tester wie o systemie na starcie: w black box zaczyna bez wiedzy i bez kont, jak anonimowy atakujący, w grey box dostaje konta w każdej roli i podstawową dokumentację, a w white box także kod źródłowy. Dla systemu, do którego użytkownicy się logują, punktem wyjścia jest zwykle grey box, bo najpoważniejsze błędy - dostęp do cudzych danych i eskalację uprawnień - widać dopiero po zalogowaniu. Black box wystarczy do oceny tego, co widać z internetu, a white box warto dołożyć tam, gdzie liczy się każda ścieżka w kodzie.

Każdy test penetracyjny zaczyna się od decyzji, ile tester ma wiedzieć o systemie i do czego dostanie dostęp. Dwie oferty na „pentest portalu klienta” - jedna w podejściu black box, druga grey box - to w praktyce dwie różne usługi z różnym wynikiem, a white box dokłada do nich trzecią perspektywę. Porównujemy black box, grey box i white box, pokazujemy, czego każde z tych podejść zwykle nie wykryje, i podpowiadamy, które wybrać w ośmiu typowych sytuacjach.

Black box, grey box i white box - porównanie

Podejście określa, z jaką wiedzą i z jakim dostępem tester zaczyna pracę. Według definicji NIST black box zakłada brak wiedzy o wewnętrznej strukturze i szczegółach implementacji badanego obiektu, grey box - częściową wiedzę, a white box - wiedzę jawną i obszerną. Różnica między black box a white box jest więc różnicą stopnia: to dwa krańce tej samej skali, a grey box leży między nimi.

Black box, grey box i white box - porównanie podejść
Kryterium Black box Grey box White box
Wiedza i dostęp na starcie Adresy lub zakres celów, bez kont i dokumentacji Konta w każdej roli, opis ról, specyfikacja API Dodatkowo kod źródłowy, opis architektury i konfiguracja
Kogo symuluje Anonimowego atakującego z internetu Klienta, partnera albo pracownika - także kogoś, kto przejął jego konto Osobę z pełną wiedzą, np. byłego programistę albo atakującego, który zdobył kod z wycieku
Co wykrywa najlepiej Zapomniane serwery, błędy konfiguracji, ujawnione pliki, podatności przed logowaniem Dostęp do cudzych danych (IDOR), eskalację uprawnień, błędy logiki biznesowej Błędy w ścieżkach niewidocznych z interfejsu, sekrety w kodzie, słabą kryptografię, zależności ze znanymi CVE
Czego zwykle nie wykryje Błędów w funkcjach po zalogowaniu, w tym błędów uprawnień Ścieżek, do których nie prowadzi żaden ekran ani udokumentowany endpoint Błędów konfiguracji działającego środowiska, jeśli przeglądowi kodu nie towarzyszy test aplikacji
Pakiet Innovix Audyt Zewnętrzny Audyt Kompleksowy: black box, grey box i retest Rewizja kodu źródłowego - rozszerzenie Audytu Kompleksowego

Najważniejszy jest wiersz „czego zwykle nie wykryje” - pokazuje, jakie ryzyko zostaje poza testem, jeśli wybierzesz tylko jedno podejście.

Testy penetracyjne black box - co sprawdzają i gdzie się kończą

Test penetracyjny black box zaczyna się jak prawdziwy atak z internetu: tester dostaje nazwę domeny albo zakres adresów i sam ustala, co jest wystawione na zewnątrz. Zasoby znalezione poza listą celów testuje dopiero po potwierdzeniu, że należą do firmy i są objęte zgodą. Test obejmuje przede wszystkim:

  • rekonesans - domeny, subdomeny i zapomniane serwery, np. stare środowiska testowe,
  • usługi wystawione do internetu i ich wersje, w tym oprogramowanie ze znanymi podatnościami (CVE),
  • konfigurację TLS i nagłówki HTTP oraz pliki, które nie powinny być publiczne, np. kopie zapasowe,
  • funkcje dostępne przed logowaniem - rejestrację, logowanie, reset hasła.

Przykład demonstracyjny: pod subdomeną środowiska testowego działa zapomniana kopia panelu administracyjnego sprzed roku, bez uwierzytelniania wieloskładnikowego. Z głównej aplikacji nic do niej nie prowadzi, ale rekonesans ją znajduje - tak samo jak znalazłby ją atakujący.

Ograniczenie: czas zamiast wiedzy

Brytyjskie Narodowe Centrum Cyberbezpieczeństwa (NCSC) zauważa, że testowanie bez informacji o systemie dokładniej odwzorowuje ryzyko ze strony atakujących niezwiązanych z organizacją, ale brak informacji może sprawić, że część podatności pozostanie nieodkryta w czasie przeznaczonym na test. Test ma ustalony budżet, a atakujący może rozpoznawać system tak długo, jak chce. Część czasu testu pochłania więc odkrywanie tego, co zespół Twojej firmy wie od pierwszego dnia. Przewodnik OWASP Web Security Testing Guide (WSTG) wskazuje drugie ograniczenie: test z zewnątrz sprawdza tylko to, co da się osiągnąć przez interfejs („front-impact testing only”).

Kiedy black box wystarczy

Sam black box wystarczy, gdy testujesz stronę firmową bez kont użytkowników, kontrolujesz perymetr po zmianach w infrastrukturze albo sprawdzasz po wdrożeniu system, którego funkcje dostępne po zalogowaniu przetestowano wcześniej. Pamiętaj, że to nie to samo co skan podatności: tester ręcznie potwierdza ustalenia i łączy słabości w scenariusze ataku. Różnice wyjaśniamy w artykule czym skan podatności różni się od pentestu.

Testy grey box - standard dla aplikacji z logowaniem

Grey box to test z częściową wiedzą: tester dostaje konta w systemie i podstawową dokumentację, ale nie kod. Kluczowe są konta po dwa w każdej roli. Dwa konta w tej samej roli pozwalają sprawdzić, czy jeden użytkownik widzi dane drugiego, a konta różnych ról - czy zwykły użytkownik wywoła funkcję administratora. Testy grey box wykrywają przede wszystkim:

  • IDOR i inne błędy kontroli dostępu do obiektów - faktur, dokumentów, zamówień,
  • eskalację uprawnień - pracownik wykonuje operację zastrzeżoną dla kierownika albo administratora,
  • brak separacji danych między klientami w systemach SaaS,
  • błędy logiki procesów - np. ponowne użycie jednorazowego kodu rabatowego, pominięcie etapu akceptacji czy zmianę kwoty po zatwierdzeniu.

Przykład demonstracyjny: w aplikacji do obiegu faktur przycisk „Zatwierdź płatność” widzi tylko kierownik. Tester zalogowany na środowisku testowym jako pracownik z rolą „przeglądający” wysyła to samo żądanie, które wysyła przycisk, i płatność zostaje zatwierdzona - interfejs ukrywał funkcję, ale serwer nie sprawdzał roli. W teście bez kont w obu rolach tego błędu zwykle nie widać.

Dlaczego grey box odpowiada realnym atakom

Atakujący nie musi przełamywać zabezpieczeń z zewnątrz, żeby dostać się do funkcji dostępnych po zalogowaniu. W systemie z otwartą rejestracją wystarczy założyć konto jak każdy klient, a hasło pracownika, używane także w innym serwisie, może wyciec razem z bazą tego serwisu. Grey box zaczyna właśnie od tego punktu, a czas, który w black box pochłania rozpoznanie, przeznacza na sprawdzanie uprawnień i logiki biznesowej.

White box - kiedy dać testerowi kod

White box to test z pełną wiedzą: tester ma dokumentację, opis architektury, konfigurację i kod źródłowy. Kod pokazuje to, do czego nie prowadzi żaden ekran: zadania uruchamiane w tle, importy, integracje i stare endpointy pominięte w dokumentacji, a także sekrety w repozytorium i sposób użycia kryptografii.

Przykład demonstracyjny: token resetu hasła powstaje ze znacznika czasu i identyfikatora użytkownika, a nie z kryptograficznie bezpiecznego generatora liczb losowych. Z zewnątrz tokeny wyglądają na losowe, a w kodzie od razu widać, że da się je przewidzieć.

OWASP WSTG wymienia mocne strony przeglądu kodu - kompletność i dokładność - ale też ograniczenia: trudno w nim wykryć błędy, które pojawiają się dopiero w działającym systemie, a kod wdrożony na produkcji może się różnić od analizowanego. Dlatego white box najlepiej łączyć z testem działającej aplikacji.

White box a audyt kodu źródłowego

W naszej ofercie white box to Rewizja kodu źródłowego - dodatek do pakietu Audyt Kompleksowy, więc przegląd kodu zawsze łączymy z testem działającej aplikacji. Dla kogo jest ta usługa, jak przebiega i jak opisujemy podatność z miejscem w kodzie, pokazujemy na stronie audyt kodu źródłowego.

Który test wybrać - 8 typowych sytuacji

Wybór zależy od trzech rzeczy: czy użytkownicy się logują, jakie dane i operacje obsługuje system oraz czy możesz udostępnić kod. Poniżej osiem typowych sytuacji z podpowiedzią, które podejście - black box, grey box czy white box - pasuje do każdej z nich.

Black box, grey box czy white box - co wybrać w typowych sytuacjach
Sytuacja Podejście Dlaczego Co warto dodać
Strona firmowa bez kont użytkowników Black box Ryzyko leży w konfiguracji serwera, w CMS i jego wtyczkach oraz w plikach dostępnych z internetu Test panelu CMS z kontem redaktora
Sklep internetowy z kontami klientów Black box i grey box Koszyk, rabaty, zamówienia i dane klientów są dostępne dopiero po zalogowaniu Proces płatności na środowisku testowym
Portal klienta lub system transakcyjny w finansach albo ochronie zdrowia Black box i grey box Dane wrażliwe i pieniądze - błąd uprawnień oznacza wyciek danych albo nieuprawnioną operację White box modułu płatności lub uprawnień
API dla aplikacji mobilnej lub partnerów B2B Grey box Typowe błędy to dostęp do cudzych obiektów i funkcji (BOLA, BFLA) Specyfikacja OpenAPI, tokeny dla każdej roli, testowe klucze partnerów
Platforma SaaS dla wielu firm Grey box z kontami co najmniej dwóch firm Najgroźniejszy błąd to dostęp jednej firmy do danych innej White box mechanizmu rozdziału danych
Sieć wewnętrzna i Active Directory Test wewnętrzny z kontem zwykłego pracownika Pokazuje, co się stanie po przejęciu jednego komputera w firmie Test zewnętrzny perymetru (black box)
Odbiór systemu od dostawcy albo due diligence przed przejęciem Grey box i white box Przejmujesz kod razem z jego długiem bezpieczeństwa, a części błędów nie widać z interfejsu Retest poprawek przed odbiorem albo zamknięciem transakcji
Klient korporacyjny wymaga raportu z pentestu Grey box z retestem Raport z wynikiem retestu pokazuje stan po naprawach Black box, jeśli system jest dostępny z internetu

Zakres testów interfejsów opisujemy na stronie testy bezpieczeństwa API, a portali i sklepów - na stronie testy penetracyjne aplikacji webowych. W testach infrastruktury zamiast podziału na black, grey i white box częściej mówi się o teście zewnętrznym i wewnętrznym; test wewnętrzny z kontem zwykłego użytkownika domeny jest bliski podejściu grey box. Jego zakres pokazujemy w części o teście sieci wewnętrznej i Active Directory.

Drzewo decyzji w czterech pytaniach

  1. Czy użytkownicy logują się do systemu? Jeśli nie - wystarczy black box. Jeśli tak - podstawą jest grey box z kontami po dwa w każdej roli.
  2. Czy system jest dostępny z internetu? Jeśli tak - dodaj w tym samym projekcie część black box.
  3. Czy błąd w którymś module oznaczałby wyciek danych wrażliwych albo utratę pieniędzy? Jeśli tak - rozważ white box dla tych modułów.
  4. Czy możesz udostępnić kod? Jeśli nie masz do niego praw albo dostawca się nie zgadza, zostaje grey box. Jeśli możesz - ogranicz white box do modułów z pytania 3.

Łączenie podejść w jednym projekcie

Podejścia się nie wykluczają. Najczęstsze połączenie to black box i grey box: najpierw sprawdzamy to, co widać z internetu, potem wszystko, co jest dostępne po zalogowaniu. Tak jest zbudowany pakiet Audyt Kompleksowy, który obejmuje też retest po naprawach, a w raporcie opisujemy obie części rozdzielnie. Tam, gdzie błąd kosztuje najwięcej, dokładamy rewizję kodu źródłowego (white box). Co obejmuje każdy wariant, pokazujemy w zestawieniu pakietów testów penetracyjnych.

Koszt i czas - od czego naprawdę zależą

W internecie można przeczytać zarówno to, że black box jest najtańszy, jak i to, że trwa najdłużej. Obie opinie biorą się z porównywania różnych rzeczy: cena i czas zależą przede wszystkim od zakresu, a podejście ten zakres zmienia.

  • black box - przy tym samym nakładzie pracy obejmie mniej funkcji, bo część czasu pochłania rozpoznanie,
  • grey box - zakres rośnie razem z liczbą ról i funkcji, bo uprawnienia trzeba sprawdzić dla każdej kombinacji roli i funkcji,
  • white box - dochodzi przegląd kodu, którego pracochłonność zależy od wielkości kodu, technologii i liczby modułów krytycznych.

Dobrze przygotowane konta i dokumentacja skracają rozpoznanie, więc więcej czasu zostaje na same testy. Kwot nie podajemy, bo pod tą samą nazwą usługi kryją się bardzo różne zakresy - zamiast nich opisujemy czynniki wyceny testu penetracyjnego.

Co przygotować do każdego podejścia

  • Black box: pisemna zgoda właściciela systemu, lista celów (domeny, adresy IP, aplikacje) i wyłączeń, okna czasowe, kontakt awaryjny oraz decyzja, czy test ma przechodzić przez ochronę typu WAF.
  • Grey box - dodatkowo: konta po dwa w każdej roli z danymi, które można bezpiecznie zmieniać, opis ról i uprawnień, specyfikacja API oraz środowisko testowe będące kopią produkcji albo zgoda na nieinwazyjny test na produkcji.
  • White box - dodatkowo: dostęp do kodu i opis architektury; pełną listę podajemy w części o przygotowaniu kodu do audytu.

Listę kontrolną z terminami - od zgody na test do porządków po nim - znajdziesz w artykule jak przygotować firmę do testu penetracyjnego, a przebieg samego testu - w artykule jak przebiega test penetracyjny krok po kroku.

Co mówią przepisy KSC i DORA o podejściu do testu

Przepisy wymagają testowania i oceny skuteczności zabezpieczeń, ale podejścia nie wskazują. W ustawie o KSC wśród elementów systemu zarządzania bezpieczeństwem informacji (art. 8 ust. 1) są m.in.:

  • Bezpieczeństwo systemów i testowanie - bezpieczeństwo przy nabywaniu, rozwoju, utrzymaniu i eksploatacji systemu, w tym testowanie systemu informacyjnego (art. 8 ust. 1 pkt 2 lit. b).
  • Ocena skuteczności środków - polityki i procedury oceny skuteczności środków technicznych i organizacyjnych (art. 8 ust. 1 pkt 2 lit. h).

W sektorze finansowym stosuje się DORA. Podmioty finansowe inne niż mikroprzedsiębiorstwa ustanawiają oparty na ryzyku program testowania operacyjnej odporności cyfrowej (art. 24 ust. 1-3). Wśród testów wymienionych przykładowo w art. 25 ust. 1 są osobno testy penetracyjne oraz przeglądy kodu źródłowego, gdy jest to wykonalne - przegląd kodu występuje więc obok testu penetracyjnego, a nie zamiast niego. Rozporządzenie delegowane do DORA dodaje wymóg dotyczący procesu wytwórczego: procedura rozwoju systemów obejmuje przeglądy kodu źródłowego z testami statycznymi i dynamicznymi, w tym testy bezpieczeństwa aplikacji internetowych (art. 16 ust. 3 rozporządzenia delegowanego (UE) 2024/1774). Zaawansowane testy TLPT to osobna kategoria - wyjaśniamy, czym TLPT różni się od testu penetracyjnego.

Najczęstsze błędy przy wyborze podejścia

  • „Black box jest najbardziej realistyczny, więc najlepszy.” Perspektywa jest realistyczna, ale czas testu - ograniczony, a w aplikacjach z kontami użytkowników najgroźniejsze błędy kryją się za ekranem logowania.
  • Grey box z jednym kontem administratora. Na koncie, które widzi wszystko, nie sprawdzisz dostępu do cudzych danych.
  • White box bez testu działającej aplikacji. Błędy konfiguracji serwera czy chmury widać dopiero w działającym systemie.
  • Porównywanie ofert opartych na różnych podejściach. Zestawiając ofertę black box z ofertą grey box, porównujesz ceny dwóch różnych usług. Jak wyrównać zakres przed porównaniem, piszemy w artykule jak porównać oferty na testy penetracyjne.

Black box w pentestach a testy czarnej skrzynki w QA

Nazwa „testy czarnej skrzynki” ma dwa znaczenia. W testowaniu oprogramowania (QA) to technika projektowania testów funkcjonalnych na podstawie specyfikacji - NIST opisuje ją jako badanie funkcjonalności aplikacji bez wglądu w jej wewnętrzną strukturę. W pentestach ta sama nazwa opisuje wiedzę i dostęp atakującego na starcie. Testy QA sprawdzają, czy system robi to, co powinien, a pentest - czy da się go zmusić do tego, czego robić nie powinien.

Jak możemy pomóc

Testujemy aplikacje webowe i mobilne, API, infrastrukturę, chmurę i kod źródłowy - jednorazowo albo cyklicznie. Podejście dobieramy po krótkiej rozmowie zakresowej: dla systemów z logowaniem zwykle proponujemy Audyt Kompleksowy, a gdy liczy się każda ścieżka w kodzie - także rewizję kodu. Jeśli najpierw potrzebujesz szybkiej oceny tego, co widać z internetu, punktem wejścia jest Audyt Zewnętrzny.

Zakres i metodykę testów przedstawiamy na stronie testy penetracyjne, a od czego zależy cena - w cenniku testów penetracyjnych.

Najczęściej zadawane pytania

Czy test black box jest bardziej realistyczny niż grey box?

Odwzorowuje perspektywę anonimowego atakującego z internetu, ale test ma ustalony czas, a atakujący - nie. Część czasu testu pochłania rozpoznanie tego, co zespół firmy zna od pierwszego dnia, więc niektóre podatności mogą pozostać nieodkryte. Atakujący może też po prostu się zalogować - założyć konto jak klient albo użyć skradzionego hasła pracownika - a to już scenariusz grey box. Najpełniejszy obraz daje połączenie obu podejść.

Czy do testu grey box wystarczy jedno konto administratora?

Nie. Administrator zwykle widzi wszystko, więc na jego koncie nie sprawdzisz, czy użytkownik ma dostęp do cudzych danych. Potrzebne są konta po dwa w każdej roli, np. dwóch klientów, dwóch pracowników i dwóch administratorów: dwa konta w tej samej roli pozwalają wykryć IDOR, a konta różnych ról - eskalację uprawnień. Na kontach powinny być dane, które można bezpiecznie zmieniać.

Które podejście wybrać pod wymagania KSC (NIS2) albo DORA?

Przepisy nie wskazują podejścia. Ustawa o KSC wymienia wśród elementów systemu zarządzania bezpieczeństwem informacji testowanie systemu informacyjnego (art. 8 ust. 1 pkt 2 lit. b), a DORA wymaga od podmiotów finansowych innych niż mikroprzedsiębiorstwa programu testowania opartego na ryzyku (art. 24 ust. 1-3). Wśród przykładowych testów DORA wymienia osobno testy penetracyjne i przeglądy kodu źródłowego, gdy jest to wykonalne (art. 25 ust. 1). Podejście dobiera się więc do ryzyka systemu, a decyzję warto udokumentować. Test penetracyjny nie jest audytem bezpieczeństwa z art. 15 ustawy o KSC, a zaawansowane testy TLPT to osobna kategoria - zobacz, czym TLPT różni się od testu penetracyjnego.

Czym test black box w pentestach różni się od testów czarnej skrzynki w QA?

W testowaniu oprogramowania (QA) testy czarnej skrzynki to technika projektowania testów funkcjonalnych na podstawie specyfikacji, bez zaglądania w kod - sprawdza się nimi, czy system działa tak, jak powinien. W testach penetracyjnych black box oznacza wiedzę i dostęp, z jakimi tester zaczyna pracę: nie ma kont ani dokumentacji i szuka sposobu, by zmusić system do działania, którego nikt nie przewidział. Nazwa jest ta sama, ale cel i wynik - inne.

Czy można zmienić podejście w trakcie testu?

Zakres i podejście ustala się przed testem w pisemnym zleceniu, bo od nich zależą zgoda właściciela systemu, okna czasowe i wycena. Zmiana w trakcie, np. dołożenie kont po części black box, wymaga uzgodnienia i aktualizacji zlecenia. Częściej oba etapy planuje się od początku - tak jak w Audycie Kompleksowym, w którym po części black box następuje grey box z kontami testowymi, a po naprawach retest.

Źródła

  1. Ustawa z dnia 23 stycznia 2026 r. o zmianie ustawy o krajowym systemie cyberbezpieczeństwa oraz niektórych innych ustaw (Dz.U. 2026 poz. 252) ()
  2. Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2022/2554 w sprawie operacyjnej odporności cyfrowej sektora finansowego (DORA), Dz.U. UE L 333 z 27.12.2022 ()
  3. Rozporządzenie delegowane Komisji (UE) 2024/1774 - narzędzia, metody, procesy i polityki zarządzania ryzykiem związanym z ICT oraz uproszczone ramy ()
  4. NIST CSRC Glossary - black box testing (NIST SP 800-53A Rev. 5, NIST SP 800-192) ()
  5. NIST CSRC Glossary - gray box testing (NIST SP 800-53A Rev. 5, CNSSI 4009-2022) ()
  6. NIST CSRC Glossary - white box testing (NIST SP 800-137, NIST SP 800-192) ()
  7. OWASP Web Security Testing Guide v4.2 - rozdział 2: Introduction ()
  8. NCSC (Wielka Brytania) - Penetration testing ()

Stan prawny na: Aktualizacja:

Powiązane artykuły

Porozmawiajmy o Twoim projekcie lub audycie

Opisz krótko, czego potrzebujesz - wrócimy z propozycją kolejnych kroków.

lub zadzwoń pod numer +48 575 621 877