Ar vibe coding saugu? Tikri pavojai ir ką patikrinti prieš publikuojant
Vibe coding saugu asmeniniams įrankiams ir prototipams, o tikroms programėlėms su tikrais naudotojais jis gali būti saugus, bet tik jei pridedate patikras, kurias „tiesiog aprašyk ir pažiūrėk, ar veikia“ metodas praleidžia. Pavojingos problemos nematomos ekrane: naudotojai, kurie gali atverti vienas kito duomenis, paslaptiniai raktai naršyklėje ir viešos formos be jokių ribų. Šiame vadove aptariame rizikas, kurios iš tiesų sukelia bėdų, kaip tvarkyti paslaptis, kiek peržiūros reikia ir 30 minučių patikrą, kurią atlikite prieš publikuodami.
Išsamų techninį sąrašą rasite mūsų saugumo kontroliniame sąraše DI sukurtoms programėlėms. Šis puslapis – trumpesnė, praktiška versija žmonėms, kurie nenagrinėja kodo.
Kodėl vibe coding turi savų rizikų
Kai kuriate vibe coding būdu, programėlę vertinate ją naudodami. Taip pastebimi sugedę mygtukai ir negražus išdėstymas. Tačiau nepastebimos problemos, kurios atsiranda tik tada, kai programėlę naudoja kitaip nei jūs: nepažįstamas žmogus, robotas ar smalsus naudotojas, redaguojantis žiniatinklio adresą.
DI modeliai rašo įtikinamą kodą, ir dauguma jo yra tinkamas. Tačiau jie optimizuoja tai, ko paprašėte – „parodyk mano projektus skydelyje“ – ir gali nepridėti apsaugos, apie kurią nepaprašėte – „ir tik mano, ne kitų“. Sprendimas – ne nustoti kurti vibe coding būdu, o aiškiai paprašyti apsaugų ir jas išbandyti.
Kokia jūsų programėlės rizika? Trumpa skalė
| Jūsų programėlė | Rizika | Ko reikia |
|---|---|---|
| Asmeninis įrankis, kuriuo naudojatės tik jūs, be jautrių duomenų | Maža | Raktai ne kode. Ir to iš esmės užtenka. |
| Viešas tinklalapis ar nukreipimo puslapis su forma | Maža iki vidutinės | Formų ribos, apsauga nuo robotų, jokių paslapčių puslapyje |
| Programėlė, kur žmonės registruojasi ir saugo savo duomenis | Vidutinė | Viskas, kas aprašyta šiame puslapyje |
| Mokėjimai, sveikatos, finansų, vaikų ar asmens tapatybės duomenys | Didelė | Viskas, kas aprašyta šiame puslapyje, ir programuotojo peržiūra |
Būkite sąžiningi, kurioje eilutėje esate. Daugelis programėlių prasideda pirmoje eilutėje, o be jokio sprendimo nuklysta į trečiąją.
Rizikos, kurios iš tiesų sukelia bėdų
1. Naudotojai mato vienas kito duomenis
Tai dažniausia rimta problema DI sukurtose programėlėse. Puslapis rodo kiekvienam naudotojui tik jo įrašus, todėl atrodo teisingai. Tačiau serveris grąžins bet kurį įrašą, jei kas nors pakeis ID adreso juostoje ar užklausoje. Kadangi visada testuojate kaip save, to niekada nepamatote.
Kaip patikrinti: sukurkite dvi paskyras. Prisijunkite kaip naudotojas A, atidarykite vieną iš A įrašų ir užsirašykite adresą. Prisijunkite kaip naudotojas B privačiame lange ir įklijuokite tą adresą. Turėtumėte pamatyti „nerasta“, o ne A duomenis.
Užklausa:
Patikrinkite kiekvieną serverio galinį tašką, kuris skaito, keičia ar trina naudotojo duomenis. Kiekvienas turi patvirtinti, kad prisijungęs naudotojas turi teisę pasiekti būtent tą įrašą. Surašykite galinius taškus, nurodykite, kaip kiekvienas tikrina, ir ištaisykite tuos, kurie netikrina.
2. Paslaptys ne toje vietoje
Paslaptis – tai bet kas, suteikiantis prieigą: DI ar el. pašto paslaugos API raktas, duomenų bazės slaptažodis, mokėjimo tiekėjo slaptasis raktas. Jei jis yra kode, kuris veikia naršyklėje, bet kas gali atverti kūrėjo įrankius ir jį nukopijuoti. Jei jis įkeltas į viešą repozitoriją, robotai jį suras per kelias valandas.
Kaip patikrinti: paklauskite AI.
Surašykite kiekvieną API raktą, prieigos žetoną ir slaptažodį, kurį naudoja ši programėlė. Kiekvienam nurodykite, kur jis saugomas ir ar kada nors siunčiamas į naršyklę. Perkelkite visus, kurie yra kode ar priekinėje dalyje, į serverio pusės paslaptis.
3. Viešos formos ir galiniai taškai be ribų
Kontaktų formas, registracijas ir DI funkcijas randa robotai. Be ribų gausite šlamšto, netikrų paskyrų ar didelę sąskaitą už DI API, kuris iškviečiamas tūkstančius kartų.
Užklausa:
Pridėkite užklausų ribas registracijai, prisijungimui, kontaktų formai ir kiekvienam galiniam taškui, kuris kviečia DI paslaugą. Viešoms formoms pridėkite paslėptą lauką robotams gaudyti. Pasakykite, kokias ribas pasirinkote.
4. Pasitikėjimas naršykle
Viskas, ką nusprendžia naršyklė, gali būti pakeista naudotojo: kainos, nuolaidos, viktorinos atsakymai, „ar administratorius“ žymos. Svarbios taisyklės turi būti vykdomos serveryje.
Užklausa:
Raskite vietas, kur naršyklė nusprendžia tai, ką turėtų nuspręsti serveris: kainas, sumas, teises, vaidmenis, rezultatus. Perkelkite tas patikras į serverį.
5. Nėra kelio atgal
Blogas pakeitimas ar piktavališkas naudotojas gali ištrinti duomenis. Jei nėra atsarginės kopijos ir galimybės grįžti, nedidelė klaida tampa nuolatine. Įsitikinkite, kad jūsų įrankis turi kodo kontrolinius taškus ir duomenų bazės atsargines kopijas. Žr. kaip sukurti programėlės duomenų bazės atsarginę kopiją.
Kaip tinkamai tvarkyti paslaptis
Paslaptys padaro daugiau išvengiamos žalos nei bet kas kita, todėl taisyklės čia vienoje vietoje:
- Niekada neįklijuokite tikro rakto į pokalbį. Pokalbiai saugomi, dalijami ir fotografuojami. Vietoje to įdėkite raktus į priemonės paslaptis ar aplinkos kintamuosius. (Kas yra aplinkos kintamieji ir paslaptys.)
- Mokamas paslaugas kvieskite iš serverio. Naršyklė kreipiasi į jūsų serverį; serveris su raktu kreipiasi į DI ar mokėjimo paslaugą.
- Naudokite atskirus raktus bandymams ir tikram naudojimui, kad nutekėjęs bandymų raktas nepasiektų tikrų pinigų.
- Nustatykite išlaidų ribas DI ir el. pašto tiekėjų skydeliuose.
- Iš karto pakeiskite raktą, jei manote, kad jis nutekėjo. Sukurkite naują, atnaujinkite paslaptį, tada ištrinkite seną.
Mythex paslaptys laikomos projekto nustatymuose, už kodo ribų, ir agentas gali jomis naudotis nerodydamas reikšmių pokalbyje. Mūsų vadovas kaip saugoti API raktus apima daugiau tiekėjų.
Kiek kodo peržiūros reikia?
Vibe coding reiškia, kad neskaitote kiekvienos eilutės. Ir nereikia. Tačiau kai kurias eilutes turėtų peržiūrėti kas nors.
- Asmeniniai įrankiai: nieko daugiau nei čia aprašytos patikros.
- Programėlės su naudotojų paskyromis: peržiūrėkite, kaip veikia prisijungimas ir prieiga prie duomenų. Tai galite padaryti paprašę AI paaiškinti paprastais žodžiais ir patikrinę, ar paaiškinimas sutampa su tuo, ko tikitės.
- Programėlės su mokėjimais ar jautriais duomenimis: pasikvieskite programuotoją pažiūrėti į autentifikavimą, teises, mokėjimų apdorojimą ir viską, kas saugo asmens duomenis. Tai kelių valandų jo darbas, o ne perrašymas.
Naudinga užklausa net ir be programuotojo:
Paaiškink paprastais žodžiais, kaip ši programėlė nusprendžia, kas yra naudotojas ir ką jis gali matyti. Nurodyk failus. Tada surašyk, ką saugumo peržiūrėtojas turėtų patikrinti.
Mūsų vadove kaip peržiūrėti DI sugeneruotą kodą paaiškinama, ko ieško peržiūrėtojai, ir jį galite perduoti tam, kas atliks peržiūrą. Jei jūsų įrankis leidžia eksportuoti kodą ar sinchronizuoti su GitHub, tokią peržiūrą organizuoti lengva; Mythex abu variantai įeina į Pro planą.
30 minučių patikra prieš publikavimą
Atlikite ją prieš bendrindami nuorodą su kuo nors iš už savo rato ribų.
Prieiga (10 minučių)
- Dvi paskyros, dvi naršyklės: ar B gali atverti A įrašus per URL? Neturėtų.
- Atsijunkite ir atidarykite kiekvieno puslapio adresą tiesiogiai. Privatūs puslapiai turėtų nukreipti į prisijungimą.
- Kaip paprastas naudotojas atverkite administratoriaus adresus. Jie turėtų būti atmesti.
Paslaptys (5 minutės)
- Paklauskite AI, kur gyvena kiekvienas raktas, naudodami aukščiau pateiktą užklausą.
- Atverkite programėlę, peržiūrėkite puslapio šaltinį ir ieškokite žodžių „key“, „secret“ ir „token“.
Formos ir piktnaudžiavimas (5 minutės)
- Pateikite kiekvieną formą tuščią, su labai ilgu tekstu ir du kartus iš eilės.
- Patikrinkite, ar yra užklausų ribos registracijai, prisijungimui ir bet kuriai DI funkcijai.
Duomenys ir atkūrimas (5 minutės)
- Žinokite, kur gyvena duomenys ir kaip juos atkurti.
- Patikrinkite, ar galite grąžinti kodą į ankstesnę veikiančią versiją.
Teisė ir pagrindai (5 minutės)
- Jei renkate asmens duomenis, pridėkite privatumo politiką ir nurodykite, ką renkate. Žr. kaip parašyti paslaugų teikimo sąlygas ir privatumo politiką.
- Įsitikinkite, kad publikuota programėlė naudoja HTTPS. Dauguma kūrimo įrankių, įskaitant Mythex, tai tvarko už jus.
Jei viskas praeina, esate gerame kelyje ankstyvam paleidimui. Kartokite 1–5 žingsnius po kiekvieno didelio prisijungimo, vaidmenų ar duomenų pakeitimo.
Ką vibe coding platformos apsaugo, o ko ne
Gera platforma tvarko didelę dalį infrastruktūros: HTTPS, izoliuotas darbo erdves, duomenų bazę kiekvienam projektui, paslapčių saugyklą, atsargines kopijas ir atkūrimą. Mythex kiekvienas projektas turi savo privačią darbo erdvę ir duomenų bazę, paslaptys laikomos už kodo ribų, o po kiekvieno sėkmingo pakeitimo išsaugomas kontrolinis taškas, kad galėtumėte jį atšaukti.
Tačiau jokia platforma negali žinoti jūsų programėlės taisyklių. Tik jūs žinote, kad klientai neturi matyti vienas kito sąskaitų faktūrų ar kad kuponas turi veikti tik vieną kartą. Tos taisyklės turi būti jūsų užklausose ir patvirtintos jūsų testais.
Trumpas atsakymas
Vibe coding saugus tiek, kiek saugių patikrų pridedate. Asmeniniam įrankiui laikykite raktus ne kode ir mėgaukitės. Bet kam, kas turi kitų žmonių duomenis, prieš kiekvieną paleidimą atlikite aukščiau aprašytą 30 minučių patikrą ir pasikvieskite programuotoją įvertinti mokėjimus ir jautrius duomenis. Kad pamatytumėte šias rizikas realiuose projektuose, skaitykite mūsų vibe coding pavyzdžius; kad kurtumėte su šiomis patikromis nuo pradžios, sekite kaip sukurti programėlę vibe coding būdu.
Klausimai
Ar vibe coding saugu?
Saugu asmeniniams įrankiams ir prototipams be jautrių duomenų. Programėlėms, kur žmonės registruojasi, saugo duomenis ar moka, saugu tik tada, kai pridedate patikras, kurių vibe coding praleidžia: prieigos taisykles serverio pusėje, paslaptis, laikomas ne kode, ribas viešoms formoms ir peržiūrą to, kas tvarko pinigus ar asmens duomenis.
Kokia didžiausia saugumo rizika vibe coding programėlėse?
Pažeista prieigos kontrolė: vienas prisijungęs naudotojas gali skaityti arba keisti kito naudotojo duomenis, dažniausiai pakeisdamas ID adreso juostoje ar užklausoje. Testuojant tik su savo paskyra tai niekada nepasirodo, todėl tokia problema taip dažna. Patikrinkite tai tyčia su dviem paskyromis.
Ar AI sugeneruotas kodas gali nutekinti mano API raktus?
Taip, jei raktas patenka į kodą, kuris veikia lankytojo naršyklėje, arba įkeliamas į viešą repozitoriją. Laikykite raktus priemonės paslapčių ar aplinkos kintamuosiuose, išorines paslaugas kvieskite iš serverio ir paprašykite AI išvardyti, kur naudojamas kiekvienas raktas.
Ar man reikia programuotojo peržiūros vibe coding programėlei?
Asmeniniam įrankiui ar ankstyvam prototipui – ne. Kreipkitės į programuotoją prieš priimdami mokėjimus tiesiogiai, saugodami sveikatos, finansinius ar vaikų duomenis arba atverdami programėlę daugybei naudotojų. Eksportas ar GitHub prieiga tokią peržiūrą padaro lengvai organizuojamą.
Ar mano kodas ir duomenys saugūs vibe coding platformoje?
Tai priklauso nuo platformos, todėl perskaitykite jos saugumo ir privatumo puslapius. Mythex kiekvienas projektas veikia savo privačioje darbo erdvėje su savo duomenų baze, paslaptys laikomos už kodo ribų, o kontroliniai taškai leidžia atšaukti blogą pakeitimą. Vis tiek jūsų programėlės logikai reikia šiame vadove aprašytų patikrų.