Nešto zanimljivo se dešava poslednjih godinu-dve u tehnološkom svetu. Programiranje, koje je decenijama bilo rezervisano za one koji su godinama učili sintaksu, debugovanje i arhitekturalne obrasce, odjednom izgleda dostupno svima.
Kažete AI alatu šta hoćete. On napiše kod. Vi pritisnete „deploy“. Aplikacija radi.
Ovaj pristup dobio je i naziv – vibe coding – termin koji je popularizovao Andrej Karpathy, bivši direktor AI-a u Tesla-i, opisujući stil rada gde se programer potpuno oslanja na AI da generiše kod, bez dubokog razumevanja toga šta taj kod zapravo radi. Kucate u prirodnom jeziku, prihvatate predloge, testirate rezultat – i nastavite dalje.
Alati kao što su Cursor, Replit Agent, Bolt.new, Lovable i GitHub Copilot omogućavaju da za jedan vikend napravite web aplikaciju, SaaS produkt, interni alat ili chatbot – bez ijedne linije koda koji ste svesno napisali.
I tu počinje priča koja nije toliko zabavna.
Šta je zapravo vibe coding – i zašto svi pričaju o njemu
Pre nego što uđemo u pravne i sigurnosne implikacije, vredi biti precizan o tome šta vibe coding jeste i šta nije.
Vibe coding nije isto što i korišćenje AI asistenta koji vam predlaže liniju koda dok vi pišete. To je znatno pasivniji pristup: opisujete funkcionalnost, AI generiše ceo modul ili celu aplikaciju, vi proveravate da li „radi“ u površnom smislu, i nastavljate.
Rezultat može biti impresivan u prvim minutima – aplikacija izgleda funkcionalno, ima UI, prima unose, vraća odgovore. Može izgledati kao pravi produkt.
Ali iza te fasade često stoji kod koji:
-
Ne validira korisnički unos na bezbbedan način
-
Čuva osetljive podatke u plain text formatu
-
Ima SQL injection ranjivosti
-
Ne implementira autentifikaciju ispravno
-
Nema error handling koji sprečava otkrivanje internih struktura
-
Koristi zastarele biblioteke s poznatim bezbednosnim propustima
AI koji generiše kod nije siguran kod. AI optimizuje za „radi sada“ – ne za „bezbedno i odgovorno radi u produkciji godinama.“
Ko je odgovoran kada aplikacija napravi štetu?
I ovde dolazimo do dela koji većina vibe codera ne razmišlja u nedelju uveče dok Deploy dugme svetli zeleno.
Odgovor je jednostavan i neprijatan: vi ste odgovorni.
Ne AI. Ne Cursor. Ne OpenAI. Ne Anthropic. Vi.
Kada pustite aplikaciju u produkciju – bez obzira na to kako je nastala – vi ste njen publisher i operator. Zakon ne pravi razliku između koda koji ste napisali ručno i koda koji je AI generisao umesto vas. Jedina stvar koja je pravno relevantna je ko je objavio aplikaciju, ko je prikupljao podatke, ko je naplaćivao usluge i ko je bio u poziciji da spreči štetu.
Evo konkretnih scenarija koji nisu teorijski – svi su se već dogodili u nekim oblicima:
Scenario 1: Curenje podataka korisnika
Vaša AI-generisana aplikacija prikuplja emailove i lozinke korisnika. Baza podataka nije pravilno zaštićena. Neko je hakuje. Podaci 5.000 korisnika su kompromitovani.
Ko je odgovoran? Vi. GDPR u Evropi i CCPA u Kaliforniji ne pitaju kako je aplikacija nastala – pitaju ko je operator koji je prikupljao podatke i ko je bio dužan da ih zaštiti.
Scenario 2: Finansijska aplikacija s greškom
Napravili ste alat za praćenje troškova ili mali payment processor. AI je generisao logiku zaokruživanja. Greškom u toj logici, korisnici su naplaćeni pogrešan iznos.
Ko je odgovoran? Vi. Finansijska regulativa u većini jurisdikcija je apsolutno jasna: operator platnog sistema snosi odgovornost za greške u obračunu, bez obzira na tehnologiju koja stoji iza.
Scenario 3: Medicinska ili pravna informacija
Napravili ste chatbot koji odgovara na zdravstvena pitanja ili daje savete. Korisnik prati savet i dolazi do štete.
Ko je odgovoran? Vi. Čak i kada u footer-u piše „ovo nije medicinski savet“, regulatorna tela sve više gledaju na stvarnu funkcionalnost aplikacije, a ne na odricanje odgovornosti u sitnom fontu.
GDPR, AI Act i novi pravni okviri koji menjaju igru
Evropski regulatorni okvir koji se odnosi na vibe-coded aplikacije brzo evoluira – i u smeru koji nije povoljan za neoprezne developere.
GDPR je i dalje najrelevantniji regulatorni okvir za aplikacije koje prikupljaju podatke o korisnicima iz EU – bez obzira na to gde je developer. Ključne obaveze:
-
Jasna i informisana saglasnost za prikupljanje podataka
-
Pravo korisnika na uvid, ispravku i brisanje podataka
-
Prijava kršenja u roku od 72 sata
-
Privacy by design – bezbednost ugrađena u arhitekturu, a ne dodata naknadno
Kazne: do 4% globalnog godišnjeg prihoda ili 20 miliona evra, šta god je veće. Za individualnog developera koji je vibe-coded aplikaciju – to može biti razarajuće.
EU AI Act, koji je u punoj primeni od 2025. godine, uvodi dodatni sloj odgovornosti. Aplikacije koje koriste AI sisteme za donošenje odluka koje utiču na korisnike – klasifikacija, evaluacija, personalizacija – podležu zahtevima za transparentnost, dokumentaciju i human oversight koji vibe coding pristup strukturno ne ispunjava.
Product liability direktiva u EU, ažurirana 2024. godine, eksplicitno proširuje odgovornost na softver i digitalne produkte – što znači da „to je napravio AI“ nije pravna odbrana.
Bezbednosne ranjivosti koje AI redovno propušta
Da bi se razumeo razmak između „aplikacija radi“ i „aplikacija je bezbedna“, korisno je znati šta AI sistemi za generisanje koda konzistentno propuštaju.
Autentifikacija i autorizacija su prve na listi. AI generisani kod često implementira prijavu korisnika, ali propušta da proveri da li prijavljeni korisnik ima pravo da vidi određene podatke. Rezultat: korisnik A može da vidi podatke korisnika B promenom ID parametra u URL-u.
SQL injection ostaje jedan od najčešćih vektora napada – i AI kod koji ne koristi prepared statements ili ORM biblioteke s ispravnim parametrizovanjem je ranjiv na napade kojima haker može da izvuče celu bazu podataka jednim upitom.
Insecure direct object references – direktan pristup objektima (fajlovima, zapisima u bazi) bez provere prava – AI propušta u velikom procentu generisanog koda.
Eksponiranje API ključeva – AI kod ponekad hardkodira API ključeve direktno u kod umesto kroz environment variables. Ako taj kod završi na javnom GitHub repozitorijumu – ključevi su kompromitovani u minutima.
Nedostatak rate limiting-a – bez ograničenja broja zahteva, vaša aplikacija je otvorena za brute force napade i DoS scenarije.
Ovo nisu egzotični napadi koje izvode samo državni akteri. Ovo su napadi koje automatizovani skeneri pronalaze i eksploatišu u satima od trenutka kada aplikacija postane javno dostupna.
Intelektualna svojina: drugi nevidljivi problem
Bezbednost nije jedina pravna ranjivost vibe-coded aplikacija. Postoji i pitanje intelektualne svojine koje se retko otvara – ali čije implikacije su značajne.
Kada AI generiše kod, on to radi na osnovu treninga na ogromnim količinama postojećeg koda – uključujući kod koji je pod različitim licencama. GPL licenca, na primer, zahteva da svaki produkt koji uključuje GPL-licencirani kod mora i sam biti open source. MIT licenca je permisivnija, ali i dalje zahteva atribuciju.
AI sistemi trenutno ne garantuju da generisani kod ne sadrži segmente koji bi mogli biti problemtični sa stanovišta licenci. GitHub Copilot je već bio predmet tužbi upravo po ovom osnovu.
Ako vibe-coded aplikaciju komercijalizujete – naplaćujete je, koristite za poslovne svrhe, ili ugrađujete u produkt koji prodajete – pitanje licenci postaje aktivni rizik, a ne teorijska napomena.
„Disclaimer“ vas ne štiti onoliko koliko mislite
Jedan od najčešćih refleksa neopreznih developera je ubacivanje „Terms of Service“ stranice i odricanja odgovornosti u footer aplikacije – i verovanje da to pruža dovoljnu zaštitu.
Ne pruža.
Odricanje odgovornosti („Terms of Use“, „Disclaimer“, „Use at own risk“) može biti korisno u određenim situacijama – ali ne može:
-
Isključiti zakonsku odgovornost za kršenje GDPR-a
-
Zaštititi vas od tužbi zbog neblagovremene zaštite podataka
-
Poništiti odgovornost za finansijsku štetu uzrokovanu greškom u kodu
-
Zaменiti obavezu implementacije razumnih bezbednosnih mera
Sudovi u EU i sve više u SAD-u gledaju na stvarnu funkcionalnost i stvarnu štetu – ne na tekst u footer-u koji korisnik nije pročitao.
Šta znači „razumna bezbednost“ u praksi
Dobra vest je da pravni standardi ne zahtevaju da vaša aplikacija bude savršena – zahtevaju da implementirate razumne bezbednosne mere uzimajući u obzir prirodu i obim rizika.
Za malu aplikaciju s ograničenim skupom korisnika i minimalnim prikupljanjem podataka, „razumno“ je drugačije nego za fintech ili healthtech aplikaciju koja obrađuje osetljive podatke hiljada korisnika.
Ali postoji osnova ispod koje se ne može ići bez rizika:
-
HTTPS svuda – bez izuzetka
-
Validacija svih korisničkih unosa – na serveru, ne samo na klijentu
-
Hashovanje lozinki s modernim algoritmima (bcrypt, Argon2)
-
Redovne security dependency updates – zastarele biblioteke su najčešći vektor napada
-
Minimalan prikupljanje podataka – ne skupljajte podatke koji vam nisu potrebni za funkcionalnost
-
Jasna Privacy Policy u skladu s jurisdikcijom gde operišete
Nijedan AI koji generiše kod neće vam automatski garantovati sve ove stavke – morate ih eksplicitno zatražiti i eksplicitno proveriti.
Kada je vibe coding zapravo OK
Sve ovo ne znači da je vibe coding sam po sebi loš ili da ga treba izbegavati. Postoje konteksti u kojima je potpuno opravdan i koristan:
-
Interni alati za ličnu upotrebu ili upotrebu unutar malog, jasno definisanog tima koji razume ograničenja
-
Prototipovi i proof-of-concept koji se ne puste u produkciju i ne prikupljaju stvarne korisničke podatke
-
Učenje i eksperimentisanje – za razumevanje koncepta, ne za deployment
-
Statički sajtovi bez autentifikacije i bez prikupljanja podataka
Problem nastaje kada vibe-coded aplikacija pređe tu granicu – kada počne da prikuplja podatke pravih korisnika, obrađuje novac ili pruža informacije koje korisnici koriste za donošenje stvarnih odluka.
Kako biti odgovoran vibe coder
Ako ipak hoćete da vibe-coded projekat preraste u nešto što drugi koriste, evo minimalnog skupa koraka koji bi trebalo da prethode svakom deploy-u:
Pre puštanja u rad:
-
Pokrenite automatizovani security scanner (OWASP ZAP, Snyk, ili sličan alat) i prođite kroz upozorenja
-
Proverite da li su svi API ključevi u environment variables, a ne u kodu
-
Proverite da li se lozinke hašuju i da li se konekcija s bazom vrši sa minimalnim privilegijama
-
Napišite Privacy Policy koja tačno opisuje koji podaci se prikupljaju i kako se koriste
Za aplikacije s korisničkim nalogima i podacima:
-
Razmotrite angažovanje security revizora – čak i jednokratni pregled od strane stručnjaka može sprečiti katastrofalne propuste
-
Implementirajte logging koji vam omogućava da primetite neobičnu aktivnost
-
Napravite plan za slučaj kršenja sigurnosti – šta radite ako se desi, kome prijavljujete, kako obaveštavate korisnike
Za komercijalne aplikacije:
-
Konsultujte se s pravnikom koji razume tehnološko pravo u vašoj jurisdikciji
-
Proverite da li su vaše Terms of Service i Privacy Policy zakonski ispravni
-
Razmotrite cyber liability osiguranje
Odgovornost prati moć – uvek
Vibe coding je genuino uzbudljiv razvoj koji demokratizuje kreiranje softvera na način koji nije bio moguć pre samo nekoliko godina. Ideja koja bi ranije zahtevala tim programera i mesece rada može sada da postane funkcionalan prototip za vikend.
Ali ta moć dolazi s odgovornošću koja nije nestala samo zato što je kod napisao AI umesto vas.
Zakoni o zaštiti podataka, bezbednosni standardi i odgovornost prema korisnicima nisu nastali kao prepreke inovaciji. Nastali su jer su pravi ljudi bili stvarno povređeni kada su aplikacije i sistemi kojima su verovali propustili da ih zaštite.
Sledeći put kad pritisnete Deploy – pitajte se: da li bih bio spreman da objasnim svakom od mojih korisnika tačno kako ova aplikacija čuva njihove podatke? Da li bih bio spreman da odgovorim na pitanja regulatora?
Ako odgovor nije siguran „da“ – možda još niste gotovi.



