5 bezpečnostných dier, ktoré nájdeme v AI generovaných eshopoch
SQL injection, otvorené API kľúče, cudzie objednávky po zmene čísla v adrese, ceny upravené v prehliadači a chýbajúce zálohy. Päť chýb, ktoré pri kontrole AI eshopov nachádzame najčastejšie.
Eshop vygenerovaný cez AI na prvý pohľad funguje – produkty sa zobrazujú, košík počíta a objednávky chodia. Bezpečnostné diery však na prvý pohľad nevidno. Uvidí ich až útočník. Pri kontrolách eshopov, ktoré vznikli cez ChatGPT, Cursor či Lovable, nachádzame stále tie isté chyby. Tu je päť najčastejších.
1. SQL injection – databáza otvorená cez formulár
Vyhľadávanie, filter alebo prihlásenie posiela do databázy dotaz, ktorého súčasťou je text od používateľa. Ak kód tento text vloží do dotazu priamo, útočník môže namiesto hľadaného slova napísať kúsok vlastného databázového príkazu – a databáza ho poslušne vykoná.
Výsledok môže byť:
- stiahnutie celej databázy zákazníkov vrátane adries a telefónov
- zmena cien alebo stavov objednávok
- vytvorenie vlastného administrátorského účtu
- zmazanie dát
Obrana je známa desiatky rokov – parametrizované dotazy, vo WordPresse napríklad $wpdb->prepare(). AI ju však používa nekonzistentne, najmä keď sa kód opakovane „opravuje" ďalšími promptmi.
2. Otvorené API kľúče
Eshop komunikuje s platobnou bránou, dopravcom, fakturáciou či databázou v cloude. Každé takéto napojenie má tajný kľúč. V AI generovaných projektoch tieto kľúče často nachádzame:
- priamo v JavaScripte, ktorý si stiahne každý návštevník
- v repozitári na GitHube, často verejnom
- v súbore
.envalebo konfigurácii, ktorá je dostupná cez prehliadač
Kto má kľúč, môže v mene vášho eshopu vystavovať faktúry, objednávať prepravu, čítať dáta z databázy alebo minúť kredit v platenej službe.
3. Chýbajúca kontrola prístupu
Zákazník si otvorí svoju objednávku na adrese končiacej číslom 1024. Čo sa stane, keď číslo zmení na 1023? V dobre postavenom eshope nič – systém overí, či objednávka patrí jemu. V mnohých AI generovaných eshopoch sa zobrazí cudzia objednávka s menom, adresou a telefónom.
Nejde o teóriu. V roku 2025 výskumník Matt Palmer preveril 1 645 aplikácií z verejnej galérie AI nástroja Lovable a v 170 z nich našiel databázy, ktoré mohol čítať alebo meniť ktokoľvek – chýbali v nich pravidlá prístupu. Unikali e-maily, adresy aj API kľúče. Zraniteľnosť dostala označenie CVE-2025-48757.
4. Dôvera v údaje z prehliadača
Všetko, čo príde z prehliadača, môže útočník zmeniť – cenu v košíku, výšku zľavy, množstvo, cenu dopravy. Ak eshop cenu len prevezme z formulára namiesto toho, aby ju vypočítal na serveri, nákup za 1 cent je otázkou pár sekúnd.
Typické prípady, ktoré nachádzame:
- cena produktu sa posiela z prehliadača do pokladne
- zľavový kód sa overuje len v JavaScripte
- stav „zaplatené" sa nastaví podľa presmerovania z brány, nie podľa overenej notifikácie
- administrátorské funkcie sú len „skryté", no nie chránené
5. Chýbajúce zálohy
Toto nie je diera v kóde, ale v prevádzke – a pri útoku alebo chybe rozhoduje o všetkom. AI generovaný eshop často beží na bezplatnom pláne cloudovej služby bez pravidelných záloh, alebo zálohy existujú, ale nikto nikdy neskúsil, či sa z nich dá eshop obnoviť.
Ako rýchlo môže prísť o dáta aj samotný AI agent, ukazuje prípad z júla 2025, keď AI agent platformy Replit počas „zmrazenia" kódu vymazal produkčnú databázu. Viac sme o tom písali v článku Prečo AI nemôže samostatne spravovať produkčný server.
Čo hrozí, keď sa diera nájde
Únik osobných údajov zákazníkov je podľa GDPR porušením ochrany osobných údajov. Prevádzkovateľ ho musí do 72 hodín nahlásiť Úradu na ochranu osobných údajov SR, v závažných prípadoch informovať aj samotných zákazníkov. K tomu prichádza riziko pokuty, náklady na vyšetrenie a hlavne strata dôvery, ktorú žiadna kampaň rýchlo nevráti.
Argument „veď to spravila AI" vás nijako nechráni. Za eshop zodpovedá jeho prevádzkovateľ.
Ako tomu predchádzame
- každý vstup od používateľa ošetrujeme a dotazy do databázy parametrizujeme
- tajné kľúče držíme výhradne na serveri, nikdy v kóde pre prehliadač ani v repozitári
- pri každej akcii overujeme, či na ňu má používateľ právo
- ceny, zľavy a stav platby počítame a overujeme na serveri
- zálohujeme denne, mimo servera a obnovu pravidelne testujeme
- eshopy staviame na vlastných pluginoch – menej cudzieho kódu znamená menej miest na útok
AI pri vývoji používame aj my, ale každý riadok, ktorý ide do produkcie, prečíta a schváli programátor. O ďalších rizikách AI eshopov píšeme v článku Prečo e-shop vytvorený pomocou AI nestačí pre seriózny biznis.
Časté otázky
Je kód generovaný AI bezpečný?
Nie automaticky. Výskum spoločnosti Veracode z roku 2025 ukázal, že jazykové modely pri programátorských úlohách vložili bezpečnostnú chybu v 45 % prípadov. Kód z AI preto musí pred nasadením skontrolovať človek, ktorý bezpečnosti rozumie.
Čo je SQL injection?
SQL injection je útok, pri ktorom útočník cez formulár alebo adresu stránky vloží vlastný príkaz do databázového dotazu. Ak eshop vstupy správne neošetruje, útočník môže čítať, meniť alebo mazať údaje v databáze vrátane zákazníkov a objednávok.
Čo robiť, ak z eshopu unikli osobné údaje zákazníkov?
Podľa GDPR musí prevádzkovateľ porušenie ochrany osobných údajov nahlásiť Úradu na ochranu osobných údajov SR do 72 hodín od zistenia, ak predstavuje riziko pre dotknuté osoby. Zároveň treba dieru čo najskôr zaplátať a zistiť rozsah úniku.
Ako zistím, či má môj eshop bezpečnostné diery?
Najspoľahlivejšie bezpečnostným auditom – kontrolou kódu, konfigurácie servera, prístupových práv, zálohovania a testom najčastejších útokov. Automatické skenery odhalia len časť problémov, chyby v logike eshopu nájde iba človek.
Záver
Päť dier v tomto článku nie je exotika – sú to najzákladnejšie chyby, ktoré útočníci skúšajú automaticky na tisíckach webov denne. AI ich do kódu vkladá preto, že rieši zadanie, nie hrozby. Ak máte eshop, ktorý vznikol cez AI, alebo si nie ste istí jeho bezpečnosťou, začnite IT auditom. Ak staviate nový, zverte ho ľuďom, ktorí za každý riadok kódu ručia – eshop na mieru.
Chcete vedieť, či váš eshop nemá niektorú z týchto dier? Skontrolujeme ho.
Nezáväzná konzultácia →