Kryptis 03Pamoka 4 / 6

Patikrinkite, kas patenka į leidžiamą versiją

Išnagrinėkite priklausomybes, surinkimo įvestis ir artefakto kilmę. Susiekite peržiūrėtą pirminį kodą su programine įranga, pasiekiančia produkcinę aplinką.

Praktinis10 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratotePriklausomybių skenavimas neranda žinomų pažeidžiamumų. Ką tai įrodo?Atlikite užduotį
Priklausomybių skenavimas neranda žinomų pažeidžiamumų. Ką tai įrodo?

Ko išmoksite

  • Atskirkite priklausomybių sąrašą nuo saugumo įrodymų.
  • Paaiškinkite, kodėl nepakanka paketo pavadinimo ir sėkmingo įdiegimo.
  • Atsekite artefaktą iki jo pirminio kodo ir surinkimo proceso.

Paklauskite, ar priklausomybė būtina

Agentas gali pasiūlyti paketą, kuris atrodo sprendžiantis problemą. Pasiūlymas nėra įrodymas, kad paketas egzistuoja ar tinka. Prieš diegdami patikrinkite tikslų registrą, leidėją, paketo pavadinimą ir versiją.

Išgalvotam CSV eksportui vykdymo aplinka jau gali suteikti reikiamą veikimą. Naujas paketas vis tiek gali būti tinkamas, bet jis prideda priežiūros ir kodo vykdymo kelių. Palyginkite įgyvendinimo sąnaudas su nuolatinėmis priklausomybės priežiūros atsakomybėmis.

Peržiūrėkite licenciją ir palaikomą vykdymo aplinką. Išnagrinėkite priežiūros veiklą ir susijusius saugumo pranešimus. Pažįstamas pavadinimas kitame registre gali reikšti kitą paketą. Sėkmingas įdiegimas tik parodo, kad diegimas baigėsi.

Išnagrinėkite diegimo ir surinkimo veikimą

Priklausomybės gali vykdyti kodą diegimo ar surinkimo metu. Šiose aplinkose ribokite prisijungimo duomenis ir tinklo prieigą. Nesuteikite produkcinių paslapčių užduočiai, kuri apdoroja nepatikimą pull request.

Kur ekosistema palaiko, naudokite į kodo saugyklą įtrauktą lockfile. Reikalaukite, kad surinkimas jo laikytųsi. Peržiūrėkite lockfile pakeitimus kartu su pirminio kodo pakeitimu, įskaitant netikėtus netiesioginius paketus. Versijų fiksavimas pagerina atkuriamumą, bet nepadaro pažeidžiamos versijos saugios.

NIST SSDF apima programinės įrangos apsaugą ir kūrimo praktiką per visą gyvavimo ciklą. Projektuodami surinkimo aplinką, remkitės šiuo platesniu požiūriu. Susipažinkite su gairėmis.

Atskirkite sudėties sąrašą nuo kilmės

Programinės įrangos sudėties sąrašas, arba SBOM, fiksuoja programinės įrangos komponentus. Jis padeda rasti paveiktas versijas, kai komponentas kelia susirūpinimą. Pats sąrašas neįrodo, kad komponentai saugūs.

Kilmės duomenys aprašo, kaip artefaktas buvo sukurtas. SLSA apibrėžia surinkimo ir jo įvesties kilmės duomenų formatą. Patikrinimas turi susieti šią informaciją su patikimu kūrėju ir artefaktu, kurį ketinate naudoti. Failo pavadinimu „provenance“ nepakanka. SLSA kilmės duomenys.

Eksporto paslaugai užrašykite grandinę, kurią galite išnagrinėti:

  1. Peržiūrėtas commit nurodo priimtą pirminį kodą.
  2. Surinkimas nurodo savo įvestis ir vykdymo aplinką.
  3. Artefaktas turi stabilią maišos reikšmę.
  4. Patikrinimai nurodo tirtą artefaktą ar pirminį kodą.
  5. Diegimo įrašai nurodo į tikslinę aplinką įkeltą artefaktą.

Po patvirtinimo nekurkite kitokio artefakto be apibrėžto patikrinimo proceso. Keičiama žyma, pavyzdžiui, latest, vėliau gali nurodyti kitą atvaizdą.

Nuspręskite, ką reiškia radinys

Pažeidžiamumo radiniui reikia konteksto: paveiktos versijos, pasiekiamo pažeidžiamo veikimo, galimos ekspozicijos, prieinamos pataisos ir pasekmės. Užrašykite įrodymus, kuriais grindžiama laikina išimtis. Nurodykite atsakingą asmenį, galiojimo pabaigą ir peržiūros sąlygą.

Neišjunkite visos skenavimo priemonės dėl vieno neaktualaus radinio. Neteikite rezultato be radinių, jei skenavimas nebuvo užbaigtas. Pasibaigęs laukimo laikas, nepalaikomas paketas ar neprieinamas saugumo pranešimų šaltinis reiškia trūkstamus įrodymus.

Galiausiai suplanuokite atnaujinimus po išleidimo. Nauji saugumo pranešimai gali paveikti vakar priimtą artefaktą. Už paslaugą atsakingam asmeniui reikia sudėties sąrašo, reagavimo proceso ir galimybės parengti pataisytą versiją.

Toliau skaitykite apie nuolatinį pažeidžiamumų valdymą, kad susietumėte pakartotinius skenavimus su patikrintomis pataisomis produkcinėje aplinkoje.

Atlikite užduotį

Pasirinkite išgalvotą CSV eksporto pakeitimą, kuris prideda paketą. Parašykite priėmimo pastabą apie būtinumą, tikslią paketo tapatybę, versiją, licenciją, priežiūrą, pažeidžiamumų radinius ir diegimo veikimą. Nubraižykite kelią nuo peržiūrėto commit iki įdiegto artefakto.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Gautą turinį laikykite nepatikima įvestimi