Preverite, kaj vstopi v izdajo
DokončanoPreglejte odvisnosti, vhode gradnje in izvor artefaktov. Pregledano izvorno kodo povežite s programsko opremo, ki doseže produkcijo.
Izdajatelj TaigaKako pišemo
Preverite razumevanjePregled odvisnosti ne poroča o znanih ranljivostih. Kaj to dokazuje?Opravite vajo
Kaj se boste naučili
- Ločite popis odvisnosti od varnostnih dokazil.
- Pojasnite, zakaj ime paketa in uspešna namestitev ne zadostujeta.
- Sledite artefaktu do njegove izvorne kode in postopka gradnje.
Preverite, ali je odvisnost potrebna
Agent lahko predlaga paket, ki je videti kot rešitev težave. Predlog ni dokaz, da paket obstaja ali da je primeren. Pred namestitvijo preverite natančen register, izdajatelja, ime paketa in različico.
Pri izmišljenem izvozu CSV lahko izvajalno okolje že zagotavlja zahtevano delovanje. Nov paket je lahko še vedno primeren, vendar doda vzdrževanje in poti izvajanja. Primerjajte delo za izvedbo s stalnimi odgovornostmi, ki jih prinese odvisnost.
Preglejte licenco in podprto izvajalno okolje. Preverite dejavnost vzdrževanja in relevantna varnostna obvestila. Znano ime lahko v drugem registru označuje drug paket. Uspešna namestitev pokaže samo, da se je namestitev dokončala.
Preglejte potek namestitve in gradnje
Odvisnosti lahko med namestitvijo ali gradnjo izvajajo kodo. V teh okoljih omejite poverilnice in omrežni dostop. Produkcijskih skrivnosti ne izpostavite opravilu, ki obdeluje nezaupanja vreden pull request.
Kjer ekosistem to podpira, v repozitorij vključite datoteko zaklenjenih različic oziroma lockfile. Zahtevajte, da jo gradnja upošteva. Spremembe te datoteke preglejte skupaj s spremembo izvorne kode, vključno z nepričakovanimi posrednimi paketi. Pripenjanje različic izboljša ponovljivost, vendar ranljive različice ne naredi varne.
NIST SSDF zajema zaščito programske opreme in razvojne prakse skozi življenjski cikel. Pri zasnovi okolja za gradnjo uporabite ta širši pogled. Preberite okvir.
Ločite popis od dokazil o izvoru
Seznam sestavnih delov programske opreme oziroma SBOM beleži komponente v programski opremi. Pomaga prepoznati prizadete izdaje, ko neka komponenta postane problematična. Sam zase ne dokazuje, da so komponente varne.
Dokazila o izvoru oziroma provenance opisujejo, kako je artefakt nastal. SLSA določa obliko teh dokazil za informacije o gradnji in njenih vhodih. Preverjanje mora te informacije povezati z zaupanja vrednim izdelovalcem in artefaktom, ki ga nameravate uporabiti. Datoteka z imenom »provenance« ne zadostuje. SLSA provenance.
Za storitev izvoza zabeležite verigo, ki jo lahko pregledate:
- Pregledani commit določa sprejeto izvorno kodo.
- Gradnja določa svoje vhode in izvajalno okolje.
- Artefakt ima stabilno zgoščeno vrednost.
- Preverjanja določajo artefakt ali izvorno kodo, ki so ju pregledala.
- Zapis namestitve določa artefakt, nameščen v ciljno okolje.
Po odobritvi ne izvajajte drugačne ponovne gradnje brez določenega postopka preverjanja. Spremenljiva oznaka, kot je latest, lahko pozneje označuje drugo sliko.
Presodite pomen ugotovitve
Ugotovitev o ranljivosti potrebuje kontekst: prizadeto različico, dosegljivo delovanje, izpostavljenost, razpoložljiv popravek in posledico. Zabeležite dokaze za vsako začasno izjemo. Določite ji odgovorno osebo, rok veljavnosti in sprožilec pregleda.
Ne izklopite celotnega orodja za pregledovanje zato, ker ena ugotovitev ne velja. Ne trdite, da je rezultat brez ugotovitev, če se pregled ni dokončal. Prekoračena časovna omejitev, nepodprt paket ali nedostopen vir varnostnih obvestil pomeni manjkajoča dokazila.
Na koncu načrtujte posodobitve po izdaji. Nova obvestila lahko vplivajo na včeraj sprejeti artefakt. Odgovorni za storitev potrebuje popis, odzivni postopek in zmogljivost za pripravo popravljene izdaje.
Nadaljujte s stalnim upravljanjem ranljivosti, da ponavljajoče se preglede povežete s preverjenimi popravki v produkciji.
Opravite vajo
Izberite izmišljeno spremembo izvoza CSV, ki doda paket. Napišite zapis sprejetja, ki zajema potrebo, natančno identiteto paketa, različico, licenco, vzdrževanje, ugotovitve o ranljivostih in delovanje namestitve. Narišite pot od pregledanega commita do nameščenega artefakta.
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.