12. července 2026Marek Andrášik

Co nacházím, když audituju vibecodované aplikace

Hesla v kódu, oprávnění zkontrolovaná jen někde a server na kancelářském počítači. Zobecněné nálezy z reálných auditů.

Lupa nad souhrnným reportem z auditu aplikace, v pozadí kód s hesly a server na kancelářském počítači

Poslední rok dělám pro firmy audity aplikací, které si někdo z vedení napsal pomocí AI. Zadání zní pokaždé podobně: aplikace funguje, lidé ji používají a majitel chce od zkušeného vývojáře slyšet, jestli je bezpečné na ní dál stavět.

První věc, kterou chci říct: ty aplikace bývají dobré. Řeší skutečný problém, který by externí dodavatel řešil měsíce, a člověk, který je napsal, rozumí svojí firmě líp než kdokoli zvenku. Audit není o tom najít důvod, proč aplikaci zahodit. Je o tom najít místa, která autor neměl důvod vidět, protože se vývojem neživí.

A ta místa se napříč audity opakují. Tady jsou ta nejčastější, zobecněná tak, aby se v nich nepoznal žádný konkrétní klient.

Aplikace běží na kancelářském počítači

Vývojové nástroje umí aplikaci spustit jedním příkazem na počítači, kde vznikala. Když funguje, není důvod nic měnit, a tak stejný počítač časem obsluhuje celou firmu. Kolem se nabalí spouštěcí skripty, naplánované úlohy a sdílené disky, které drží pohromadě jen na tom jednom stroji.

Prakticky to znamená, že výpadek jednoho počítače zastaví celý systém. A protože existuje jen jedno prostředí, každá změna se zkouší naostro, před očima uživatelů. Ve chvíli, kdy na aplikaci závisí technici v terénu nebo fakturace, je to nejvážnější položka celého reportu.

Hesla v kódu a zákaznická data v repozitáři

Skoro v každém auditu najdu přístupové údaje napsané přímo v kódu, občas včetně hesla k administrátorskému účtu. A skoro v každém najdu reálná data zákazníků: v importních skriptech, v testovacích souborech a čím dál častěji v uložené historii konverzací s AI, která se commituje do repozitáře spolu s kódem.

Majitele obvykle nepřekvapí, že to je technický problém. Překvapí je, že to je i právní problém. Repozitář leží u zahraničního poskytovatele, data v něm opustila firmu a subjekty údajů o tom nevědí. Smazání souboru navíc nepomáhá, historie verzí si pamatuje všechno.

Oprávnění zkontrolovaná jen někde

Přihlašování aplikace mívají vyřešené dobře. Slabé místo bývá o krok dál, v tom, co smí přihlášený uživatel dělat. AI má sklon kopírovat kontrolu oprávnění do každé části aplikace zvlášť, a kde se na ni při generování nedostalo, tam prostě chybí. V jednom auditu takhle mohl kterýkoli přihlášený účet spouštět odesílání e-mailů zákazníkům a mazat naplánované zakázky.

Tenhle typ chyby je zákeřný v tom, že v běžném používání není vidět. Aplikace funguje, každý klient volá jen ty své obrazovky. Objeví se až ve chvíli, kdy to někdo zkusí jinak.

Data, která se tiše rozejdou

Čtvrtá skupina nálezů je nejméně viditelná a nejdražší na pozdější opravu. AI psaný kód rád pokračuje dál i po chybě: hlavní záznam se uloží, navazující krok selže a nikdo se to nedozví. Jinde jde obejít stavy dokladů, smazat záznam nevratně i s navázanými daty nebo vytvořit dva doklady se stejným číslem.

Projeví se to typicky po měsících. Sklad ukazuje jiná čísla než realita, účetní řeší duplicitní čísla faktur a nikdo neumí říct, kdy se to pokazilo, protože po mazání nezůstává stopa.

Kód, který příští vývojář převezme draho

Poslední oblast není o bezpečnosti, ale o penězích. AI generovaný kód bez dohledu srůstá do obřích souborů, kde jeden soubor drží tisíce řádků a míchá výpočty, ukládání i odesílání e-mailů. Stejná logika je zkopírovaná na mnoha místech a firemní pravidla, třeba sazby nebo číselníky, jsou zadrátovaná v kódu.

Aplikaci to neshazuje. Zdražuje to každý další krok: nový vývojář se v ní dlouho orientuje a jedna změna znamená úpravy na pěti místech, z nichž na jedno se zapomene.

Proč se to děje

Není to nedbalost autorů. AI nástroje optimalizují na to, aby věc fungovala teď, na obrazovce. Provoz, zálohy, oprávnění a konzistence dat jsou přesně ty oblasti, na které se musí někdo zeptat, a člověk mimo vývoj nemá důvod vědět, že se ptát má.

Pokud jste v podobné situaci, sepsal jsem checklist pěti oblastí, které si můžete zkontrolovat sami včetně konkrétních promptů. A pokud chcete posudek, za kterým si někdo stojí jménem, podívejte se na audit vibecodované aplikace: písemný report a 90 minut konzultace do týdne, za 12 000 Kč bez DPH.