Do košíku šlo zboží za 100 tisíc, ale strhla se jen koruna. Aplikace psané AI mívají nečekané díry
Vibe coding dal nevývojářům superschopnosti. Že aplikace funguje, ale ještě neznamená, že je bezpečná, varuje zakladatel Snadnee a VibeAuditu.
Baví vás články CzechCrunche?
Vídejte je na Googlu častěji.
Sedm webů za čtrnáct dní a bez jediné řádky kódu napsané člověkem. Když letos v dubnu popsala podnikatelka a spoluzakladatelka platformy Forendors Denisa Hrubešová pro CzechCrunch, jak si pomocí nástroje Claude Code sama přestavěla weby, které ji v minulosti stály přes 242 tisíc korun, rozvířilo to sociální sítě. Nadšení z toho, co dnes zvládne člověk bez programátorského vzdělání, se v komentářích rychle míchalo s výtkami. Nejčastěji směřovaly k jedinému – k bezpečnosti.
Vibe coding se totiž z kuriozity stal běžnou praxí a za víkend dnes vznikají nejen pokusy, ale i profi byznysová řešení. Rozhodně to není okrajový případ – kód napsaný alespoň z 95 procent umělou inteligencí stál za čtvrtinou startupů přihlášených do posledního běhu prestižního amerického akcelerátoru Y Combinator.
Rychlost vývoje tím nesporně vzrostla, otázkou ale zůstává, jestli člověk bez zkušeností s kódem dokáže kromě základní funkčnosti zajistit i bezpečnost celého systému. Útočníky lákají jakékoli skuliny ve fungování aplikace či kódu, typicky největší zájem mají o přístupové údaje ke službám třetích stran a citlivá data uživatelů. Bezpečnostní výzkumník Matt Palmer loni v květnu ručně prošel 1 645 aplikací postavených na populární vibecodingové platformě Lovable. U 170 z nich, tedy zhruba u každé desáté, se mu bez problémů podařilo dostat právě k osobním údajům uživatelů.
Bylo například možné objednat poukazy v hodnotě 100 tisíc korun, ale zaplatit jen korunu.
Díry v zabezpečení se objevily i u českých aplikací. „Na webu prodávajícím dárkové poukazy bylo například možné při placení upravit odesílaná data o objednávce a objednat tak poukazy v hodnotě 100 tisíc korun, ale zaplatit jen korunu. Je to drobnost, kterou by si většina vývojářů dokázala pohlídat, ale v tomto případě server vůbec neřešil, že by měl porovnat hodnotu voucheru se zaplacenou částkou,“ vysvětluje Jan Ševčík, zakladatel společnosti Snadnee, která vibekodérům nabízí vibe audity, z nichž zmíněný nález pochází.
Je jedním z prvních, kdo tuhle mezeru na trhu zahlédl a vydal se novým podnikatelským směrem. Aplikace staví bezmála dvacet let, jenže s nástupem AI se začala měnit skladba poptávky. Do jeho softwarového studia mezi objednávkami na vývoj začaly chodit hotové aplikace k opravě.
„Nebyl to produktový nápad, lidé se na nás začali obracet s tím, že si něco naprogramovali, ale neví jestli je to bezpečné nebo neví jak se o to dál starat, kam to rozvíjet. Po několika takových zakázkách bylo jasné, že se stejné chyby opakují na stejných místech i v aplikacích, které spolu jinak nemají nic společného. V tu chvíli jsem se rozhodl naše služby přetavit do produktu s pevnou cenou a rozsahem,“ říká Ševčík.
Snadnee loni spustilo službu VibeAudit zaměřenou výhradně na aplikace postavené pomocí AI. Za sebou má přes 200 auditů a v jedné aplikaci najde zpravidla 17 až 35 chyb různé závažnosti. Kritické díry, které jde zneužít okamžitě a bez hlubších technických znalostí, bývají dvě až šest. Sám Ševčík přitom připouští, že to je obrázek pouze uvědomnělejší části trhu: „Jsou to nálezy z projektů, u kterých někoho napadlo, že by je stálo za to prověřit.“
V dokumentaci byla dokonce věta, že citlivé klíče se nikde nesmí sdílet. A přímo pod ní byly vypsané.
Typické chyby vibekodérů nebývají neviditelné skulinky, zneužitelné pouze profesionálními hackerskými skupinami. „Mnohem častěji to jsou přešlapy v aplikační logice, kdy model nedomyslí všechny scénáře. Uživatel tomu nerozumí, a proto to po něm ani nechce,“ varuje Ševčík. Jedna z auditovaných aplikací měla hned šest rozhraní, která vůbec neověřovala, zda je uživatel přihlášený. Kdokoliv se tak mohl dostat k osobním údajům, nahrávat soubory s nejvyšším oprávněním nebo spouštět placená volání na jazykové modely, za která pak přišel účet provozovateli. „Nebylo potřeba nic obcházet, stačilo znát adresu,“ dodává.
Nejnázornější nález se objevil v aplikaci programované podle všeho někým evidentně schopným. „Práce s klíčy byla zpracovaná velmi komplexně, aplikace měla téměř dva tisíce automatických testů. V dokumentaci byla dokonce věta, že citlivé klíče se nikde nesmí sdílet. A přímo pod ní byly vypsané – hlavní klíč k přihlašování, šifrovací klíč i heslo k databázi. Kdokoliv si mohl vyrobit platný účet s libovolnými pravomocemi včetně administrátora. Veškerá jinak správně napsaná logika tím ztratila smysl,“ uvádí Ševčík na dalším příkladu.
Zakladatel Snadnee nabízí i přirovnání, na kterém si lze i bez technického vzdělání představit důvod, proč nevývojáři při vývoji významně chybují. „Když si necháte od AI napsat e-mail, občas v něm nechá chybu. Tak jí řeknete, ať to opraví. A ona odpoví, že je hotovo, akorát ta chyba je tam pořád. Vy to poznáte, protože umíte česky. U kódu AI chybuje naprosto stejně, ale nevývojář to nemá šanci poznat. Nechá se uchlácholit tvrzením téhož nástroje, že je všechno zkontrolováno,“ vysvětluje Ševčík.
Vraťme se ale k Hrubešové, o jejíž weby se krátce po vydání článku začali zajímat nečekaní návštěvníci. „Měla jsem v jednu chvíli na všech webech přes dvě stě tisíc návštěv a automatizovaných útoků,“ říká. Šlo přitom výhradně o vedlejší projekty, což Hrubešová od té doby uvádí na pravou míru opakovaně – samotný Forendors s vibecodingem nic společného nemá, vyvíjejí a spravují ho programátoři.
„Kdykoliv se na sítích objevila jakákoliv zmínka o Forendors, někdo pod to hodil odkaz na ten článek a napsal, že si tohle slečinka určitě vibecoduje. Přitom to spolu nijak nesouvisí, nevibuju nic, co se týká Forendors a má přístup ke klientským datům,“ vysvětluje. Její vibecodingové tažení se týkalo například podstránky věnované podcastovým studiím, ale nic citlivého přes ni podle Hrubešové neteče. Veškeré rezervace i zákaznická data řeší platforma Reservio.
Programovat neumí, vše řešila vibe codingem – což některé komentáře pod článkem kritizovaly. Nejčastěji právě kvůli nedostatečné bezpečnosti. Sama si tehdy nebyla jistá, jestli kritici mají pravdu. „Zeptala jsem se kolegy vývojáře, jestli se mnou může mrknout na některé komentáře a jestli ti lidé nemají pravdu. Většina nakonec neměla, jen hádali, kde by chyby mohly být,“ popisuje.
Zhruba do týdne nápor přestal. „Kupodivu všechny weby vydržely, jen jeden člověk mi tam našel chybku. Napsal mi ji do zprávy, já ji opravila a od té doby všechno jede,“ dodává. Svůj podíl na tomto šťastném konci nese i audit, který si Hrubešová nechala pro jeden z webů zpracovat, protože si chtěla ověřit, zda je vibe coding skutečně tak jednoduchý. „Nebo se vše sesype v momentě, kdy se na kód podívá někdo, kdo mu skutečně rozumí,“ dodává teď už s úsměvem.
Co všechno řeší VibeAudit?
Samotná kontrola VibeAuditem má dvě fáze. Nejdřív kód projdou AI agenti, speciálně vytrénovaní na hledání chyb ve vibekódovaných aplikacích, kteří se s každým auditem dál zlepšují. Po nich kód prochází seniorní vývojář, který se zaměřuje na chyby v aplikační logice a v řízení přístupů – tedy přesně na to, co žádný automatizovaný skener nenajde. Standardní audit má přes 50 kontrolních bodů a kromě bezpečnosti pokrývá i kvalitu kódu, strukturu databáze a výkon.
Výstupem je písemný report ve třech částech.
- Shrnutí v běžném jazyce
Co je v pořádku a co ne, psáno pro člověka bez technického vzdělání. - Seznam nálezů podle závažnosti
Ve čtyřech pásmech od kritických, které útočník zneužije okamžitě, po drobnosti, jež se vyplatí dotáhnout. - Návod k nápravě (technický popis)
Konkrétní doporučení, která lze v aplikaci rovnou opravit. U vyšších tarifů k tomu patří i konzultace s vývojářem, který audit prováděl.
Přesné popisy děr v písemném dokumentu nejsou úmyslně, protože by se pak sám o sobě stal návodem k útoku. Řeší se telefonicky a při opravě. Po dokončení auditu se kód z interních systémů maže. K firemním datům klienta se nepřistupuje vůbec.
Podle Ševčíka web pro její tetovací studio, které zároveň mělo i interní systém pro řešení objednávek, v jejich auditu obstál. „Kritický nález tam nebyl žádný, což u aplikace, kterou stavěl někdo bez programátorského zázemí, není samozřejmost. Našli jsme několik věcí, které stálo za to opravit, ale nic, čím by šlo aplikaci otevřít zvenčí,“ říká. Hrubešovou, která se nejvíc bála scénáře, kdy vibe codingem ublíží svým zákazníkům a jejich datům, výsledek potěšil. „Pomohlo mi to zase o trochu víc pochopit, jak nad vibe codingem přemýšlet,“ doplňuje.
Z reakce na poptávku se tak stala služba s pevnou cenou od šesti tisíc korun, kterou Snadnee vedle Česka nabízí i na Slovensku a do konce roku ji plánuje spustit v Německu. Před necelým týdnem k jednorázovým auditům přibylo měsíční předplatné, což je další reakce na potřeby trhu. „Jednorázový audit popisuje stav aplikace k jednomu dni, jenže vibecodovaná aplikace se mění každý týden, protože její autor o půlnoci dodělá další funkci,“ přibližuje Ševčík důvody, proč přidali předplatné.
Kritiku vibe codingu jako takového přitom odmítá. „Je to dobrá věc, která posouvá spoustu lidí dopředu. Jde jen o to nespoléhat se, že barák drží, protože zvenku vypadá pěkně,“ říká. Rozdíl mezi profesionálem a vibekodérem podle něj nakonec není ani tak ve znalostech. „Je to návyk mysli. Profík počítá s tím, že se všechno jednou rozbije. Vibekodér si to nemá ani jak zkontrolovat.“ Otázkou zůstává, jak dlouho tento rozdíl vydrží. Jestli za dva roky nebude generovaný kód bezpečnější než ten psaný člověkem a tato mezera se zavře sama.









