Cesta 02Lekcia 4 / 6

Kontrolujte kód vygenerovaný AI

Pred prijatím zmeny preskúmajte jej skutočný obsah, hranice dôvery a dôkazy.

Praktická úroveň12 minSkontrolované

Vydáva Ako píšeme

Overte si porozumenieEndpoint overí, že je používateľ prihlásený, a potom načíta záznam podľa ID z požiadavky. Čo musíte overiť?Vykonajte cvičenie
Endpoint overí, že je používateľ prihlásený, a potom načíta záznam podľa ID z požiadavky. Čo musíte overiť?

Čo sa naučíte

  • Kontrolovať správanie a oprávnenia pred štýlom.
  • Nájsť chýbajúcu kontrolu autorizácie v malom príklade.
  • Odlišovať vygenerovaný súhrn od overených dôkazov.

Prečítajte požiadavku pred súhrnom

Začnite požadovaným správaním a akceptačnými kritériami. Potom preskúmajte skutočný diff. Súhrn agenta môže pomôcť s orientáciou, ale môže vynechať zmeny alebo nepresne opísať kontroly.

Overte kontrolovanú vetvu a commit. Okrem kódu aplikácie skontrolujte aj zmeny konfigurácie, závislostí, infraštruktúry a testov. Malá viditeľná funkcia môže obsahovať veľkú zmenu oprávnení alebo správania pri nasadení.

Najprv preskúmajte správanie s najzávažnejšími dôsledkami. Formátovanie a názvy sú dôležité, ale nemajú odvádzať pozornosť od chýbajúcej hranice údajov.

Sledujte identitu až k zdroju

Pozrite sa na tento neúplný fiktívny endpoint. Príklad ukazuje problém pri kontrole; nie je to produkčný kód.

async function getInvoice(request) {
  const user = await requireSignedInUser(request);
  return database.invoice.findById(request.params.id);
}

Funkcia získa autentifikovaného používateľa. Neukazuje autorizačné rozhodnutie pre faktúru. Kontrolujúca osoba musí preskúmať, či toto rozhodnutie vynucuje iná vrstva. Nepoužitá hodnota používateľa je dôvodom na skúmanie, sama osebe však nepreukazuje zneužiteľnú chybu.

Sledujte požiadavku cez skutočný systém. Určte dôveryhodnú identitu používateľa a organizáciu. Skontrolujte, ako query obmedzuje prístup k požadovanému záznamu. Preskúmajte správanie pri chybách a testy zakázaných požiadaviek.

Nepredpokladajte, že skryté tlačidlo chráni API. Volajúci môže odoslať požiadavku bez použitia rozhrania. Nepredpokladajte, že platné ID záznamu udeľuje prístup.

Pýtajte sa, aké dôkazy môžu zmenu odmietnuť

Úspešný test môže používať testovacieho administrátora alebo mock autorizácie. Overte, či skúša dôležitú hranicu. Tam, kde je to vhodné, pridajte prípad s inou organizáciou a skutočnou autorizačnou cestou.

Pri zmene používateľského rozhrania preskúmajte vykreslený výsledok. Skontrolujte ovládanie klávesnicou, prázdne stavy, načítavanie a chyby. Typová kontrola nemôže preukázať, že sa dialóg dá používať klávesnicou.

Pri zmene závislosti overte, prečo je potrebná. Preskúmajte verziu, licenciu a bezpečnostné zistenia. Neprijímajte nesúvisiacu aktualizáciu iba preto, že ju agent vygeneroval počas úlohy.

Zachovajte nezávislosť kontroly

Druhý model môže odhaliť užitočné problémy. Môže však aj zopakovať predpoklady implementácie. Kontrolujúcemu modelu dajte požiadavku a diff. Nehovorte mu vopred, že je zmena správna.

Vyžadujte, aby zistenia uvádzali konkrétny spôsob zlyhania a príslušný kód. Nepodložené varovania berte ako otázky na preskúmanie. Sebavedomé schválenie berte ako ďalší názor, kým dôležité tvrdenia nemajú dôkazy.

Ľudská kontrola zostáva rozhodnutím o zodpovednosti. Kontrolujúca osoba má zmene rozumieť natoľko, aby vysvetlila jej správanie, riziká a overenie. Ak je diff príliš veľký, zmenšite rozsah alebo ho rozdeľte na zmeny, ktoré sa dajú preskúmať.

Uzavrite kontrolu na konečnej verzii

Po oprave znova spustite dotknuté kontroly. Preskúmajte, či oprava nevytvorila nový problém. Zaistite, aby sa požadovaná kontrola podľa pravidiel repozitára vzťahovala na konečnú verziu.

Rozhodnutie o prijatí opíšte pomocou správania a dôkazov. Pri každom zostávajúcom obmedzení zaznamenajte zodpovednú osobu a ďalší krok. Nevyriešený problém nepremieňajte na tvrdenie, že všetky kontroly uspeli.

Použite cvičenie kontroly kódu na precvičenie hľadania chýbajúceho rozhodnutia pred preskúmaním skutočnej zmeny.

Vykonajte cvičenie

Otvorte cvičenie kontroly kódu v praktickom laboratóriu. Určte aktéra, požadovaný zdroj a dôveryhodnú hranicu organizácie. Potom rovnakým spôsobom preskúmajte skutočný malý PR. Použite iba kód, ktorý máte oprávnenie kontrolovať.

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

Pokračovať v učení

Zdroje a ďalšie čítanie

Súvisiace čítanie od Taigy

← Predchádzajúca lekcia: Používajte testy ako dôkazy