Cesta 01Lekcia 1 / 6

Vibe coding: možnosti a obmedzenia

Pomôžte ľuďom skúmať nápady pomocou AI. Na bankovom prototype pochopíte, prečo skutočné údaje a oprávnenia API vyžadujú dôkazy o bezpečnosti.

Základy11 minSkontrolované

Vydáva Ako píšeme

Overte si porozumenieBankový panel funguje s fiktívnymi transakciami. Kolega navrhuje pripojiť skutočný účet s prístupom iba na čítanie. Čo máte urobiť?Vykonajte cvičenie
Bankový panel funguje s fiktívnymi transakciami. Kolega navrhuje pripojiť skutočný účet s prístupom iba na čítanie. Čo máte urobiť?

Čo sa naučíte

  • Odlíšiť skúmanie nápadu od rozhodnutia o vydaní.
  • Určiť chýbajúce zodpovednosti v presvedčivej ukážke.
  • Zvoliť bezpečné hranice prvého experimentu.

Dajte ľuďom priestor tvoriť

Podnikový CTO môže pomôcť viacerým ľuďom premeniť ich znalosti na nápady pre softvér. Pozvite ľudí z financií, prevádzky, predaja a vývoja. Dajte im čas, syntetické údaje, sandboxové API a podporu.

Umožnite ľuďom skúmať nápady pomocou rôznych nástrojov v jasných hraniciach pre inštaláciu, účty a povolené vstupy. Nástroj na tvorbu aplikácií v prehliadači, programovací asistent alebo lokálny agent im môže pomôcť otestovať nápad. Výber nástroja neudeľuje povolenie nahrať firemné informácie ani pripojiť skutočný systém.

Zverejnite jednoduchý postup, ako odovzdať užitočný prototyp vývojovému alebo platformovému tímu. Autor dodá problém, príklad pracovného postupu a pozorovaný prínos. Nemusí sa stať bezpečnostným a prevádzkovým tímom služby.

Určte, čo potrebujete zistiť

Vibe coding sa zvyčajne začína opisom požadovaného softvéru. Prijmete vygenerovaný kód a podľa viditeľného výsledku usmerňujete ďalšiu zmenu. Tento pojem má rôzne významy. V tomto sprievodcovi osoba, ktorá riadi prácu, nemusí rozumieť každému rozhodnutiu o implementácii.

Táto metóda vám môže pomôcť učiť sa. Jednoduché rozhranie môže ukázať, že schvaľovací proces má priveľa krokov. Dočasný skript môže pomôcť posúdiť formát súboru. Prototyp dá ľuďom konkrétny návrh na diskusiu. Tieto poznatky si môžete zachovať, aj keď kód zahodíte.

Najprv určte otázku s pozorovateľnou odpoveďou. Napríklad: „Dokáže vedúci tímu porozumieť tomuto schvaľovaciemu procesu?“ Táto otázka má jasný rozsah. Požiadavka vytvoriť systém výdavkov zahŕňa aj ochranu údajov, riadenie prístupu, prevádzku a zodpovednosť.

Utorkový bankový prototyp

Uvažujme o fiktívnom príklade. V utorok kolega z financií pomocou Lovable vytvorí panel z vymyslených bankových transakcií. Panel zoskupuje výdavky a zobrazuje neuhradené faktúry. Tím teraz môže diskutovať o užitočnom pracovnom postupe.

Niekto navrhne pripojiť firemný bankový účet. Tým sa menia dôsledky, aj keď aplikácia stále nesie označenie „prototyp“.

Prístup na čítanie môže podľa API odhaliť zostatky, históriu transakcií, mená zákazníkov alebo platobné referencie. Ak spojenie povoľuje aj platby, chyby môžu presúvať skutočné peniaze. Overte skutočný rozsah oprávnení. Bankové spojenie nemusí vždy zahŕňať oprávnenie na platby.

Ukážka nepreukazuje, že používateľ vidí iba účty, ku ktorým má oprávnenie. Skryté tlačidlo nevynucuje oprávnenie. OWASP opisuje, ako môžu chýbajúce kontroly účtu alebo záznamu odhaliť údaje iného používateľa.

Čo môže zlyhať?Prečo na tom záležíDôkazy pred skutočným prístupom
Súkromný prihlasovací údaj pre API sa objaví v kóde prehliadača alebo v logochIná strana by mohla využiť jeho oprávneniaSkontrolovať spracovanie tajných údajov; otestovať odobratie prístupu
Backend prijme ID účtu bez kontroly práv volajúcehoJeden používateľ by mohol čítať iný účetOtestovať zamietnuté požiadavky na iných používateľov a účty
Platobná požiadavka prekročí časový limit a aplikácia ju odošle znovaOpakovanie by mohlo vytvoriť druhú platbuOtestovať opakované pokusy a zosúladiť výsledok so záznamami poskytovateľa
Aplikácia odošle podrobnosti transakcie neschválenej službe AIDôverné informácie opustia schválenú hranicuSledovať požiadavky, logy, príjemcov a uchovávanie údajov
Závislosť sa po spustení stane zraniteľnouAj nezmenená aplikácia môže potrebovať bezpečnostnú opravuPriradiť zodpovednosť za priebežné skenovanie, nápravu a overenie nasadenia

