// SLOVNÍK

Black box, grey box a white box: tři úrovně znalosti při testu

Black box, grey box a white box jsou tři úrovně znalosti, se kterou tester začíná: od nulových informací přes uživatelské účty a dokumentaci až po přístup ke zdrojovému kódu. Volba mění, kolik z rozpočtu padne na průzkum a kolik na hledání zranitelností. U webových aplikací je výchozí volbou grey box, protože tester dostane účty pro všechny role a nemusí je zdlouhavě získávat.

// 01

Tři varianty vedle sebe

KritériumBlack boxGrey boxWhite box
Co tester víJen to, co je veřejné: doména nebo rozsah IPÚčty pro každou roli, dokumentaci, popis architekturyTotéž co grey box a navíc zdrojový kód
Co se předáváCíl testu a pravidla zapojeníTestovací účty, testovací data, kontakt na vývojářeRepozitář, schéma databáze, konfigurace prostředí
Kam padne časVelká část na průzkum a získání přístupuVětšina času na testování funkcí a rolíNejvíc na čtení kódu a ověření nalezených větví
Co odhalí navícCo je vidět zvenčí bez jediného účtuChyby v autorizaci mezi uživatelskými rolemiChyby ve validaci a logice skryté hluboko v kódu
Co se tím promarníRozpočet na zjišťování toho, co firma sama víPohled útočníka bez účtu, pokud se netestuje i zvenčíČas na čtení kódu u rozsáhlé aplikace
Vliv na délkuDelší při stejném rozsahu a stejném počtu nálezůOdpovídá odhadu, se kterým se rozsah plánovalDelší příprava, rychlejší potvrzení nálezu
Kdy to dává smyslOvěření vnějšího perimetru bez znalosti vnitřkuVýchozí režim u webových aplikací a APIVlastní vývoj s velkým podílem business logiky

Rozdíl mezi variantami není v důkladnosti testu, ale v tom, kolik z domluveného času padne na zjišťování informací, které zadavatel zná.

// 02

Kdy má black box smysl a kdy je to plýtvání

Black box dává smysl tam, kde je cílem ověřit, co uvidí útočník bez jakéhokoli přístupu: externí perimetr, veřejný portál, e-mailová brána. U aplikace za přihlášením se ale velká část času spotřebuje na získání účtu a zmapování funkcí, tedy na práci, kterou grey box vyřeší předáním přihlašovacích údajů.

Argument pro black box zní, že je realističtější. Stojí na rovnici, která neplatí: čím míň toho tester ví, tím věrněji prý simuluje útočníka. Potíž je v poměru času. Útočník může na jednu firmu tlačit měsíce a nic ho to nestojí, tester má patnáct dní. Simulovat neznalost proto znamená koupit si průzkum místo nálezů.

  • Testuje se vnější perimetr a otázka zní, co je odtud vůbec vidět.
  • Součástí zadání je i ověření, jestli útok někdo zachytí.
  • Aplikace je veřejná a registraci si tester může založit sám.
  • Zadavatel potřebuje doklad pro protistranu, že test proběhl bez vnitřních informací.

Zvolte black box, pokud testujete to, co je vidět z internetu, a ne to, co se děje po přihlášení.

// 03

Proč je grey box u aplikací výchozí volba

Grey box je u webových aplikací a API výchozí volbou, protože tester dostane účet pro každou roli a může rovnou zkoušet, jestli se dá mezi rolemi přelézt. Chyby v autorizaci, tedy přístup k cizím datům po legitimním přihlášení, se přitom bez účtu pro každou roli otestovat nedají.

Předání účtů zároveň řeší praktický problém: bez nich tester netuší, že aplikace má kromě běžného uživatele ještě roli schvalovatele a roli správce pobočky. Rozsah kontrol, které projde, se řídí metodikou, u webu nejčastěji podle OWASP Web Security Testing Guide, ne úrovní znalosti.

Zvolte grey box, pokud má aplikace víc než jednu uživatelskou roli a záleží vám na tom, aby se testovaly všechny.

// 04

Kdy se vyplatí dát testerovi zdrojový kód

