Vytvořeno: 11.6.2026 | Aktualizováno: 13.06.2026 15:17
Bezpečnost ve vibe codingu: nejčastější chyby a jak se jim vyhnout je rozhovor s Janem Ševčíkem o tom, jaké bezpečnostní chyby typicky vznikají při vývoji aplikací pomocí AI a jak je systematicky odhalovat. Zápis je praktický checklist pro projekty, které vznikly „vibe codingem“ a mají se posunout z prototypu do bezpečnějšího provozu.
Vibe coding umožňuje velmi rychle vytvořit prototyp nebo MVP, ale snadno vede k falešnému pocitu bezpečí. Aplikace může vypadat funkčně, přitom obsahovat uniklé API klíče, otevřené endpointy, chybějící testy nebo zbytečný balast v projektu. Hlavní doporučení z videa je postupovat pomaleji, průběžně se ptát na bezpečnost a nepouštět produkční aplikaci bez základní hygieny: 2FA, Git, audit secrets, kontrola endpointů a automatické testy.
Jedna z hlavních chyb je uložení API klíčů přímo v kódu nebo v doprovodných souborech. Ve videu se zmiňuje, že secrets nemusí být jen ve funkčním kódu, ale i v různých *.md souborech, které AI agent průběžně generuje.
Riziko je praktické: pokud se klíč dostane ven, může být zneužitý proti napojené službě. U AI služeb, platebních bran nebo cloudových účtů pak nemusí být hned vidět, co se stalo.
Pracovní prompt pro kontrolu projektu:
Vypiš mi všechny secrets a API klíče, které jsou v tomto projektu vidět.
Interpretace je jednoduchá: pokud je agent umí vypsat, jsou v projektu dostupné a je potřeba je přesunout mimo repozitář, typicky do environment proměnných nebo správce secrets.
AI podle videa často vytvoří endpointy nebo URL, které nejsou správně chráněné autentizací. Typický problém je stránka nebo API cesta, na kterou se dá dostat přímo přes URL, i když má být dostupná jen přihlášenému nebo platícímu uživateli.
Kontrola by neměla být jen „klikací“. Je potřeba projít všechny důležité URL a ověřit, které opravdu vyžadují přihlášení, roli, předplatné nebo jiné oprávnění.
U vibe-coded aplikací často chybí testy. Pak se snadno stane, že oprava jedné části rozbije jinou část aplikace. Ve videu zaznívá konkrétní příklad testů pro předplatné: ověřit, že do systému nepropadnou uživatelé bez zaplaceného subscribu.
Doporučený postup je nechat AI nejdřív navrhnout plán testů a až potom generovat konkrétní testy:
Připrav mi plán automatických testů pro tento projekt. Zaměř se hlavně na přístupová práva, platby, předplatné a endpointy, které nesmí být veřejné.
Potom navázat konkrétně:
Vytvoř automatický test pro kontrolu, že uživatel bez zaplaceného předplatného nemá přístup k placené části aplikace. Test ulož do samostatné složky pro testy.
Git je základní bezpečnostní i provozní hygiena. Umožňuje auditovat, co se v projektu měnilo, vracet se k předchozím verzím a zapojit nástroje, které kontrolují elementární bezpečnostní chyby.
Pokud projekt ještě není v repozitáři, je to první věc k nápravě.
Nestačí hledat jen v souborech aplikace. Kontrolovat je potřeba i:
*.md soubory,Prakticky lze začít ručně přes vyhledávání v editoru a potom přidat automatické kontroly v repozitáři nebo CI.
U každé důležité URL nebo API cesty je potřeba ověřit:
Model může používat zastaralé postupy, protože jeho znalosti končí datem tréninku. Ve videu se jako řešení zmiňuje připojení MCP serveru Context 7, který poskytuje aktuální dokumentaci k technologiím jako Laravel, Stripe nebo Next.js.
Použitelný prompt po napojení dokumentace:
Při řešení tohoto úkolu vycházej z aktuální dokumentace dostupné přes MCP server. Nejdřív si dokumentaci projdi a teprve potom navrhni postup.
2FA není jen ochrana vývojářského účtu. Ve videu zaznívá širší pointa: čím víc aplikací vzniká rychlým vibe codingem, tím častěji uživatelé zadávají svá data do systémů, které nemusí být dobře zabezpečené. Dvoufaktorové ověřování proto snižuje dopad úniku hesla.
Ve videu zaznívá, že AI nástroje často navrhují Next.js nebo React hlavně proto, že na nich měly hodně trénovacích dat. React je velmi rozšířený framework, takže se v repozitářích objevuje často a jazykové modely s ním umí relativně dobře pracovat.
To ale samo o sobě neznamená, že jde o nejvhodnější nebo nejbezpečnější volbu pro konkrétní projekt. Je to spíš důsledek pravděpodobnosti: model skládá kód podle toho, co v trénovacích datech viděl nejčastěji. Rozšířenost technologie tedy není totéž jako správná architektura pro daný use-case.
Jan Ševčík popisuje aplikaci jako kombinaci více vrstev: frontend pro vizuální část, backend pro aplikační logiku a databázový engine pro ukládání dat. Pro backend ve Snadné používají Laravel, framework postavený nad PHP.
Hlavní důvod není „PHP samo o sobě“, ale filozofie Laravelu. Laravel je podle něj velmi deterministický framework: jeho tvůrci poměrně přesně říkají, jak mají věci vypadat, kam co patří a jak se má daný problém řešit. Ve videu to přirovnává k Applu: existuje jedna doporučená cesta a framework nepodporuje nekonečnou diskuzi nad tím, že stejnou věc lze napsat deseti různými způsoby.
Pro AI je to důležité proto, že snižuje prostor pro náhodné nebo nekonzistentní řešení. Když existuje jasná konvence a konkrétní dokumentace, model má menší prostor vymýšlet vlastní architekturu. U méně deterministických frameworků může existovat mnoho správných i polovičatých cest a výběr té nejlepší závisí na zkušenosti vývojáře. Pokud ale projekt staví člověk bez hlubší vývojářské zkušenosti, vzniká tím větší riziko špatných rozhodnutí.
Praktická pointa: framework s jasnými konvencemi je pro vibe coding bezpečnější startovací bod než technologie, kde AI sice „viděla hodně kódu“, ale existuje příliš mnoho způsobů, jak stejnou věc udělat.
Ve videu zároveň zaznívá, že i frameworky jako Laravel už na práci s AI reagují: mají balíčky, instrukce a dokumentaci, kterou lze agentům předat. To dobře zapadá do doporučení používat aktuální dokumentaci přes MCP server typu Context 7. Cílem je model uzavřít do konkrétního rámce: nejdřív si projdi dokumentaci, drž se konvencí frameworku a až potom generuj řešení.
Pokud aplikace zpracovává osobní údaje, odpovědnost za jejich ochranu nezmizí tím, že kód vygenerovala AI. Ve videu se připomíná GDPR a odpovědnost provozovatele aplikace při případném úniku dat. Vibe coding je dobrý nástroj pro rychlé prototypování, ale u aplikací s klientskými daty, platbami nebo citlivým obsahem je potřeba počítat s profesionálním review.