Vibe coding, stavění aplikací povídáním si s AI, je nejrychlejší cesta od nápadu k funkčnímu prototypu, jaká kdy existovala. Sám tak stavím interní nástroje a učím to na kurzu. Ale je tu druhá strana, o které tutoriály na YouTube mlčí: aplikace, která funguje, není totéž co aplikace, která je bezpečná a udržitelná. A rozdíl mezi nimi amatér nevidí, přesně proto, že kód nepsal a nerozumí mu.
Nejsem proti vibe codingu. Jsem proti představě, že se dá přeskočit pochopení. Tenhle článek je seznam chyb, které vídám nejčastěji, u klientů, kteří přišli s „hotovou" aplikací, i u účastníků kurzů.
Vibe coding funguje, ale bez základní hygieny je nebezpečný: 40-62 % AI generovaného kódu obsahuje zranitelnosti a AI commity mají zhruba 2× vyšší míru úniku tajných klíčů než lidské (GitGuardian 2026). Nejčastější chyby amatérů: API klíče natvrdo v kódu, žádná validace na serveru, databáze bez přístupových pravidel, žádné verzování, slepé přijímání výstupů, nulové zálohy a neschopnost aplikaci opravit, když se rozbije. Všechno se dá naučit za pár hodin, ale musí vám to někdo ukázat na reálné aplikaci, ne na slidech.
Proč o tom psát právě teď
Protože škody přestaly být hypotetické. V březnu 2026 unikla z vibe-coded aplikace jednoho hodně medializovaného startupu kompletní produkční databáze, 1,5 milionu API tokenů a 35 000 e-mailů. Zakladatel se předtím veřejně chlubil, že „nenapsal jediný řádek kódu". A podle GitGuardian se v roce 2025 dostalo do veřejných GitHub commitů 28,65 milionu nových natvrdo zapsaných tajných klíčů, meziročně o 34 % víc, největší skok v historii. AI asistované commity přitom leakují zhruba dvakrát častěji než lidské.
Jinými slovy: nástroje jsou fantastické, ale průměrný výstup bez dohledu je děravý. Teď ty konkrétní chyby.
Chyba 1: API klíče a hesla přímo v kódu
AI ráda generuje „funkční" příklady s klíčem vloženým rovnou do zdrojáku. Amatér to zkopíruje, nasadí, a klíč je veřejný. Kdo ho najde, čerpá vaše API na váš účet (u placených AI API klidně tisíce korun za noc) nebo rovnou čte vaši databázi.
Jak správně: klíče patří do proměnných prostředí (env), nikdy do kódu ani do repozitáře. A pokud už klíč v kódu byl, nestačí ho smazat, je v historii. Musí se revokovat a vygenerovat nový.
Chyba 2: důvěra klientovi, žádná validace na serveru
Vibe-coded aplikace často kontrolují vstupy jen ve formuláři v prohlížeči. Jenže prohlížeč ovládá útočník, ne vy. Cokoli, ceny, role, ID záznamů, se dá poslat na server ručně a upravené.
Jak správně: každý vstup se validuje znovu na serveru. Cena se nikdy nebere z formuláře, ale z databáze. Role uživatele se ověřuje při každém požadavku.
Chyba 3: databáze otevřená světu
Klasika ze Supabase/Firebase světa: aplikace funguje, protože databáze povoluje čtení a zápis všem. Row Level Security je vypnuté, protože „to házelo chyby". Výsledek: kdokoli s adresou projektu si může stáhnout, nebo přepsat, všechna data.
Jak správně: RLS zapnuté na každé tabulce, pravidla psaná od „nikdo nesmí nic" a povolovaná po jednom. Tohle je přesně věc, kterou AI sama od sebe neudělá, musíte o ni říct.
Chyba 4: žádné verzování, „včera to fungovalo"
Amatér iteruje přepisováním jediné živé verze. Když AI při desáté úpravě něco rozbije (a rozbije), není cesta zpět. Vídám lidi, kteří takhle přišli o dva týdny práce.
Jak správně: git od první minuty, commit po každé funkční změně. Ve vibe codingu je to dvojnásob důležité: AI mění kód rychle a plošně, commit je vaše jediné „undo". Bonus: AI editorům se s gitem líp vysvětluje, co se pokazilo.
Chyba 5: slepé přijímání výstupů a „regeneration loop"
Dvě podoby téže chyby. První: přijmout kód, který vypadá, že funguje, bez čtení, takhle se do aplikace dostávají halucinované závislosti (útočníci registrují balíčky s názvy, které si AI vymýšlí) a bezpečnostní díry. Druhá: když něco nejde, mačkat „zkus to znovu" dokola, dokud výsledek náhodou neprojde, místo pochopení, co je špatně. Po pěti regeneracích je kód guláš, kterému nerozumí ani AI.
Jak správně: malé kroky, po každém přečíst diff (aspoň zhruba pochopit, CO se změnilo), při chybě nejdřív přečíst chybovou hlášku a poslat ji AI s kontextem, ne „nefunguje to, oprav to".
Chyba 6: nasazení bez rozmyslu, prototyp rovnou do produkce
Vibe coding svádí k tomu pustit do světa první verzi, která se hne. Bez rate limitů (účet za API vystřelí), bez záloh databáze, bez oddělení testovacího a ostrého prostředí, s admin rozhraním na veřejné adrese.
Jak správně: před spuštěním checklist, rate limity na endpointech, záloha dat, oddělené prostředí na experimenty, admin schovaný za přihlášením. Hodina práce, která jednou zachrání firmu.
Chyba 7: neschopnost aplikaci opravit, když se rozbije
Tohle je ta drahá chyba. Aplikace běží, firma na ní začne záviset, a pak přestane fungovat platební brána, změní se API třetí strany, vyprší certifikát. Amatér, který aplikaci „naklikal", nemá jak problém diagnostikovat, protože nikdy nepochopil, jak funguje. V lepším případě zaplatí vývojáře, v horším přijde o data i zákazníky.
Jak správně: rozumět aspoň architektuře vlastní aplikace, co kde běží, kudy tečou data, kde jsou logy. To není programování; to je hodina vysvětlování. A přesně tohle by vás měl naučit každý, kdo vibe coding učí.
Znamená to „nedělejte to sami"? Ne.
Opak. Vibe coding je dovednost, kterou doporučuji každé firmě, interní nástroje, kalkulačky, prototypy, automatizace. Věci, na které byste si dřív najímali vývojáře za desítky tisíc, dnes zvládnete za odpoledne. Ale je to dovednost, ne kouzlo: rozdíl mezi člověkem, který ji ovládá, a člověkem, který kliká „regenerate", je přesně v těch sedmi bodech výše.
Proto můj kurz vibe codingu není „podívejte se, co AI umí". Za 3 hodiny postavíme naživo skutečnou aplikaci, a u toho projdeme git, klíče, validaci i nasazení, na reálném kódu, ne na slidech. Odejdete s aplikací A s tím, že víte, co jste postavili. Pro firmy dělám školení na míru. A pokud jste si aplikaci nebo web už postavili a tušíte, že v ní jsou díry, ozvěte se, projdu ji a řeknu vám na rovinu, co je v pořádku a co ne.
Shrnutí
Vibe coding je legitimní a rychlá cesta k vlastní aplikaci, ale AI generovaný kód obsahuje zranitelnosti ve 40-62 % případů a leakuje tajné klíče 2× častěji než lidský. Sedm chyb, které rozhodují: klíče v kódu, chybějící serverová validace, otevřená databáze, žádný git, slepé přijímání výstupů, prototyp v produkci a neschopnost opravit, co jste nepochopili. Všechno se dá naučit za jedno odpoledne, od někoho, kdo aplikace reálně staví a provozuje.
Zdroje a odkazy
- GitGuardian: State of Secrets Sprawl 2026, 28,65M uniklých klíčů, 2× vyšší leak rate u AI commitů
- Vibe Coding Has A Massive Security Problem, Forbes o incidentu s 1,5M tokenů
- IBM: Vibe Coding Security Risks Aren't Like Ordinary Security Risks
- CSA: Vibe Coding Security Crisis, Credential Sprawl and SDLC Debt
- Vibe coding security: 7 risks and fixes (2026), souhrn zranitelností 40-62 %