White box se vyplatí u aplikací, které firma sama vyvíjí a kde je hodně vlastní logiky: platební toky, výpočty limitů, integrace na bankovní rozhraní. S kódem tester ověří i větve, na které se z rozhraní běžně nedostane, a u nálezu rovnou ukáže místo, které je potřeba opravit.

Obava, že předáním kódu firma testeru něco prozradí, míří vedle. Kód nezvyšuje závažnost nálezu, jen zkracuje cestu k němu. Co s ním tester smí a nesmí, se stejně řeší smlouvou o mlčenlivosti a pravidly zapojení, ne tím, že se mu repozitář zatají.

  • Aplikaci vyvíjíte sami nebo máte ke kódu přístup přes dodavatele.
  • Podstatná část rizika je v logice, ne v konfiguraci.
  • Test má navázat na revizi kódu nebo na opravy z minulého kola.
  • Aplikace zpracovává platby, zdravotní údaje nebo jiná citlivá data.

// 05

U sítě a u aplikace ta slova neznamenají totéž

U aplikace se úrovní znalosti myslí účty, dokumentace a zdrojový kód. U sítě jde o něco jiného: jestli tester předem zná topologii, rozsahy IP a seznam systémů, nebo si je musí najít sám. Stejné slovo v poptávce na test aplikace a jejích rolí a na test sítí a serverů proto znamená pokaždé jinou přípravu.

U interní sítě navíc přibývá třetí proměnná, kterou boxová terminologie vůbec nepokrývá: s jakým oprávněním tester začíná. Jestli dostane běžný doménový účet, nebo se má nejdřív dostat do sítě sám, změní výsledek testu víc než to, kolik dokumentace předem přečetl.

// 06

Co se u každé varianty reálně předává

Seznam podkladů patří do zadání, ne až do kick-off hovoru. Když se účty a testovací data řeší až po zahájení, ubývá čas z testování, a to bez ohledu na zvolenou variantu.

PodkladBlack boxGrey boxWhite box
Rozsah a pravidla zapojeníVždyVždyVždy
Účet pro každou uživatelskou roliNeVždyVždy
Testovací data a testovací prostředíPodle dohodyVždyVždy
Popis architektury a integracíNeObvykleVždy
Kontakt na vývojáře pro dotazyNeObvykleVždy
Výjimka na WAF nebo rate limitPodle cíle testuObvykleObvykle
Přístup do repozitářeNeNeVždy

// 07

Časté dotazy

Nejvíc nálezů obvykle přinese white box, protože tester nestráví čas hledáním vstupních bodů a vidí i větve kódu, na které se z rozhraní nedá dostat. Rozdíl proti grey boxu je ale menší, než se čeká, a u aplikací bez vlastní logiky bývá zanedbatelný.

Black box je realističtější jen v jednom ohledu: kopíruje výchozí pozici útočníka. Nekopíruje jeho čas. Útočník může zkoušet měsíce, tester má dny, takže výsledkem bývá méně prozkoumaná aplikace, ne věrnější simulace.

Nemusíte. U webových aplikací je výchozím režimem grey box, tedy účty a dokumentace, ale bez kódu. Kód dává smysl u vlastního vývoje s hodně business logikou a tam, kde má test navázat na revizi kódu.

Při stejném rozsahu ano. Black box spotřebuje část dnů na průzkum, takže na samotné testování zbyde méně času. Grey box a white box se plánují na stejný počet dní, jen se ty dny rozdělí jinak mezi přípravu a testování.

Ano, a u testů s ambicí ověřit i detekci to bývá rozumný postup. Domluví se, že prvních pár dní běží test bez informací, a v předem daný okamžik tester dostane účty. Podmínkou je, aby to bylo v pravidlech zapojení předem, ne až podle průběžného výsledku.

Kam dál

Obsah revidován 2026-08-19.

// ZADÁNÍ TESTU

Nevíte, kterou variantu napsat do poptávky?

Napište nám, co chcete otestovat. Ozveme se a domluvíme si hovor, na kterém upřesníme rozsah, termín i cenu.