Da li je vibe kodiranje bezbedno? Pravi rizici i šta proveriti pre objave
Vibe kodiranje je bezbedno za lične alate i prototipe, i može biti bezbedno za prave aplikacije sa pravim korisnicima, ali samo ako dodate provere koje „samo opišite i vidite da li radi“ preskače. Opasni problemi se ne vide sa ekrana: korisnici koji mogu da otvore tuđe podatke, tajni ključevi u pregledaču i javni obrasci bez ograničenja. Ovaj vodič objašnjava rizike koji zaista prave probleme, kako rukovati tajnama, koliko pregleda je potrebno i 30-minutnu proveru koju treba obaviti pre objave.
Za celu tehničku listu, pogledajte našu kontrolnu listu bezbednosti za aplikacije napravljene uz AI. Ova stranica je kraća i praktična verzija za ljude koji ne čitaju kod.
Zašto vibe kodiranje ima sopstvene rizike
Kada vibe kodirate, aplikaciju procenjujete tako što je koristite. To hvata pokvarena dugmad i ružne rasporede. Ne hvata probleme koji se pojavljuju samo kada neko koristi aplikaciju drugačije od vas: stranac, bot, radoznali korisnik koji menja adresu u pregledaču.
Modeli veštačke inteligencije pišu uverljiv kod i većina je u redu. Ali oni optimizuju ono što ste tražili — „neka kontrolna tabla prikazuje moje projekte“ — i možda neće dodati zaštitu koju niste tražili — „i nikako tuđe“. Rešenje nije da prestanete da vibe kodirate. Rešenje je da zaštite eksplicitno zatražite, a zatim ih testirate.
Koliko je vaša aplikacija rizična? Brza skala
| Vaša aplikacija | Rizik | Šta vam treba |
|---|---|---|
| Lični alat koji koristite samo vi, bez osetljivih podataka | Nizak | Ključevi van koda. To je otprilike sve. |
| Javni sajt ili stranica sa obrascem | Nizak do srednji | Ograničenja obrazca, zaštita od botova, bez tajni na stranici |
| Aplikacija na kojoj se ljudi prijavljuju i čuvaju sopstvene podatke | Srednji | Sve sa ove stranice |
| Uplate, zdravlje, finansije, podaci o deci ili ličnim dokumentima | Visok | Sve sa ove stranice, plus pregled programera |
Budite iskreni u vezi toga u kojem ste redu. Mnoge aplikacije počnu u prvom redu, a onda nekako pređu u treći bez odluke bilo koga.
Rizici koji zaista prave probleme
1. Korisnici mogu da vide tuđe podatke
Ovo je najčešći ozbiljan problem kod aplikacija pravljenih uz AI. Stranica svakom korisniku prikazuje samo njegove zapise, pa izgleda ispravno. Ali server će vratiti bilo koji zapis ako neko promeni ID u adresnoj traci ili u zahtevu. Pošto uvek testirate kao sami sebe, to nikada ne vidite.
Kako proveriti: napravite dva naloga. Prijavite se kao korisnik A, otvorite jedan od zapisa korisnika A i zabeležite adresu. Prijavite se kao korisnik B u privatnom prozoru i nalepite tu adresu. Trebalo bi da vidite „nije pronađeno“, a nikada podatke korisnika A.
Upit:
Proveri svaku serversku krajnju tačku koja čita, menja ili briše podatke korisnika. Svaka mora da potvrdi da je prijavljeni korisnik ovlašćen za pristup tom konkretnom zapisu. Navedi krajnje tačke, objasni kako svaka proverava i popravi one koje to ne rade.
2. Tajne na pogrešnom mestu
Tajna je sve što daje pristup: API ključ za AI ili servis e-pošte, lozinka baze podataka, tajni ključ dobavljača plaćanja. Ako je u kodu koji se izvršava u pregledaču, bilo ko može da otvori alate za programere i kopira je. Ako je poslata u javni repozitorijum, botovi je pronađu za nekoliko sati.
Kako proveriti: pitajte AI.
Navedi svaki API ključ, token i lozinku koju ova aplikacija koristi. Za svaki reci gde se čuva i da li se ikada šalje u pregledač. Prebaci one koji su u kodu ili na frontend-u u tajne na serveru.
3. Javni obrasci i krajnje tačke bez ograničenja
Kontakt obrasci, prijave i AI funkcije pronalaze botovi. Bez ograničenja dobijate spam, lažne naloge ili visok račun za AI API koji se poziva hiljadama puta.
Upit:
Dodaj ograničenja brzine za prijavu, prijavljivanje, kontakt obrazac i svaku krajnju tačku koja poziva AI servis. Dodaj skriveno polje (honeypot) na javne obrasce. Reci mi koja ograničenja si izabrao.
4. Verovanje pregledaču
Sve što pregledač odlučuje korisnik može da promeni: cene, popuste, odgovore u kvizu, oznake „admin je“. Pravila koja su važna moraju da se primenjuju na serveru.
Upit:
Nađi svako mesto gde pregledač odlučuje ono što treba da odlučuje server: cene, zbirove, dozvole, uloge, rezultate. Prebaci te provere na server.
5. Nema povratka
Loša izmena ili loš akter može da obriše podatke. Ako nema rezervne kopije i nema načina da se vrati, mala greška postaje trajna. Proverite da vaš alat ima kontrolne tačke za kod i rezervne kopije za bazu podataka. Pogledajte kako napraviti rezervnu kopiju baze podataka aplikacije.
Kako pravilno rukovati tajnama
Tajne prave više izbegive štete nego bilo šta drugo, zato su pravila na jednom mestu:
- Nikada ne lepite pravi ključ u čet. Četovi se čuvaju, dele i snimaju ekranom. Ključeve stavite u tajne ili promenljive okruženja vašeg alata. (Šta su promenljive okruženja i tajne.)
- Plaćene servise pozivajte sa servera. Pregledač pita vaš server; server poziva AI ili servis za plaćanje sa ključem.
- Koristite različite ključeve za testiranje i pravu upotrebu, tako da procureli testni ključ ne može da dira pravi novac.
- Postavite ograničenja potrošnje u kontrolnim tablama AI i servisa e-pošte.
- Odmah zamenite ključ ako mislite da je procureo. Napravite novi, ažurirajte tajnu, a zatim obrišite stari.
Na Mythex-u tajne se čuvaju u podešavanjima projekta, van koda, a agent ih može koristiti bez da se vrednosti pojavljuju u četu. Naš vodič o čuvanju API ključeva pokriva više dobavljača.
Koliko pregleda koda vam treba?
Vibe kodiranje znači da ne čitate svaku liniju. Ne morate. Ali za neke linije neko treba da pogleda.
- Lični alati: ništa osim provera sa ove stranice.
- Aplikacije sa korisničkim nalozima: pregledajte kako rade prijava i pristup podacima. To možete uraditi tako što ćete AI zamoliti da objasni jednostavnim rečima i proverite da se objašnjenje slaže sa onim što očekujete.
- Aplikacije sa uplatama ili osetljivim podacima: neka programer pogleda autentifikaciju, dozvole, obradu plaćanja i sve što čuva lične podatke. To je nekoliko sati njegovog vremena, a ne prepisivanje.
Korisna poruka čak i bez programera:
Objasni, jednostavnim rečima, kako ova aplikacija odlučuje ko je korisnik i šta sme da vidi. Pokaži fajlove. Zatim navedi šta bi bezbednosni pregledač trebalo da pogleda.
Naš vodič o kako pregledati kod napisan uz AI objašnjava šta pregledači traže, a možete ga dati onome ko radi pregled. Ako vaš alat dozvoljava izvoz koda ili sinhronizaciju sa GitHub-om, zakazivanje pregleda je lako; na Mythex-u su oba deo Pro paketa.
30-minutna provera pre objave
Pokrenite ovo pre nego što link podelite sa bilo kim van vašeg kruga.
Pristup (10 minuta)
- Dva naloga, dva pregledača: može li B da otvori zapise od A preko adrese? Ne bi trebalo.
- Odjavite se i direktno otvorite adresu svake stranice. Privatne stranice treba da vas pošalju na prijavu.
- Kao običan korisnik, otvorite administratorske adrese. Trebalo bi da budu odbijene.
Tajne (5 minuta)
- Pitajte AI gde se nalazi svaki ključ, koristeći gornji upit.
- Otvorite aplikaciju, pogledajte izvorni kod stranice i potražite „key“, „secret“ i „token“.
Obrasci i zloupotreba (5 minuta)
- Pošaljite svaki obrazac prazan, sa vrlo dugačkim tekstom i dvaput u kratkom razmaku.
- Proverite da postoje ograničenja brzine za prijavu, prijavljivanje i svaku AI funkciju.
Podaci i oporavak (5 minuta)
- Znajte gde se podaci nalaze i kako se vraćaju.
- Proverite da možete da vratite kod na prethodnu radnu verziju.
Pravne osnove (5 minuta)
- Ako prikupljate lične podatke, dodajte politiku privatnosti i navedite šta prikupljate. Pogledajte kako napisati uslove korišćenja i politiku privatnosti.
- Proverite da objavljena aplikacija koristi HTTPS. Većina alata za pravljenje, uključujući Mythex, to rešava za vas.
Ako sve prođe, dobro ste pripremljeni za rano lansiranje. Ponovite korake 1–5 nakon svake veće izmene prijave, uloga ili podataka.
Šta platforme za vibe kodiranje štite, a šta ne
Dobra platforma rešava mnogo infrastrukture: HTTPS, izolovane radne prostore, bazu podataka po projektu, skladištenje tajni, rezervne kopije i vraćanje. Mythex svakom projektu daje sopstveni privatni radni prostor i bazu podataka, čuva tajne van koda i pravi kontrolnu tačku posle svake uspešne izmene, pa možete da je poništite.
Ali nijedna platforma ne može da zna pravila vaše aplikacije. Samo vi znate da kupci ne bi trebalo da vide tuđe fakture ili da kupon sme da se iskoristi samo jednom. Ta pravila moraju da budu u vašim upitima i potvrđena vašim testovima.
Kratak odgovor
Vibe kodiranje je bezbedno koliko i provere koje dodate. Za lični alat, držite ključeve van koda i uživajte. Za sve što sadrži tuđe podatke, pokrenite 30-minutnu proveru iz gornjeg teksta pre svakog lansiranja i zatražite pogled programera na uplate i osetljive podatke. Da vidite ove rizike na pravim projektima, pročitajte naše primere vibe kodiranja; a da gradite sa ovim proverama od početka, pratite kako napraviti aplikaciju vibe kodiranjem.
Pitanja
Da li je vibe kodiranje bezbedno?
Bezbedno je za lične alate i prototipe bez osetljivih podataka. Za aplikacije na kojima se ljudi prijavljuju, čuvaju podatke ili plaćaju, bezbedno je samo ako dodate provere koje vibe kodiranje preskače: pravila pristupa na serveru, tajne čuvane van koda, ograničenja za javne obrasce i pregled svega što obrađuje novac ili lične podatke.
Koji je najveći bezbednosni rizik kod aplikacija napravljenih vibe kodiranjem?
Loša kontrola pristupa: jedan prijavljeni korisnik može da pročita ili izmeni podatke drugog korisnika, obično promenom ID-ja u zahtevu. To se nikada ne pojavi kada testirate kao sami sebe, zato je tako često. Testirajte to namerno sa dva naloga.
Može li kod koji napravi AI da procuri moje API ključeve?
Može, ako ključ završi u kodu koji se izvršava u pregledaču posetioca ili je sačuvan u javnom repozitorijumu. Čuvajte ključeve u tajnama ili promenljivim okruženja vašeg alata, pozivajte spoljne servise sa servera i pitajte AI da navede gde se svaki ključ koristi.
Treba li mi programer da pregleda aplikaciju napravljenu vibe kodiranjem?
Ne za lični alat ili rani prototip. Zatražite pregled programera pre nego što direktno primate uplate, čuvate zdravstvene, finansijske ili podatke o deci, ili otvorite aplikaciju za mnogo korisnika. Izvoz ili pristup GitHub-u čini taj pregled jednostavnim.
Da li su moj kod i podaci bezbedni na platformi za vibe kodiranje?
To zavisi od platforme, zato pročitajte njene stranice o bezbednosti i privatnosti. Na Mythex-u svaki projekat radi u sopstvenom privatnom radnom prostoru sa sopstvenom bazom podataka, tajne se čuvaju van koda, a kontrolne tačke omogućavaju da vratite lošu izmenu. Logika vaše aplikacije i dalje treba provere iz ovog vodiča.