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 %
