Veracode protáhl svým testem přes sto jazykových modelů ve čtyřech vlnách měření. Průměrná úspěšnost v bezpečnostních úlohách se drží na 56 procentech a od prvního reportu se posunula o jediný bod. Mezitím AI napsala zhruba polovinu kódu, který firmy nasazují do ostrého provozu.
Padesát šest procent. Tolik úloh dokážou jazykové modely vyřešit tak, aby ve výsledku nebyla známá bezpečnostní chyba. V prvním měření to bylo padesát pět. Mezi tím leží čtyři testovací vlny a přes stovku otestovaných modelů.
Syntakticky správný kód přitom modely vygenerují skoro vždy. Report Veracode z 28. července 2026 mluví o téměř stoprocentní úspěšnosti v tom, že kód jde zkompilovat a dělá, co po něm chcete. Jakmile ze zadání vypadne explicitní bezpečnostní instrukce, zhruba 44 % vygenerovaných řešení obsahuje zranitelnost.
Kdo někdy dělal výstupní kontrolu v elektronice, zná ten rozdíl důvěrně. Deska projde funkčním testem, protože dělá přesně to, co má. AOI ji pak vyhodí kvůli studenému spoji pod pouzdrem. Funkčnost a struktura jsou dvě různé kontroly a jedna druhou nenahradí.
Čtyři vlny, jedno číslo
Metodika je záměrně nudná a v tom je její síla. Model dostane funkci s komentářem, co má dělat, a nic víc. Žádné „piš to bezpečně“, žádný bezpečnostní kontext. Zadání je postavené tak, že jde splnit bezpečně i nebezpečně. Výsledek pak projde statickou analýzou Veracode a hledají se čtyři typy chyb: SQL injection (CWE-89), cross-site scripting (CWE-80), log injection (CWE-117) a slabé kryptografické algoritmy (CWE-327). Osmdesát úloh na model. V letošní vlně přibylo jedenáct nových, dohromady jich program sleduje přes sto od svého startu v roce 2025.
Data zabíjejí dvě představy, které se v diskusích o AI nástrojích drží zuby nehty.
První: modely vyladěné na programování píšou bezpečnější kód. Nepíšou. Specializované modely mají průměr 51 %, obecné 52 %. Druhá představa říká, že větší model znamená lepší výsledek. Velké modely nad sto miliard parametrů daly 53 %, střední a malé shodně 51 %. Jediné, co měřitelně pomáhá, je reasoning, tedy schopnost modelu nad odpovědí chvíli přemýšlet. Rozdíl 56 ku 51 procentům. Slušné, ale pořád je to každá druhá úloha s chybou.
Špičku žebříčku drží GPT-5.5 se 68 procenty. Víc než polovina testovaných modelů se mačká v pásmu 50 až 53 procent.
Ten rozdíl jsem zprvu bral jako metodický šum. Mýlil jsem se. Model, který selže v jedné úloze ze tří, generuje podstatně menší frontu oprav než model, který selže v jedné ze dvou, a při objemu kódu, o kterém se tu bavíme, se z toho stává položka v rozpočtu. Volba modelu přestala být otázkou pohodlí vývojáře. Nejlepší model v testu ale pořád neuhlídá skoro třetinu úloh, takže ani ta správná volba nikoho nezbavuje kontroly.
Kde to padá nejhůř
Průměr je v tomhle případě mizerný ukazatel, protože rozptyl mezi typy zranitelností je brutální.
U SQL injection dosahují modely 83 procent, u kryptografických algoritmů dokonce 87. U cross-site scriptingu spadnou na 15 procent a u log injection na dvanáct. Vysvětlení leží v trénovacích datech. SQL injection a volba šifry mají za sebou dvacet let opakovaných, dobře zdokumentovaných opravných vzorů v otevřených repozitářích, takže je model viděl ve správné podobě tisíckrát. Správné ošetření výstupu proti XSS závisí na frameworku, na kontextu, na tom, kudy vstup od uživatele teče aplikací. To se z povrchního vzoru naučit nedá. Model musí rozumět toku dat, a přesně tam mu to ujíždí. Pro tým, který chce vědět, kam napřít revizi, je tohle použitelnější informace než celkové skóre.
Napříč jazyky vypadá situace podobně nerovnoměrně. Java končí na třiceti procentech úspěšnosti, tedy s chybovostí přes sedmdesát procent. Python je na třiašedesáti. Veracode k tomu má hypotézu, která zní věrohodně: modely jsou přetrénované na starých javovských vzorech z doby před moderními bezpečnostními frameworky, a když mají psát Javu, sáhnou po tom, co viděly nejčastěji.
Na bankovních a podnikových systémech postavených v Javě je to nepříjemné čtení. Java je ovšem zároveň jediný jazyk, u kterého report vidí konzistentní meziroční zlepšení.
Prototyp pokrývá happy path
Tohle všechno je laboratoř. V českém prostředí se to láme jinde a popisují to hlavně vývojářské firmy, kterým výsledky vibecodingu přistávají na stole.
Server Lupa.cz v srpnu zmapoval typickou poptávku: klient si navibekóduje aplikaci, prohlásí ji za hotovou z devadesáti procent a chce doobjednat zbývajících deset. Tomáš Lodňan z GoodRequestu na tom popisuje jádro problému. Prototyp obslouží ideální průběh, tedy že zákazník najde zboží, vloží do košíku a zaplatí. Chybí autorizace na úrovni API, datový model, který přežije první změnu zadání, migrace, chybové stavy, testy, logování a GDPR. „To není deset procent práce. To je většina práce,“ shrnuje to Lodňan.
Jiří Štěpán z Etnetery používá přirovnání ke stavbě domu z OSB desek. Dispozice sedí, předsíň je tam, kde má být, a zimu to nepřežije. Sklep se k tomu nedá dodělat, protože se musí stavět znovu. Adam Hamšík z Labyrinth Labs pozoruje totéž u cloudové infrastruktury, kterou si firmy staví samy s AI: často to funguje, ale při dohodě o převzetí se opakovaně ukazuje, že je levnější začít znovu než opravovat.
Druhý zdroj těchhle zakázek jsou podle Lodňana velké firmy, kde si prototypy staví byznysové týmy mimo IT a pak je pošlou dodavateli s pokynem dát to do produkce. Klasické shadow IT, jen s AI ho je násobně víc.
Cenovku uvedl Computertrends: audit u jednoho klienta GoodRequestu stál 450 tisíc korun, oprava poškozeného systému může vyšplhat na sedm a půl milionu. Martin Macík z téhož studia k tomu dodává, že bez pochopení architektury „rychle nad celým systémem ztratíte kontrolu“. Ono to sedí i na firmy, které si myslí, že žádnou architekturu nemají. Mají. Jen ji nikdo nenavrhl.
Radar, který počítá škody
Zajímavější než laboratorní procenta je otázka, kolik z toho skutečně doputuje do veřejných zranitelností.
Tým Systems Software and Security Lab na Georgia Tech spustil v květnu 2025 projekt Vibe Security Radar. Metodika táhne data z CVE.org, NVD, GitHub Advisory Database a OSV, u každé zranitelnosti najde opravný commit a odtud se prokousává historií zpátky k tomu, kdo chybu zavedl. Když má commit podpis AI nástroje, třeba co-author tag nebo bot e-mail, označí se a agenti pak posuzují, jestli AI kód k chybě opravdu přispěl.
Trend je ošklivý. V druhé polovině roku 2025 našel radar zhruba osmnáct případů za sedm měsíců. Za první čtvrtletí 2026 jich bylo šestapadesát. Samotný březen dal pětatřicet CVE, tedy víc než celý rok 2025. Celkem má projekt ke konci března 74 potvrzených případů.
Autor projektu Hanqing Zhao k tomu dodává odhad, který je vlastně podstatnější než samotná čísla: skutečný počet je podle něj pětkrát až desetkrát vyšší, protože většina AI asistovaných commitů žádnou metadatovou stopu nenechá. Nejčastěji se v datech objevuje Claude Code, což ale vypovídá spíš o jeho rozšíření a o tom, že po sobě stopy nechává. Zhao zároveň upozorňuje na kvalitativní posun. Když agent postaví celou funkci bez autentizace, není to překlep. Je to návrhová vada zabudovaná od začátku.
Jak moc to dopadá na české firmy, nikdo nezměřil. Čísla, která máme, jsou z amerických a izraelských výzkumů a z open source ekosystému. Zatím se nedá dělat víc než předpokládat, že se Česko od zbytku Evropy neliší.
Balíčky, které nikdy neexistovaly
Vedle děr v samotném kódu běží tišší problém, o kterém se mluví míň.
Výzkum prezentovaný na USENIX Security 2025 nechal šestnáct modelů vygenerovat 576 tisíc vzorků kódu v Pythonu a JavaScriptu. Z doporučených balíčků jich 19,7 procenta prostě neexistovalo. Otevřené modely halucinovaly v 21,7 procenta případů, komerční v 5,2. Horší je, že se halucinace opakují. Při deseti bězích téhož promptu se 43 procent vymyšlených jmen vrátilo pokaždé. Útočníkovi stačí pustit populární model, sesbírat, co si vymýšlí, a ta jména si zaregistrovat na npm nebo PyPI. Vzniklo pro to označení slopsquatting a od typosquattingu se liší tím, že registry nemají podle čeho to chytat. Hledají podobnost se skutečným jménem balíčku, jenže vymyšlené jméno se ničemu nepodobá.
Účet od regulátora
Regulační rámec se přitom za poslední rok viditelně utáhl a většina firem to zatím bere jako cizí problém.
Od 1. listopadu 2025 platí zákon č. 264/2025 Sb. o kybernetické bezpečnosti, česká transpozice směrnice NIS2. Rozsah je jinde než u předchozí úpravy: místo několika stovek subjektů dopadá odhadem na šest až deset tisíc organizací napříč patnácti odvětvími. Kromě energetiky a zdravotnictví je mezi nimi i potravinářství nebo odpadové hospodářství. Zákon stojí na samoidentifikaci, takže si firma musí sama posoudit, jestli pod něj spadá. Registrace přes Portál NÚKIB měla proběhnout do konce roku 2025, na zavedení opatření je rok od registrace. Maximální pokuta v režimu vyšších povinností je 250 milionů korun nebo dvě procenta celosvětového obratu.
K tomu se přičítá GDPR s hranicí dvaceti milionů eur nebo čtyř procent obratu. Obě sankce přitom umí spustit jeden zapomenutý endpoint bez autorizace.
Chris Wysopal, spoluzakladatel Veracode, k celé věci říká zhruba to nejnudnější možné doporučení: zacházet s AI kódem jako s jakýmkoli jiným neprověřeným kódem. Skenovat, opravovat, nenasazovat bez revize. Nudné doporučení má tu výhodu, že funguje bez ohledu na to, který model zrovna vede žebříček.
Čísla za poslední čtyři roky říkají dost jasně, že čekat na model, který bude psát bezpečně sám od sebe, je strategie s velmi nejistým výsledkem. Rychlost psaní kódu se za tu dobu zvedla řádově. Kontrola, jestli ten kód někam neteče, ne.