Vibe kodēšana ir veids, kā lapu vai lietotni uzbūvē, aprakstot AI rīkam vārdiem, kas vajadzīgs, un pašam kodu nelasot. Collins Dictionary to nosauca par 2025. gada vārdu, un ar tādiem rīkiem kā Lovable, Bolt vai v0 pierakstu lapu var uztaisīt vienā nedēļas nogalē. Prototipam vai iekšējam rīkam tas ir ātrs un lēts ceļš. Risks parādās, kad vibe kodēta mājaslapa tiešsaistē sāk glabāt klientu datus, bet kodu neviens nav pārskatījis un pēc palaišanas neviens to neuzrauga. Symbiotic Security 2026. gada jūnijā publicētajā pētījumā pārbaudīja 1072 šādas lietotnes ar Supabase datubāzi, un 98 % no tām bija vismaz viena drošības nepilnība. Zemāk ir biežākās kļūdas, piemērs ar izmaksām un pārbaude 8 soļos lapai, kas jau ir tiešsaistē.
Kas ir vibe kodēšana un kur tā der
Terminu 2025. gada februārī ieviesa AI pētnieks Andrejs Karpatijs (Andrej Karpathy): cilvēks apraksta, ko grib, AI raksta kodu, un cilvēks vērtē tikai to, vai rezultāts ekrānā izskatās pareizi. 2025. gada novembrī Collins Dictionary vārdu savienojumu “vibe coding” izvēlējās par gada vārdu. Latviski runā par vibe kodēšanu, un platformas, kas to piedāvā, ir Lovable, Bolt.new, v0, Replit, Base44 un citas. Daudzas no tām datu glabāšanai pieslēdz Supabase datubāzi.
Mūsuprāt, vibe kodēšana labi der, ja kļūdas cena ir maza:
- prototips, ar kuru parādīt ideju investoram, kolēģiem vai dizainerim;
- iekšējs rīks, kurā nav klientu personas datu, piemēram, noliktavas atlikumu kalkulators;
- idejas pārbaude: lapa ar vienu piedāvājumu, ko nedēļu rādāt reklāmā, lai saprastu, vai kāds piesakās;
- pirmā versija, ko pēc tam pārskata un pārbūvē programmētājs.
Sarežģītāk kļūst tad, kad prototips kļūst par uzņēmuma lapu ar pierakstu, reģistrāciju vai apmaksu. Tad tajā ir citu cilvēku dati, un par tiem atbild lapas īpašnieks.
Ko rāda 2025.-2026. gada pētījumi
Symbiotic Security (2026. gada jūnijs). Pētnieki atrada 1085 publiskas lietotnes, kas uzbūvētas ar Lovable, v0, Bolt.new, Replit un Windsurf un izmanto Supabase, un 1072 no tām pārbaudīja bez datu lejupielādes. 1046 lietotnēs (98 %) bija vismaz viena nepilnība, 173 lietotnēs (16 %) kritiska. 172 vietnēs ikviens bez pieteikšanās varēja izdzēst vai mainīt datus. Atvērto tabulu nosaukumi bija “leads”, “profiles”, “payments” un “admin_users”. Šis ir paša uzņēmuma pētījums, un lietotnes nav atlasītas nejauši, tāpēc 98 % nav jāattiecina uz visām vibe kodētajām lietotnēm.
Escape.tech (2025. gada oktobris). Komanda pasīvi skenēja vairāk nekā 5600 publisku lietotņu, galvenokārt no Lovable, Base44 un Create.xyz. Atrastas 2038 ļoti kritiskas ievainojamības, vairāk nekā 400 noplūdušu slepeno atslēgu un 175 gadījumi, kad bija redzami personas dati, arī medicīniski ieraksti un IBAN numuri. Paši autori šos skaitļus sauc par apakšējo robežu.
Georgia Tech Vibe Security Radar (2026). Džordžijas Tehnoloģiju institūta pētnieki izskatīja vairāk nekā 43 000 drošības paziņojumu un meklēja tos, kuros kļūdu ieviesis AI kodēšanas rīks. 2026. gada janvārī tādi bija 6, februārī 15, martā 35, un martā vien to bija vairāk nekā visā 2025. gadā. Cloud Security Alliance pētījumu piezīmē norādīts, ka pēc pētnieku aplēsēm īstais skaits atvērtā koda projektos ir 5-10 reizes lielāks.
Wiz Research (2025. gada jūlijs). Base44 platformā Wiz atrada kļūdu, ar kuru pietika zināt lietotnes publisko identifikatoru, lai piereģistrētos privātā lietotnē. Platforma kļūdu izlaboja mazāk nekā 24 stundās. Risks var būt arī pašā platformā, un tur to var izlabot tikai platformas izstrādātāji.
Septiņas kļūdas, ko atrod visbiežāk
- Slepenās atslēgas pārlūka kodā. Atslēga maksājumu sistēmai, e-pasta servisam vai AI pakalpojumam ierakstīta failā, ko lejupielādē katrs apmeklētājs. To var nokopēt un tērēt jūsu naudu vai lasīt jūsu datus. Supabase publiskā atslēga pārlūkā drīkst būt, slepenā “service_role” atslēga nekad.
- Nav piekļuves pārbaudes. Lapa paslēpj pogu “Administrēšana”, bet serveris nepārbauda, kurš prasa datus. Pietiek adresē nomainīt ieraksta numuru, lai redzētu cita klienta pierakstu.
- Atvērtas datubāzes tabulas. Supabase dokumentācijā rakstīts, ka tabulu bez rindu drošības politikām (Row Level Security) var lasīt un rakstīt ikviens, kam ir piekļuve API. AI rīks tabulu izveido, bet politikas ne vienmēr.
- Nav rezerves kopiju. Supabase bezmaksas plānā automātisku rezerves kopiju nav, un projekts tiek apturēts pēc nedēļas bez aktivitātes. Ja kāds izdzēš tabulu, atjaunot nav no kā.
- Neviens neatjaunina. Lietotne izmanto desmitiem atvērtā koda bibliotēku. Kad tajās atrod ievainojamību, kādam jāatjaunina versija un jāpārbauda, vai lapa vēl strādā. Vibe kodētā projektā parasti nav cilvēka, kura darbs tas ir.
- Formu spams. Bez CAPTCHA, ierobežojuma pieprasījumu skaitam un e-pasta apstiprināšanas roboti aizpilda formu tūkstošiem reižu. Symbiotic Security 220 vietnēs atrada atvērtu reģistrāciju un 69 vietnēs izslēgtu e-pasta apstiprināšanu.
- Personas dati un VDAR. Vārds, tālrunis un pieraksta iemesls ir personas dati, un informācija par veselību ir īpašas kategorijas dati (VDAR 9. pants). Ja tie noplūst, pārzinim par to 72 stundu laikā jāziņo Datu valsts inspekcijai, ja vien nav maz ticams, ka tas rada risku cilvēkiem (VDAR 33. pants).
Visas septiņas kļūdas programmētājs parasti pamana jau pirmajā koda pārskatā, un to labošana pirms palaišanas aizņem stundas.
Piemērs: fizioterapijas prakses pierakstu lapa Jelgavā
Tipiska situācija. Fizioterapijas praksē Jelgavā strādā trīs speciālisti. Īpašniece no izstrādātāja saņēma piedāvājumu 1600 € apmērā par lapu ar pieraksta formu, bet nolēma pamēģināt pati. Nedēļas nogalē ar AI rīku viņa uztaisīja lapu ar pakalpojumiem, cenām un formu, kurā pacients ieraksta vārdu, tālruni un īsi apraksta, kas sāp. Dati glabājās bezmaksas Supabase projektā. Pirmajā gadā izmaksas būtu AI rīka abonements ap 25 $ mēnesī un domēns 12 € gadā, tātad ap 300 €. Ietaupījums pret piedāvājumu ap 1300 €.
Pēc trīs mēnešiem kādas pacientes dēls, kurš strādā IT, pārlūka izstrādātāja rīkos ieraudzīja, ka tabula ar pierakstiem atgriež visus 900 ierakstus jebkuram, kas zina API adresi. Bez pieteikšanās bija redzami vārdi, tālruņi un teikumi kā “sāp ceļgals pēc operācijas”. Tajā pašā tabulā bija arī 3400 robotu aizpildītu formu.
Labošana izmaksāja tā:
- programmētājs: 14 stundas pa 55 €, kopā 770 € (rindu drošības politikas, formas apstrāde servera funkcijā, CAPTCHA, spama tīrīšana, eksports un kopiju iestatīšana);
- juridiska konsultācija par paziņojumu Datu valsts inspekcijai un vēstuli pacientiem: 300 €;
- Supabase Pro plāns ar ikdienas kopijām: 25 $ mēnesī;
- administratore 2 nedēļas pierakstīja pa tālruni un ap 10 stundām zvanīja pacientiem, kuru dati bija redzami.
Ceturtajā mēnesī no 1300 € ietaupījuma bija palikuši ap 200 €. Lapa joprojām nebija nevienam uzticēta: kad nākamreiz būs jāatjaunina bibliotēkas vai jāmaina forma, rēķins atkal būs stundās.
Kāpēc tā sanāk lēta šodien un dārga pēc gada
Vibe kodēšana ļoti samazina izstrādes cenu. Tā nesamazina darbu, kas jādara pēc palaišanas, un šo darbu sākuma tāmē neviens neieraksta. Gada laikā lapai, kas glabā klientu datus, vajag vismaz šo:
- kopijas, kuras var atjaunot, un pārbaudi, ka atjaunošana tiešām strādā;
- bibliotēku un platformas atjauninājumus, pārbaudot formu pēc katra;
- uzraudzību, kas paziņo, ja lapa neatveras vai forma pārstāj sūtīt;
- spama filtru un ierobežojumus formām;
- cilvēku, kurš zina, kur glabājas dati un ko darīt 72 stundās pēc noplūdes.
Pēc mūsu pieredzes ar lapām, ko pārņemam no citiem, sakārtošana pēc fakta vienmēr izmaksā vairāk nekā tas pats darbs pirms palaišanas, jo vispirms jāsaprot, ko kods dara un kur ir dati. Tas ir mūsu novērojums, ne pētījuma dati.
Pārbaude 8 soļos lapai, kas uztaisīta ar Lovable, Bolt vai v0
Pārbaudiet tikai savu lapu. Daļai soļu vajag piekļuvi Supabase panelim vai koda repozitorijam.
- Atslēgas pārlūkā (5 min). Atveriet lapu Chrome, spiediet F12, cilnē Sources nospiediet Ctrl+Shift+F un meklējiet “service_role”, “sk_live”, “secret” un “api_key”. Supabase publiskā (anon vai publishable) atslēga drīkst būt redzama, ja tabulām ir drošības politikas. Ja atrodat citu slepeno atslēgu, nomainiet to pakalpojuma panelī un izņemiet no koda.
- Drošības politikas tabulām (5 min). Supabase panelī atveriet Advisors, sadaļu Security Advisor. Ja tas rāda tabulas ar izslēgtu RLS, tās ir atvērtas. Tabulu sarakstā katrai tabulai ar klientu datiem jābūt ieslēgtam RLS un vismaz vienai politikai.
- Lapa svešinieka acīm (5 min). Atveriet lapu privātā logā, neielogojoties, un F12 cilnē Network skatieties, ko atgriež datubāzes pieprasījumi. Ja redzat citu cilvēku vārdus, e-pastus vai tālruņus, dati ir publiski.
- Divu lietotāju tests (10 min). Izveidojiet divus testa kontus. Ar otro mēģiniet atvērt pirmā ierakstus, piemēram, nomainot ID adresē, un atvērt administrēšanas lapu. Abām darbībām jābeidzas ar atteikumu.
- Formas (5 min). Nosūtiet formu desmit reizes pēc kārtas. Ja visas desmit pieņemtas bez CAPTCHA vai ierobežojuma, roboti to izdarīs tūkstoš reižu. Reģistrācijai jābūt ieslēgtai e-pasta apstiprināšanai.
- Rezerves kopija (15 min). Pārbaudiet, kurā Supabase plānā ir projekts. Bezmaksas plānā kopiju nav, tāpēc vai nu pārejiet uz Pro plānu, vai regulāri eksportējiet datubāzi un vismaz reizi izmēģiniet to atjaunot.
- Atjauninājumi (10 min). Ja kods ir GitHub, ieslēdziet Dependabot brīdinājumus vai palaidiet
npm audit. Ierakstiet kalendārā, kurš un kurā datumā katru mēnesi skatās brīdinājumus. - Personas dati (15 min). Pārbaudiet, vai datubāze ir ES reģionā, vai lapā ir privātuma politika ar pareizu pārziņa nosaukumu, cik ilgi glabājat pierakstus un kurš pieņems lēmumu par ziņošanu Datu valsts inspekcijai, ja dati noplūst.
Ja kaut viens no pirmajiem četriem soļiem neizdodas, lapā vai nu izslēdziet formu, vai uz laiku aizstājiet to ar tālruni, kamēr kļūdu salabo. Pārējie četri ir darbs nākamajām divām nedēļām.
Kā strādājam mēs
AI lietojam katru dienu, un tas raksta koda un tekstu melnrakstus. Dizainers lapu zīmē Figmā, programmētājs katru melnrakstu izlasa un pārbauda piekļuves, formas un datu glabāšanu, pirms kods nonāk serverī. Pēc palaišanas lapa paliek uzturēšanā: atjauninājumus vispirms izmēģinām lapas kopijā, rezerves kopija top katru dienu un pirms katras izmaiņas, un uzraudzība ziņo, ja lapa neatveras. Sīkāk rakstā Kā izmantojam AI izstrādē un kur to nelaižam klāt. Cik ātri pēc palaišanas jāreaģē, labi parāda arī PHP2Shell ievainojamība: tā skāra WordPress lapas, kas uzbūvētas pavisam bez AI.
Ko izdarīt šonedēļ
- Pārlūka kodā sameklējiet slepenās atslēgas un nomainiet katru, kas tur nedrīkst būt.
- Supabase Security Advisor pārbaudiet, vai visām tabulām ar klientu datiem ieslēgts RLS.
- Atveriet lapu privātā logā un pārbaudiet, vai datubāze neatgriež citu cilvēku datus.
- Ar diviem testa kontiem pārbaudiet, vai viens lietotājs neredz otra ierakstus.
- Formai pievienojiet CAPTCHA un ieslēdziet e-pasta apstiprināšanu.
- Iestatiet rezerves kopijas un vienreiz izmēģiniet atjaunošanu.
- Ierakstiet, kurš katru mēnesi atjaunina bibliotēkas un pārbauda formu.
Biežāk uzdotie jautājumi
Kas ir vibe kodēšana?
Vibe kodēšana ir programmēšana, kurā cilvēks AI rīkam vārdiem apraksta, ko vajag, un pats kodu nelasa, vērtējot tikai rezultātu ekrānā. Terminu 2025. gada februārī ieviesa AI pētnieks Andrejs Karpatijs (Andrej Karpathy), un Collins Dictionary to nosauca par 2025. gada vārdu. Populārākie rīki ir Lovable, Bolt.new, v0, Replit un Base44.
Vai vibe kodēta mājaslapa ir droša?
Tā var būt droša, ja kodu pārskata programmētājs un pēc palaišanas kāds lapu uzrauga. Bez tā risks ir liels: Symbiotic Security 2026. gada pētījumā 98 % no 1072 pārbaudītajām lietotnēm ar Supabase atrada vismaz vienu drošības nepilnību, un 16 % bija kritiska.
Vai Supabase publiskā atslēga pārlūka kodā ir kļūda?
Publiskā (anon vai publishable) atslēga ir paredzēta pārlūkam un pati par sevi nav kļūda. Tā ir droša tikai tad, ja katrai tabulai ir ieslēgts Row Level Security un uzrakstītas politikas. Slepenā service_role atslēga pārlūkā nedrīkst būt nekad.
Ko darīt, ja klientu dati jau bija redzami?
Vispirms aizveriet piekļuvi: ieslēdziet RLS, nomainiet atslēgas un uz laiku izslēdziet formu. Tad pierakstiet, kādi dati un cik ilgi bija redzami. VDAR 33. pants prasa 72 stundu laikā ziņot Datu valsts inspekcijai, ja noplūde var radīt risku cilvēkiem, un veselības datiem tas parasti tā ir. Par savu gadījumu konsultējieties ar juristu.
Cik maksā vibe kodētas lapas uzturēšana gadā?
Platformu abonementi parasti ir ap 25 $ mēnesī par AI rīku un 25 $ mēnesī par Supabase Pro ar ikdienas kopijām. Klāt nāk programmētāja stundas atjauninājumiem un labojumiem. Mūsu piemērā Jelgavā viena noplūdes sakārtošana izmaksāja ap 1100 €, gandrīz visu sākuma ietaupījumu.
Labāk salabot vibe kodēto lapu vai uztaisīt jaunu?
Ja lapa galvenokārt stāsta par uzņēmumu un tajā ir viena forma, bieži lētāk to pārbūvēt uz WordPress vai Wix Studio, kur atjauninājumi un kopijas ir uzturēšanas daļa. Ja tā ir lietotne ar savu loģiku, kas jau strādā, izdevīgāk saglabāt kodu, likt programmētājam to pārskatīt un vienoties par regulāru uzraudzību.
Kā pārbaudām lapu, kas uzbūvēta ar AI rīku
Lapu, kas uzbūvēta ar Lovable, Bolt, v0 vai citu rīku, apskatām tāpat kā lapu, ko veidojis cits izstrādātājs: piekļuves, slepenās atslēgas, datubāzes politikas, formas un kopijas. Pēc pārbaudes zināt, kas jālabo tūlīt, cik stundu tas prasa un vai izdevīgāk lapu pārcelt uz WordPress. WordPress lapām serveris ar atjauninājumiem un ikdienas kopijām maksā no 144 € + PVN gadā, uzturēšana ar labojumiem no 60 € + PVN mēnesī. Sīkāk lapās Mājaslapas uzturēšana un drošība un Mājaslapu izstrāde. Aizpildiet formu vai zvaniet +371 25 640 062.
Avoti
- Symbiotic Security: We scanned 1,072 vibe-coded apps, 98% had security flaws (02.06.2026)
- Escape.tech: The State of Security of Vibe Coded Apps
- Escape.tech: metodoloģija, 2000+ ievainojamību vibe kodētās lietotnēs (29.10.2025)
- Georgia Tech SCP: Bad Vibes: AI-Generated Code is Vulnerable, Researchers Warn (13.04.2026)
- Cloud Security Alliance: Vibe Coding’s Security Debt: The AI-Generated CVE Surge (04.2026)
- Wiz Research: kritiska ievainojamība Base44 platformā (29.07.2025)
- Supabase: Row Level Security dokumentācija
- Supabase: datubāzes rezerves kopijas
- CNN/CTV: “Vibe coding” named word of the year by Collins Dictionary (06.11.2025)
- Vispārīgā datu aizsardzības regula (ES) 2016/679 (EUR-Lex)
