Velkým trendem dnešní doby jsou tzv. vibe aplikace. Tedy webové aplikace, které za vás na pár promptů vytvoří některý nástroj umělé inteligence. Mezi nejoblíbenější patří například Lovable, V0, Bolt.new nebo i nový český nástroj Macaly. Převážně využívají frontendové frameworky React nebo Next.js a moderní backendy jako Supabase.
Každý si může zkusit vytvořit aplikaci, aniž by měl v malíku byť jen základy programování a nemusí tedy často napsat ani řádku kódu. Na sociálních sítích se pak tvůrci aplikací téměř předhánějí v tom, kdo co vytvořil za co nejkratší dobu. Příspěvky jako „aplikace Seznamka vytvořená nástrojem x za 6 hodin“, „z nuly na produkci za den“ a podobně válcují internet. Je skutečně možné mít za tak krátký čas a bez znalosti programování aplikaci v produkční kvalitě? Jak jsou na tom z hlediska bezpečnosti? Když nás oslovil tvůrce jedné takové aplikace, neváhali jsme…
Funkcionalita aplikace byla jednoduchá. Statický obsah, přihlášení přes providery, které bylo dočasně nefunkční a kontaktní formulář. Na stejný endpoint, na která se posílala data z formuláře pomocí metody POST, se dalo dotázat i metodou GET. A ejhle tento endpoint vracel data všech uživatelů. Odhalil jedním voláním všechna uložená data.
Stejným problémem trpěla další aplikace, kterou její tvůrce sdílel na Linkedinu s výslovným upozorněním, že jde pouze o demo určené k testování. I zde si nautentizovaný uživatel mohl zjistit schéma api requestů a prakticky bez omezení je provolávat. Data uživatelů tak nebyla nijak chráněna. Tato aplikace nabízela i rozhraní pro administraci a jelikož to bylo zamýšleno skutečně jako demo, bylo heslo zveřejněno v přihlašovacím formuláři. Aplikace navíc prozrazovala heslo i ve vývojářské konzoli, což již asi úmyslné nebylo. Nástroje umělé inteligence mají tendenci být velice výřečné a platí to jak u přirozených jazyků, tak u těch programovacích. Vzniká tak balast nepotřebného kódu, který může prozradit něco, co by neměl, a nadbytečnými funkcemi a api endpointy se tak rozšiřuje takzvaný attack surface, tedy prostor, který může zneužít útočník.
Nejsme sami v našem pozorování, upozorňují na ně i další bezpečnostní specialisté nebo produktový expert Michal Černý. Ve svém příspěvku varoval nedávno před podobným problémem – možnosti získat osobní data uživatelů bez autentizace. Možná to není náhoda. Uživatelé svěřují těmto aplikacím často osobní údaje a v okamžiku, kdy uniknou, je zle. Reputačním rizikem počínaje, pokutou konče. Šetření na vývoji pak může přijít pěkně draho.
Neodrazujeme od experimentování s podobnými nástroji, ale nezapomínejme přitom na bezpečnost. Důrazně doporučujeme testovat svoje aplikace nebo se obrátit na odborníky. Uživatele takových aplikací nabádáme k obezřetnosti.