Pri platobných API idempotencia znamená, že opakovaná požiadavka nezopakuje zamýšľaný účinok. Stripe dokumentuje jednu implementáciu. Overte správanie, obmedzenia a pravidlá opakovania skutočného poskytovateľa. Návrat aplikácie na predchádzajúcu verziu nevráti platbu, ktorú banka už spracovala.

Tento príklad nie je dôkazom chyby v Lovable. Vlastné bezpečnostné pokyny Lovable vyžadujú ochranu tajných údajov, kontroly na serveri, otestované pravidlá prístupu k údajom a priebežné overovanie. Rovnaký štandard dôkazov uplatňujte na každý nástroj na tvorbu aplikácií, agenta aj ručne napísanú aplikáciu.

Pred pripojením skutočných systémov overte prístup

Ďalej testujte pracovný postup so syntetickými údajmi a sandboxovými účtami. Pred skutočným prístupom nech zodpovedné osoby za službu, bezpečnosť a platformu overia aplikáciu aj jej prevádzkové prostredie.

Použite schválený postup pripojenia banky alebo poskytovateľa. Sprístupnite iba potrebné účty a oprávnenia. Súkromné prihlasovacie údaje uchovávajte v schválenom úložisku tajných údajov, mimo promptov a kódu prehliadača. Ak sú potrebné platby, určte ich schvaľovanie a limity. Overte, ako odobrať prístup, vyšetriť zlyhania a reagovať na podozrivú aktivitu.

Tieto rozhodnutia musia predchádzať vstupu dôverných údajov alebo skutočných prihlasovacích údajov do systému. Čakať na formálne produkčné vydanie môže byť neskoro. Pokračujte témami hranice údajov a podniková infraštruktúra.

Pred rozšírením používania určte zodpovednosti

Experiment s vymyslenými údajmi môže mať krátke trvanie a malé publikum. Keď od aplikácie závisia ďalší ľudia, určte zodpovednosti za jej používanie.

  1. Pomenujte zodpovednú osobu.
  2. Určte povolených používateľov a údaje.
  3. Definujte reakciu na zlyhanie.
  4. Uchovávajte zdrojový kód a konfiguráciu v repozitári.
  5. Overte, že iná osoba dokáže systém preskúmať a znovu vytvoriť.

Nie každý skript potrebuje podnikovú platformu. Osobný formátovací nástroj bez citlivých údajov potrebuje menej kontrolných opatrení než aplikácia na schvaľovanie platieb. Posúďte dôsledky chyby. Overte, či ju dokážete odhaliť a zvrátiť jej účinky.

Pred rozšírením prototypu oddeľte poznatky o probléme od dôkazov o implementácii. Môžete zachovať rozhranie a nahradiť vnútorný kód. Môžete obmedziť zamýšľané použitie. Prototyp môžete ponechať aj ako dočasný experiment.

Plánujte riešenie zraniteľností aj po ukážke

Úspešná ukážka môže skrývať vážnu medzeru v údržbe. O závislosti môže vyjsť nové upozornenie na zraniteľnosť bez akejkoľvek zmeny vášho kódu. Sken pri vydaní opisuje jediný okamih.

Ak sa aplikácia naďalej používa, niekto musí priebežne hľadať, posudzovať a opravovať zraniteľnosti. Oprava sa musí dostať do produkcie a prejsť overením. Skener bez tohto procesu reakcie necháva riziko nevyriešené.

Overte, čo poskytuje váš skutočný nástroj a konfigurácia. Neskoršia lekcia o priebežnom riadení zraniteľností vysvetľuje celý proces vrátane zlyhaní skenovania a nasadených verzií.

Uľahčite kontrolu ďalšej zmeny

Zadajte agentovi jednu malú zmenu s výslovnými akceptačnými kritériami. Určte, aké kroky môže vykonať. Preskúmajte výsledný diff. Vykonajte kontroly, ktoré dokážu odmietnuť nesprávnu implementáciu. Nasadenie ponechajte ako samostatné rozhodnutie, kým nie sú jasné zodpovednosti za vydanie.

NIST Secure Software Development Framework opisuje širšie postupy bezpečného vývoja. Použite ho ako referenciu pri posudzovaní chýbajúcich kontrolných opatrení. Nemusíte si rámec zapamätať. Musíte určiť chýbajúce dôkazy skôr, než softvér ovplyvní ďalších ľudí.

Vykonajte cvičenie

Vyberte funkciu z nedávnej ukážky. 1. Zapíšte jeden výsledok, ktorý ukážka preukázala. 2. Zapíšte tri otázky, ktoré zostávajú otvorené. 3. Ku každej otázke priraďte zodpovednú osobu. 4. Pomenujte konkrétnu kontrolu, ktorá dokáže odhaliť každé možné zlyhanie. Požiadavkou „zabezpečte to“ nenahrádzajte konkrétnu kontrolu.

Stiahnuť pracovný list (Markdown)
Overte si porozumenie ↑

Pokračovať v učení

Zdroje a ďalšie čítanie

Súvisiace čítanie od Taigy