Aplikácia funguje. Používajú ju zákazníci. A vy ste niekde čítali, že aplikácie postavené cez AI nástroje mávajú diery, ktoré nie sú vidieť.
Tento text je praktický postup, čo s tým. Je písaný tak, aby ho zvládol aj človek, ktorý sám nekóduje, pretože väčšinu bodov sa dá zadať tomu, kto aplikáciu staval, alebo overiť vlastnými rukami.
Postupujte v tomto poradí. Nie je náhodné, ide od najlacnejšieho a najúčinnejšieho k tomu, čo zaberie viac času.
Vrstva 1: Účty a prístupy
Začnite tu, pretože je to najrýchlejšie a nepotrebujete na to nikoho.
Preveďte všetky účty na firmu. Hosting, databáza, doména, platobná brána, e-mailová služba, AI služby, úložisko. Firemný e-mail so správcom, nie osobná adresa zamestnanca. Predplatné z firemnej karty, nie zo súkromnej.
Zapnite dvojfaktorové overenie všade, kde sa dá. Najmä pri doméne a hostingu, pretože kto ovládne doménu, ovládne všetko ostatné.
Zrušte zdieľané heslá. Jedno heslo, ktoré pozná päť ľudí vrátane brigádničky z minulej sezóny, nie je prístup, je to verejná informácia. Každý človek má mať vlastný účet, ktorý sa dá samostatne zrušiť.
Vypíšte, kto má k čomu prístup, a prejdite to. Vo väčšine firiem sa nájde aspoň jeden účet človeka, ktorý tam už nepracuje.
Hotové za jedno popoludnie, žiadne technické znalosti, a odstráni to celú triedu problémov.
Vrstva 2: Oprávnenia
Toto je najdôležitejší bod celého textu. Väčšina závažných nálezov v aplikáciách postavených cez AI leží presne tu.
Rozdiel, o ktorý ide: aplikácia overuje, že ste prihlásení. Musí však overovať, že sa pozeráte na svoje dáta. To sú dve rôzne kontroly a AI nástroje spoľahlivo generujú len tú prvú.
Otestujte si to sami. Prihláste sa ako bežný používateľ, otvorte detail objednávky, rezervácie alebo profilu a v adrese stránky prepíšte číslo na iné. Ak sa zobrazí cudzí záznam, máte problém, ktorý dokáže využiť ktokoľvek.
Čo zadať tomu, kto aplikáciu staval: každá požiadavka, ktorá pracuje s konkrétnym záznamom, musí na serveri overiť, že prihlásený používateľ má na daný záznam právo. Nie v prehliadači, nie skrytím tlačidla, ale na serveri pri každej požiadavke zvlášť.
Oddeľte roly. Bežný používateľ a správca nesmú mať rovnaké práva len preto, že správcovská stránka je na adrese, ktorú nikto nepozná. Utajená adresa nie je ochrana.
Vrstva 3: Neverte ničomu z prehliadača
Druhý najčastejší vzorec. Aplikácia prijme z prehliadača hodnotu a použije ju, akoby bola pravdivá.
Najbolestivejšie je to pri peniazoch. Ak sa výška platby, cena alebo zľava posiela z prehliadača do platobnej brány a aplikácia ju prijme bez overenia, dá sa zmeniť.
Týka sa to aj identity. Ak aplikácia pozná, kto ste, podľa hodnoty, ktorú jej prehliadač pošle, dá sa tá hodnota prepísať.
Vrstva 4: Súbory a úložisko
Ak aplikácia prijíma nahrávané súbory, prejdite tri veci.
Kontrolujte, čo sa nahráva. Typ súboru, veľkosť, počet. Bez obmedzení sa z úložiska stane cudzí sklad.
Zatvorte priamy prístup. Nahraný súbor nesmie byť dostupný komukoľvek, kto uhádne odkaz. Odkazy tvorené podľa dátumu a poradia sa uhádnuť dajú. Prístup k súboru musí prejsť rovnakou kontrolou oprávnení ako zvyšok aplikácie.
Vrstva 5: Kľúče a heslá v kóde
AI nástroje majú tendenciu vkladať prístupové kľúče priamo do kódu, pretože to funguje a je to najkratšia cesta.
Prejdite kód a nájdite ich. Kľúče k platobnej bráne, k AI službám, k databáze, k e-mailu. Patria do prostredia, nie do kódu.
Ak kód niekedy bol verejný, čo i len na chvíľu, považujte všetky kľúče v ňom za prezradené a vygenerujte nové. Nie preto, že sa určite niečo stalo, ale preto, že to nezistíte.
Nastavte limity pri platených službách. Najmä pri AI službách, kde sa dá bez limitu vyčerpať veľká suma počas jedného dňa.
Vrstva 6: Osobné údaje
Zbierajte len to, čo potrebujete. Najlepšou ochranou údaja, ktorý nemáte, je to, že ho nemáte. Prejdite formuláre a zrušte polia, ktoré nikto nikdy nepoužil.
Nastavte, ako dlho sa dáta držia. Rezervácia spred dvoch rokov nemusí byť v systéme.
Zabezpečte možnosť výmazu. Nie ručný zásah do databázy, ale funkciu. Príde vám žiadosť a máte lehotu.
Zistite, kadiaľ dáta pretekajú. Každá služba, cez ktorú údaje idú, je sprostredkovateľ a potrebujete s ňou zmluvu. Vrátane AI služby, do ktorej aplikácia posiela obsah správ alebo dokumentov.
Vrstva 7: Záznamy a zálohy
Zaznamenávajte, kto čo urobil. Prihlásenie, zmena údaja, stiahnutie exportu, zmazanie záznamu. Bez toho nezistíte, že sa niečo stalo, ani koho sa to týkalo. Pri ohlasovaní incidentu je to rozdiel medzi „unikli údaje troch ľudí“ a „musíme počítať s tým, že unikli údaje všetkých“.
Overte zálohy obnovením. Záloha, ktorú nikto nikdy neobnovil, je len predpoklad zálohy. Skúste to raz, v pokoji, mimo krízy.
Vrstva 8: Aplikácia, ktorá posiela text do AI
Ak vaša aplikácia odovzdáva obsah od používateľov jazykovému modelu, pribúda jedna vrstva.
Text od používateľa nie je pokyn. Aplikácia musí oddeliť svoje zadanie od obsahu, ktorý jej poslal používateľ. Inak sa dá správanie modelu ovplyvniť zvonku tým, že do textu niekto napíše niečo, čo vyzerá ako inštrukcia.
Výstup modelu nesmie spúšťať akcie bez kontroly. Ak model rozhoduje o tom, čo aplikácia urobí s dátami alebo peniazmi, musí medzi rozhodnutím a vykonaním byť pravidlo, ktoré to overí.
V akom poradí to robiť, keď nemáte čas na všetko
- Vrstva 1 celá. Jedno popoludnie, nulové náklady.
- Test z vrstvy 2, teda zmena čísla v adrese. Päť minút. Ak prejde, riešte to hneď.
- Kľúče v kóde z vrstvy 5. Pol dňa.
- Priamy prístup k súborom z vrstvy 4, ak aplikácia zbiera doklady.
- Zvyšok podľa toho, čo je vo vašej aplikácii najviac prítomné. Peniaze, tak vrstva 3. Zákaznícke dáta, tak vrstva 6.
Kde svojpomoc končí
Body vyššie odstránia väčšinu toho, čo sa dá odstrániť bez cudzej pomoci. Zostávajú tri veci, ktoré si sami neurobíte.
Neviete, čo neviete. Tento zoznam pokrýva to najčastejšie. Nepokrýva chyby v logike, ktoré sú vlastné práve vašej aplikácii.
Autor nevidí vlastné slepé miesta. Platí to aj pre skúsených vývojárov, preto vo firmách, ktoré vyvíjajú softvér, prechádza kód vždy druhým človekom.
Nemáte to písomne. Vo chvíli, keď sa spýta klient, investor alebo úrad, „prešli sme si to a vyzerá to dobre“ nestačí.
Keď prevádzkujete aplikáciu, v ktorej sú cudzie dáta alebo peniaze, posledný krok patrí niekomu zvonku. VibeAudit prejde vyše 50 kontrolných bodov a dá vám písomný výstup s poradím opráv.
