OWASP Top 10:2025
Deset nejkritičtějších bezpečnostních rizik webových aplikací v aktuální verzi OWASP Top 10:2025. Co se změnilo proti verzi 2021 a jak se jednotlivým rizikům bránit.

Co je OWASP Top 10?
OWASP Top 10 je osvětový dokument komunity OWASP (Open Worldwide Application Security Project), který shrnuje deset nejkritičtějších bezpečnostních rizik webových aplikací. Aktuální je osmé vydání, OWASP Top 10:2025. V listopadu 2025 bylo představeno jako release candidate na konferenci OWASP Global AppSec ve Washingtonu a dnes je vydané jako finální. Verzi 2021 OWASP označuje za nahrazenou.
Jak vzniká a k čemu slouží
Seznam kombinuje data z testování aplikací s názorem praxe. Sám OWASP ho popisuje jako „data-informed, but not blindly data-driven“: data rozhodují, ale ne slepě.
- Data z více než 2,8 milionu aplikací od přispěvatelů jako Veracode, Sonar, Semgrep, Contrast Security, Bugcrowd nebo Accenture.
- Měří se výskyt, ne četnost. Rozhoduje, kolik procent testovaných aplikací má danou slabinu aspoň jednou. Čtyři nálezy a čtyři tisíce nálezů v jedné aplikaci se počítají stejně.
- 589 analyzovaných CWE (v roce 2021 necelých 400). Do deseti kategorií je jich zařazeno 248, nejvýše 40 na kategorii.
- Osm kategorií vychází z dat, dvě z komunitního průzkumu. Průzkum zachycuje rizika, která automatické testy špatně měří. Letos takto do seznamu prošly dodavatelský řetězec (A03) a logování a alerting (A09).
- Kategorie jsou řazené podle rizika, tedy podle výskytu a průměrného skóre zneužitelnosti a dopadu z CVSS u CVE, které pod kategorii spadají.
Top 10 není kontrolní seznam
OWASP Top 10 je osvětový dokument a vhodný start pro priority a školení. Pro ověřování a testování aplikace OWASP doporučuje ASVS (Application Security Verification Standard). Rizika aplikací nad LLM, třeba prompt injection, pokrývá samostatný OWASP Top 10 for LLM Applications.
Co se změnilo proti verzi 2021
- Nová kategorie A03 Software Supply Chain Failures. Rozšiřuje dřívější „Vulnerable and Outdated Components“ ze zranitelných knihoven na celý řetězec: závislosti, build systémy, CI/CD a distribuci. V komunitním průzkumu ji na první místo dala přesně polovina respondentů.
- Nová kategorie A10 Mishandling of Exceptional Conditions. Chybné ošetření chyb a neočekávaných stavů. Patří sem i CWE, které dřív spadaly pod „špatnou kvalitu kódu“.
- SSRF už není samostatná kategorie. Server-Side Request Forgery je nově součástí A01 Broken Access Control.
- Security Misconfiguration stoupla z 5. na 2. místo. Chování softwaru se stále víc určuje konfigurací, a tedy i chybami v ní.
- Přejmenování: „Identification and Authentication Failures“ jsou nyní „Authentication Failures“, „Logging and Monitoring“ se mění na „Logging and Alerting“ a „Software and Data Integrity“ na „Software or Data Integrity“.
| 2025 | Kategorie | 2021 |
|---|---|---|
| A01 | Broken Access Control (nově včetně SSRF) | A01 (SSRF byla A10) |
| A02 | Security Misconfiguration | A05 ↑ |
| A03 | Software Supply Chain Failures | nová, rozšiřuje A06 |
| A04 | Cryptographic Failures | A02 ↓ |
| A05 | Injection | A03 ↓ |
| A06 | Insecure Design | A04 ↓ |
| A07 | Authentication Failures | A07 |
| A08 | Software or Data Integrity Failures | A08 |
| A09 | Security Logging and Alerting Failures | A09 |
| A10 | Mishandling of Exceptional Conditions | nová |
OWASP Top 10:2025: kompletní seznam
Kategorie jsou seřazené podle rizika. Čísla pod popisem pocházejí z oficiálních stránek jednotlivých kategorií: max. incidence je podíl aplikací se slabinou u přispěvatele s nejvyšším výskytem, CVE je počet známých zranitelností namapovaných na CWE dané kategorie.
Broken Access Control
Porušená kontrola přístupu · 2021: A01
Co to je: Uživatel nebo systém se dostane k datům či funkcím, ke kterým nemá mít přístup. Nově sem patří i SSRF, kdy útočník přiměje server poslat požadavek na zvolený cíl, třeba na interní službu nebo metadata cloudu.
Nějakou formu má 100 % testovaných aplikací · max. incidence 20,15 % · 40 CWE · 32 654 CVE
Typické chyby:
- IDOR: změnou
?acct=123v URL se zobrazí cizí účet - Kontrola oprávnění jen ve frontendu, API se dá zavolat napřímo
- Chybějící kontrola u POST, PUT a DELETE endpointů
- Manipulace s JWT nebo cookie, příliš volné CORS
- SSRF na
http://169.254.169.254/(metadata cloudu)
Jak se bránit:
- Kontrolovat přístup jen v důvěryhodném kódu na serveru
- Deny by default pro vše kromě veřejných zdrojů
- Jeden sdílený autorizační mechanismus místo kontrol rozesetých po kódu
- Vlastnictví záznamu ověřovat v datovém modelu
- Krátkodobé JWT, invalidace session po odhlášení
- Testy autorizace jako součást unit a integračních testů
Security Misconfiguration
Chybná konfigurace · 2021: A05 ↑
Co to je: Systém, aplikace nebo cloudová služba jsou nastavené nebezpečně: chybí hardening, běží zbytečné služby, zůstala výchozí hesla nebo se ven dostávají podrobné chyby.
Nějakou formu má 100 % testovaných aplikací · max. incidence 27,70 % (nejvyšší ze všech) · 719 084 výskytů
Typické chyby:
- Výchozí účty a ukázkové aplikace na produkci
- Veřejně dostupné S3 buckety nebo storage účty
- Stack trace v odpovědi uživateli, zapnutý debug režim
- Chybějící bezpečnostní hlavičky, cookie bez HttpOnly
- XXE kvůli výchozímu nastavení XML parseru
Jak se bránit:
- Opakovatelný, automatizovaný hardening přes Infrastructure as Code
- Dev, test a produkce nastavené stejně, liší se jen přihlašovací údaje
- Minimální platforma bez nepotřebných funkcí
- Automatická kontrola konfigurace ve všech prostředích (Checkov, Trivy, CSPM)
- Federace identit a krátkodobé přihlašovací údaje místo statických tajemství v kódu a pipeline
Software Supply Chain Failures Nová
Selhání dodavatelského řetězce softwaru · rozšiřuje A06:2021
Co to je: Kompromitace nebo selhání při sestavení, distribuci či aktualizaci softwaru. Zranitelné nebo podvržené závislosti, nesledované tranzitivní knihovny, neudržované komponenty a CI/CD pipeline, která je slabší než systémy, které nasazuje.
Nejvyšší průměrná incidence i nejvyšší průměrné skóre zneužitelnosti a dopadu ze všech kategorií · v průzkumu ji na 1. místo dalo 50 % respondentů
Příklady z praxe:
- SolarWinds (2019): podvržený update, zasaženo zhruba 18 000 organizací
- Bybit (2025): krádež 1,5 mld. USD přes kompromitovaný software peněženky
- Shai-Hulud (2025): samošířící se červ v npm, přes 500 verzí balíčků
- Log4Shell (CVE-2021-44228) v nesledovaných závislostech
Jak se bránit:
- Centrálně spravovaný SBOM včetně tranzitivních závislostí
- Průběžné sledování komponent (Dependency-Track) proti CVE, NVD a OSV
- Balíčky jen z oficiálních zdrojů, ideálně podepsané
- MFA a least privilege pro repozitáře, CI/CD a registry
- Podepsané buildy, provenance (SLSA), neměnné artefakty
- Postupné nasazování (canary), aby se kompromitovaná verze zachytila včas
Cryptographic Failures
Selhání kryptografie · 2021: A02 ↓
Co to je: Chybějící nebo slabá kryptografie, uniklé klíče a chyby v jejím použití. Nejčastějším důsledkem je únik citlivých dat.
Max. incidence 13,77 % · 32 CWE · 1 665 348 výskytů
Typické chyby:
- Data přenášená bez TLS, možnost downgradu na HTTP
- MD5 nebo SHA-1, hesla hashovaná bez soli rychlým algoritmem
- Klíče v repozitáři, výchozí nebo opakovaně použité klíče
- Slabý generátor náhodných čísel, režim ECB
- Neověřované certifikáty
Jak se bránit:
- Klasifikovat data a neukládat citlivá data zbytečně
- Šifrovat citlivá data v klidu i při přenosu, jen TLS 1.2+ s forward secrecy a HSTS
- Hesla ukládat přes Argon2, scrypt, yescrypt nebo PBKDF2
- Nejcitlivější klíče v HSM nebo cloudovém KMS
- Vždy autentizované šifrování (např. AES-GCM)
- Připravit se na postkvantovou kryptografii, u vysoce rizikových systémů nejpozději do konce roku 2030
Injection
Injekční útoky · 2021: A03 ↓
Co to je: Nedůvěryhodný vstup se dostane do interpretu (databáze, shell, prohlížeč) a vykoná se jako příkaz. Patří sem SQL, NoSQL, OS command, LDAP i Expression Language injection a také XSS.
Nejvíc CVE ze všech kategorií: 62 445 · XSS přes 30 tisíc CVE, SQL injection přes 14 tisíc
Příklad SQL injection:
Jak se bránit:
- Oddělit data od příkazů: parametrizované dotazy, bezpečné API nebo ORM
- Pozor na uložené procedury s
EXECUTE IMMEDIATEneboexec() - Pozitivní validace vstupu na serveru (jako doplněk, ne jediná obrana)
- Kontextové escapování výstupu proti XSS
- SAST, DAST a fuzzing v CI/CD
Insecure Design
Nezabezpečený návrh · 2021: A04 ↓
Co to je: Chyby v návrhu a architektuře, včetně chyb business logiky. OWASP to shrnuje větou: nezabezpečený návrh nespraví ani dokonalá implementace.
Max. incidence 22,18 % · 39 CWE · 7 647 CVE
Příklady:
- Obnova hesla přes kontrolní otázky (NIST 800-63b ji zakazuje)
- Skupinová sleva v kině zneužitá k rezervaci 600 míst pár požadavky
- Boti skupující zboží s omezeným množstvím
- Neomezené nahrávání souborů nebezpečného typu
Jak se bránit:
- Threat modeling pro autentizaci, autorizaci, business logiku a klíčové toky
- Knihovna bezpečných návrhových vzorů a ověřených komponent („paved road“)
- Bezpečnostní požadavky přímo v user stories
- Testy na zneužití (misuse cases), ne jen na správné použití
- Oddělení vrstev a tenantů
Authentication Failures
Selhání autentizace · 2021: A07
Co to je: Útočník přiměje systém, aby ho považoval za legitimního uživatele. Slabá hesla, credential stuffing, chybějící MFA nebo špatná správa session.
Max. incidence 15,80 % · 36 CWE · 7 147 CVE
Typické chyby:
- Credential stuffing a password spraying (Leto2025 → Leto2026)
- Výchozí, slabá nebo uniklá hesla
- Chybějící MFA nebo slabá záložní metoda
- Session ID v URL, session fixation, chybějící odhlášení napříč SSO
- Neověřené
audaissv JWT
Jak se bránit:
- MFA všude, kde to jde, a podpora správců hesel
- Kontrola nových hesel proti seznamům uniklých hesel
- Žádná vynucená pravidelná změna hesla (NIST 800-63b), jen při podezření na únik
- Stejné chybové hlášky, aby nešlo zjišťovat existenci účtů
- Omezení a zpomalení neúspěšných pokusů, alerting na útoky
- Ověřené řešení (OIDC, IdP) místo vlastní implementace
Software or Data Integrity Failures
Selhání integrity softwaru nebo dat · 2021: A08
Co to je: Aplikace nebo infrastruktura nechrání hranice důvěry a neověřuje integritu kódu, artefaktů a dat. Proti A03 jde o konkrétnější, technickou úroveň.
Max. incidence 8,98 % · 14 CWE · 3 331 CVE
Typické chyby:
- Skripty a knihovny z nedůvěryhodných CDN bez kontroly integrity
- CI/CD stahuje a nasazuje neověřené artefakty
- Automatické aktualizace bez ověření podpisu
- Nebezpečná deserializace dat od klienta
Jak se bránit:
- Ověřovat digitální podpisy softwaru i dat
- Subresource Integrity pro skripty z CDN
- Závislosti jen z důvěryhodných nebo interních repozitářů
- Review změn kódu i konfigurace, oddělené a řízené CI/CD
- Nedeserializovat nepodepsaná data od nedůvěryhodných klientů
Security Logging and Alerting Failures
Selhání logování a alertingu · 2021: A09
Co to je: Bezpečnostní události se nelogují, logy nikdo nesleduje nebo na ně nenavazuje alert a reakce. Změna názvu z „monitoring“ na „alerting“ je záměrná: podle OWASP mají skvělé logy bez alertingu jen minimální hodnotu.
Do seznamu se dostala z komunitního průzkumu, už potřetí · jen 723 CVE, protože se špatně testuje
Typické chyby:
- Neúspěšná přihlášení a odepřené přístupy se nelogují
- Chybí prahy pro alerty a eskalace, DAST sken nevyvolá žádný alert
- Citlivá data v logu, log injection
- Tolik falešných poplachů, že skutečný útok zapadne
Jak se bránit:
- Logovat selhání přihlášení, autorizace a validace s kontextem uživatele
- Strojově zpracovatelný formát, centrální sběr (SIEM)
- Auditní stopa jen pro zápis, chráněná proti úpravám
- Alerty navázané na playbooky a incident response plán
- Honeytokens jako levná detekce průniku
Mishandling of Exceptional Conditions Nová
Chybné ošetření výjimečných stavů
Co to je: Program neumí předejít neobvyklé situaci, odhalit ji nebo na ni správně reagovat. Výsledkem jsou pády, logické chyby, race conditions, podvodné transakce a systémy, které při chybě „selžou otevřeně“ (fail open).
Max. incidence 20,67 % · 24 CWE · 3 416 CVE
Typické chyby:
- Chybová hláška s citlivými informacemi (stack trace, SQL)
- Výjimka při nahrávání souboru neuvolní prostředky, hrozí DoS
- Přerušený převod peněz se nevrátí, částka se odečte nebo připíše vícekrát
- Kontrola oprávnění při chybě propustí požadavek
Jak se bránit:
- Chyby zachytit tam, kde vznikají, a smysluplně ošetřit
- Globální handler výjimek jako poslední pojistka
- Při chybě vrátit celou transakci a selhat bezpečně (fail closed)
- Limity, kvóty a throttling: nic v IT nemá být neomezené
- Jednotné ošetření chyb, logování a alerting v celé organizaci
Co udělat jako první
Pokud jste se zatím řídili verzí 2021, tyhle kroky pokryjí většinu toho, co nová verze přinesla:
- Zmapujte dodavatelský řetězec (A03). Generujte SBOM v CI/CD, sledujte závislosti průběžně, ne jen při buildu, a zapněte MFA a minimální oprávnění pro repozitáře, pipeline a registry. Podrobněji v článcích o SCA a zabezpečení CI/CD.
- Kontrolujte konfiguraci automaticky (A02). Skenujte IaC a běžící cloudové účty, ne jen kód aplikace. Bezpečnost Infrastructure as Code.
- Přidejte SSRF do testů autorizace (A01). Omezte odchozí provoz aplikací a v AWS vynuťte IMDSv2.
- Projděte ošetření chyb (A10). Hledejte místa, kde výjimka propustí požadavek, nevrátí transakci nebo vrátí uživateli interní detaily.
- Navažte logy na alerty (A09). Ověřte, že penetrační test nebo DAST sken spustí alert, a že na alert někdo reaguje. Security monitoring a logování.
- Aktualizujte mapování. Pravidla SAST/DAST, bezpečnostní dotazníky, interní standardy a školení často odkazují na čísla kategorií z roku 2021 (A03:2021 Injection je dnes A05:2025).
Jak implementovat ochranu
DevSecOps přístup
Ochrana proti OWASP Top 10 vyžaduje bezpečnost v celém životním cyklu, od návrhu po provoz:
1. Návrh
- Threat modeling (A06)
- Bezpečnostní požadavky v user stories
- Review architektury
2. Vývoj
- SAST (A05, A10)
- SCA a SBOM (A03)
- Detekce tajemství v kódu (A04, A07)
3. Build
- Podepsané artefakty a provenance (A03, A08)
- Zabezpečená CI/CD s MFA a least privilege
- Skenování kontejnerů
4. Testování
- DAST (A01, A02, A05)
- Testy autorizace a misuse cases
- Penetrační testy podle ASVS
5. Nasazení
- Skenování IaC a konfigurace (A02)
- Security gates v CI/CD
- Canary nasazení (A03)
6. Provoz
- Centrální logování a alerting (A09)
- Průběžné sledování závislostí (A03)
- Incident response playbooky
Doporučené nástroje
- SAST: Semgrep, CodeQL, SonarQube, Checkmarx
- DAST: ZAP, Burp Suite
- SCA a SBOM: OWASP Dependency-Track, Syft, Snyk, Dependabot, Renovate
- Podepisování a provenance: Sigstore (cosign), SLSA, GitHub Artifact Attestations
- IaC a konfigurace: Checkov, Trivy, KICS
- Kontejnery: Trivy, Grype
- Detekce tajemství: Gitleaks, TruffleHog, GitGuardian
- WAF: AWS WAF, Azure WAF, Cloudflare
Zdroje
- OWASP Top 10:2025: oficiální znění a stránky jednotlivých kategorií
- OWASP Top 10:2025: Introduction: metodika, data a změny proti roku 2021
- OWASP/Top10 na GitHubu: zdrojové texty a stav vydání
- OWASP ASVS: standard pro ověřování bezpečnosti aplikací
- OWASP Top 10 for LLM Applications: rizika aplikací nad jazykovými modely