Vibe coding: uporaba in omejitve
DokončanoPomagajte ljudem raziskovati ideje z AI. Na bančnem prototipu spoznajte, zakaj resnični podatki in dovoljenja API zahtevajo dokazila o varnosti.
Izdajatelj TaigaKako pišemo
Preverite razumevanjeBančna nadzorna plošča deluje z izmišljenimi transakcijami. Sodelavec predlaga povezavo pravega računa z dostopom samo za branje. Kaj morate storiti?Opravite vajo
Kaj se boste naučili
- Ločite raziskovanje od odločitve o izdaji.
- Prepoznajte manjkajoče odgovornosti v prepričljivi predstavitvi.
- Izberite varno mejo za prvi poskus.
Omogočite ljudem ustvarjanje
CTO podjetja lahko pomaga več ljudem pretvoriti njihovo znanje v ideje za programsko opremo. Povabite ljudi iz financ, operativnih služb, prodaje in razvoja. Dajte jim čas, sintetične podatke, API-je v peskovniku in podporo.
Ljudem omogočite uporabo različnih orodij za raziskovanje znotraj jasnih meja za namestitev, račune in dovoljene vnose. Orodje za gradnjo aplikacij v brskalniku, asistent za programiranje ali lokalni agent jim lahko pomaga preizkusiti idejo. Izbira orodja ne daje dovoljenja za nalaganje informacij podjetja ali povezavo pravega sistema.
Objavite preprost postopek za predajo uporabnega prototipa razvojni ali platformni ekipi. Ustvarjalec prispeva opis problema, primer delovnega poteka in opaženo vrednost. Ni mu treba prevzeti vloge varnostne in operativne ekipe storitve.
Ugotovite, kaj se morate naučiti
Vibe coding se običajno začne z opisom programske opreme, ki jo želite. Sprejmete ustvarjeno kodo in z vidnim rezultatom usmerjate naslednjo spremembo. Izraz ima različne pomene. V tem vodiču oseba, ki usmerja delo, ne razume nujno vsake izvedbene odločitve.
Ta metoda vam lahko pomaga pri učenju. Preprost vmesnik lahko pokaže, da ima postopek odobritve preveč korakov. Začasna skripta vam lahko pomaga oceniti obliko datoteke. Prototip ljudem ponudi konkreten načrt za razpravo. To znanje lahko ohranite, tudi če kodo zavržete.
Najprej določite vprašanje z odgovorom, ki ga lahko opazujete. Na primer: »Ali lahko vodja ekipe razume ta postopek odobritve?« To vprašanje ima jasen obseg. Zahteva za izdelavo sistema za upravljanje stroškov vključuje tudi varstvo podatkov, nadzor dostopa, delovanje in odgovornost.
Torkov bančni prototip
Oglejmo si izmišljeni primer. Sodelavec iz financ v torek z orodjem Lovable izdela nadzorno ploščo iz izmišljenih bančnih transakcij. Plošča združuje izdatke in prikazuje neplačane račune. Ekipa lahko zdaj razpravlja o uporabnem delovnem poteku.
Nekdo predlaga povezavo bančnega računa podjetja. To spremeni posledice, tudi če je aplikacija še vedno označena kot »prototip«.
Dostop za branje lahko razkrije stanje na računih, zgodovino transakcij, imena strank ali sklice plačil, odvisno od API-ja. Če povezava omogoča tudi plačila, lahko napake premaknejo pravi denar. Potrdite dejanski obseg dovoljenj; bančna povezava ne vključuje vedno dostopa do plačil.
Predstavitev ne dokazuje, da lahko uporabnik vidi samo račune, do katerih ima dovoljen dostop. Skrit gumb ne uveljavlja dovoljenja. OWASP opisuje, kako lahko manjkajoča preverjanja računov ali zapisov razkrijejo podatke drugega uporabnika.
| Kaj bi lahko odpovedalo? | Zakaj je pomembno | Dokazila pred dostopom do pravega sistema |
|---|---|---|
| Zasebna poverilnica API se pojavi v kodi brskalnika ali dnevnikih | Druga oseba bi lahko uporabila njena dovoljenja | Preglejte ravnanje s skrivnostmi; preizkusite preklic dostopa |
| Zaledni sistem sprejme ID računa brez preverjanja pravic klicatelja | En uporabnik bi lahko bral drug račun | Preizkusite zavrnitev zahtev za druge uporabnike in račune |
| Plačilni zahtevi poteče časovna omejitev, aplikacija pa jo pošlje znova | Ponovni poskus bi lahko ustvaril drugo plačilo | Preizkusite obravnavo ponovnih poskusov in uskladite rezultat s ponudnikom |
| Aplikacija pošlje podrobnosti transakcij neodobreni storitvi AI | Zaupne informacije zapustijo odobreno mejo | Sledite zahtevam, dnevnikom, prejemnikom in hrambi |
| Odvisnost po izdaji postane ranljiva | Nespremenjena aplikacija lahko še vedno potrebuje varnostni popravek | Določite odgovornost za stalno pregledovanje, odpravo ranljivosti in preverjanje namestitve |
Pri plačilnih API-jih idempotentnost pomeni, da ponovljena zahteva ne ponovi predvidenega učinka. Stripe dokumentira eno izvedbo. Preverite vedenje, omejitve in pravila ponovnih poskusov dejanskega ponudnika. Povrnitev aplikacije na prejšnjo različico ne razveljavi plačila, ki ga je banka že obdelala.
Ta primer ni dokaz napake v orodju Lovable. Varnostne smernice orodja Lovable zahtevajo zaščitene skrivnosti, preverjanja na strežniku, preizkušene politike podatkov in sproten pregled. Za vsako orodje za gradnjo aplikacij, agenta ali ročno napisano aplikacijo uporabite enaka merila za dokazila.
Preverite dostop pred povezavo pravih sistemov
Delovni potek še naprej preizkušajte s sintetičnimi podatki in računi v peskovniku. Pred dostopom do pravega sistema naj odgovorni za storitev, varnost in platformo preverijo aplikacijo ter njeno okolje delovanja.
Uporabite postopek povezave, ki ga je odobrila banka ali ponudnik. Dodelite dostop samo do potrebnih računov in samo potrebna dovoljenja. Zasebne poverilnice hranite v odobreni shrambi skrivnosti, zunaj pozivov in kode brskalnika. Kadar so plačila potrebna, določite odobritve in omejitve plačil. Preverite, kako preklicati dostop, raziskati napake in se odzvati na sumljivo dejavnost.
Te odločitve sodijo pred vnos zaupnih informacij ali pravih poverilnic v sistem. Čakanje na uradno produkcijsko izdajo je lahko prepozno. Nadaljujte z mejami podatkov in infrastrukturo podjetja.
Določite odgovornosti pred širšo uporabo
Poskus z izmišljenimi podatki je lahko kratkotrajen in namenjen majhnemu krogu ljudi. Ko so drugi odvisni od aplikacije, določite odgovornosti za njeno uporabo.
- Določite odgovorno osebo.
- Opredelite dovoljene uporabnike in podatke.
- Določite odziv na napako.
- Izvorno kodo in konfiguracijo hranite v repozitoriju.
- Preverite, ali lahko druga oseba pregleda in ponovno vzpostavi sistem.
Vsaka skripta ne potrebuje platforme za podjetja. Osebno orodje za oblikovanje brez občutljivih podatkov potrebuje manj kontrol kot aplikacija za odobritev plačil. Ocenite posledice napake. Preverite, ali jo lahko zaznate in razveljavite njene učinke.
Preden razširite prototip, ločite spoznanja o problemu od dokazil o izvedbi. Vmesnik lahko obdržite in zamenjate notranjo kodo. Predvideno uporabo lahko omejite. Prototip lahko ohranite tudi kot začasen poskus.
Načrtujte obravnavo ranljivosti po predstavitvi
Uspešna predstavitev lahko skrije resno vrzel pri vzdrževanju. Za odvisnost je lahko objavljeno novo opozorilo o ranljivosti brez spremembe vaše kode. Pregled ob izdaji opisuje eno časovno točko.
Če aplikacija ostane v uporabi, mora nekdo stalno iskati, ocenjevati in odpravljati ranljivosti. Popravek mora priti v produkcijo in prestati preverjanje. Orodje za pregledovanje brez tega odzivnega postopka pušča izpostavljenost nerešeno.
Preverite, kaj zagotavljata vaše dejansko orodje in njegova konfiguracija. Poznejše poglavje o stalnem upravljanju ranljivosti pojasnjuje celoten postopek, vključno z neuspelimi pregledi in nameščenimi različicami.
Poskrbite, da bo naslednjo spremembo preprosto pregledati
Agentu dodelite eno majhno spremembo z jasnimi merili sprejemljivosti. Navedite, katera dejanja sme izvesti. Preglejte nastali diff. Izvedite preverjanja, ki lahko zavrnejo napačno izvedbo. Namestitev ohranite kot ločeno odločitev, dokler odgovornosti za izdajo niso jasne.
NIST Secure Software Development Framework opisuje širše prakse varnega razvoja. Uporabite ga kot vir pri ocenjevanju manjkajočih kontrol. Okvira se vam ni treba naučiti na pamet. Prepoznati morate manjkajoča dokazila, preden programska oprema vpliva na druge ljudi.
Opravite vajo
Izberite funkcijo iz nedavne predstavitve. 1. Zapišite en rezultat, ki ga je predstavitev dokazala. 2. Zapišite tri vprašanja, ki ostajajo odprta. 3. Za vsako vprašanje določite odgovorno osebo. 4. Navedite konkreten preizkus, ki lahko odkrije vsako možno napako. Izraza »poskrbite za varnost« ne uporabljajte namesto konkretnega preizkusa.
Prenesi delovni list (Markdown)Če počistite to izbiro, izbrišete ves napredek, shranjen v tem brskalniku.
Napredek ostane v tem brskalniku. Brez računa in sledenja.
Viri in nadaljnje branje
- NIST: Secure Software Development Framework 1.1 ↗
- Lovable: Security best practices ↗
- OWASP: Broken Object Level Authorization ↗
- Stripe: Idempotent requests ↗