kaip sujungti šakas „GitHub“, atšaukti sujungimą „GitHub“, šaka „GitHub“

Sukurkite filialą „GitHub“ ir saugiai sujunkite

Pirmas žingsnis yra išmokti sukurti šaką „GitHub“. Tačiau išmokti saugiai sujungti šakas „GitHub“ yra lygiai taip pat svarbu kiekvienai šakai. GitHub darbo eiga. Taigi, šiame įraše apžvelgsime visą procesą, pradedant nuo kaip sukurti filialą „GitHub“ ir tada tau parodysiu Kaip sujungti šakas „GitHub“ saugiai. Taip pat aptarsime, kaip atšaukti sujungimą, jei randate kokių nors problemų, ir galiausiai, kaip „Xygeni“ gali padėti pastebėti visas problemas, kol jos nepasiekė jūsų pagrindinės šakos.

Peržvelkime tai žingsnis po žingsnio.

1. Kaip teisingai sukurti filialą „GitHub“

Kiekvienas saugus darbo procesas prasideda, kai „GitHub“ sukuriate šaką. Tai leidžia kūrėjams izoliuoti funkcijas, pataisymus ar eksperimentus nepaveikiant gamybinio kodo.

Norėdami sukurti šaką „GitHub“:

1. Eikite į savo saugyklą

2. Spustelėkite šakos parinkiklio išskleidžiamąjį meniu

kaip sujungti šakas „GitHub“, atšaukti „GitHub“ ir šakų sujungimą „GitHub“

3. Įveskite savo naujos šakos pavadinimą

4. spragtelėjimas Sukurti šaką

kaip sujungti šakas „GitHub“, atšaukti „GitHub“ ir šakų sujungimą „GitHub“

Nuo šiol jūsų naujoji šaka paruošta naudoti. Dabar galite skelbti kodą, bendradarbiauti atliekant pakeitimus ir galiausiai atidaryti pull requestNors tai yra pagrindinis „GitHub“ veiksmas, jis paruošia dirvą saugiam kūrimui.

Svarbu tai, kad kiekvieną kartą, kai sukuriate šaką „GitHub“, ji turėtų būti pasikartojančio ir apsaugoto darbo eigos dalis.

2. Nuskaitykite Pull Requests Automatiškai prieš sujungiant

Kai sukuriate šaką „GitHub“ ir ruošiatės peržiūrai, kitas žingsnis yra suprasti, kaip saugiai sujungti šakas „GitHub“. Kiekvienas šakos perdavimas į „GitHub“ turėtų suaktyvinti automatinius patikrinimus. Tačiau prieš sujungiant būtina patikrinti kad kodas nesukelia pažeidžiamumų. Vienas nesaugus commit gali atskleisti jūsų paraišką, leak secretarba sugadinti ypatingos svarbos infrastruktūrą.

Kodo sujungimas su pagrindine šaka yra didelės įtakos turinti operacija. Be tinkamų patikrinimų tai gali sukelti rimtų pasekmių, tokių kaip:

Štai kur „Xygeni“ iš tiesų pakeičia situaciją

Naudojant „GitHub“ veiksmai, galite suaktyvinti automatiniai „Xygeni“ nuskaitymai kai kūrėjas atidaro pull request į apsaugotą šaką. Apsaugota šaka „GitHub“ sistemoje yra tokia, kuriai reikalingi specialūs patikrinimai arba patvirtinimai, prieš leidžiant sujungti pakeitimus.

Xygeni analizuoja naujausias egzekucijos vykdymas pull request darbo eiga siekiant patvirtinti siūlomų pakeitimų saugumo lygį. Tai apima patikrinimą, ar problemos kode, priklausomybėse, paslaptyse ir CI/CD konfigūracijosVisa šaka nėra nuskaitoma iš naujo, tačiau naujausias darbo eigos rezultatas naudojamas politikoms vykdyti ir nesaugiems sujungimams blokuoti.

Šie nuskaitymai patvirtina, kad kodas yra saugus ir paruoštas gamybai. Jie aptinka:

Integravimas šie ankstyvi patikrinimai užtikrina kad kiekvieną kartą, kai sukuriate šaką „GitHub“ ir ruošiatės sujungti, tai darote su visiškas matomumas ir kontrolė.

Štai supaprastinta sąranka:

on:   pull_request:     branches: [ main ] jobs:   xygeni-scan:     runs-on: ubuntu-latest     steps:       - name: Checkout         uses: actions/checkout@v3       - name: Xygeni Scanner         uses: xygeni/xygeni-action@3.2.0         with:           token: ${{ secrets.XYGENI_TOKEN }}

3. Blokuokite nesaugius sujungimus su Guardrails

Guardrails, užtikrinkite, kad kurdami šaką „GitHub“ arba bandydami sujungti šakas „GitHub“, jūsų pagrindinės šakos „GitHub“ sąranką pasiektų tik saugūs pakeitimai. „Xygeni“ jums suteikia visiška kontrolė dėl to, kas sujungiamaGalite apibrėžti išankstinįcistaisyklės, pritaikytos prie jūsų saugumo politikos ir rizikos tolerancijos. Pavyzdžiui:

  • Blokuoti, jei slaptas raktas yra labai svarbus randamas (pvz., AWS raktai, žetonai)
  • Nepavyko sukurti jeigu naujas didelės rizikos pristatomas atvirojo kodo paketas
  • Atmesti pull requests kad keisti jautrius kelius kaip .github/workflows/, infrastructure/arba secrets.env
  • Užkirsti kelią sujungimams jeigu sumažinimas vėl įvedamas žinomas pažeidžiamumą
  • Blokuoti CI/CD konfigūracijos pakeitimai nebent tinkamai paženklinta
  • Sustabdyti sujungimus, jei SAST aptinka aukštą arba kritiniais klausimais
  • Taikyti griežtesnius Guardrails gamybos šakose išlaikant lankstumą plėtros procese

Šios taisyklės veikia kaip automatiniai vartų sargai. Jos padeda jūsų komandai sujungti tik tai, kas saugu, be jokių netikėtumų, rankinių peržiūrų ar paskutinės minutės gaisrų gesinimo.

Apsauginių turėklų taisyklės pavyzdys:

guardrail block_critical_secrets   on secrets   when severity = critical   then @fail()

Vizualinis grįžtamasis ryšys Dashboard

kaip sujungti šakas „GitHub“, atšaukti „GitHub“ ir šakų sujungimą „GitHub“

Siekiant užtikrinti visišką matomumą, „Xygeni“ rodo naujausio apsauginių turėklų būklės įvertinimo rezultatus.

  • Pirmiausia, žalia piktograma reiškia, kad visos politikos nuostatos priimtos.
  • Priešingai, raudona piktograma rodo, kad buvo pažeista viena ar kelios apsauginių turėklų sąlygos.

Todėl tiek kūrėjai, tiek saugumo komandos iš karto gauna informaciją, kodėl sujungimas buvo užblokuotas, nesigilindamos į integracijos žurnalus.

Tikras pavyzdys iš Dashboard:

Pavyzdžiui, tarkime, kad saugykla neturi apsaugotų šakų – dažna neteisinga konfigūracija, leidžianti kūrėjams stumti commitbe patvirtinimo. Tai rimta rizika.

„Xygeni“ automatiškai aptinka ir pažymi tai kaip pasirašyta_commits klausimas pagal CI/CD Kategorija. The dashboard pabrėžia:

  • Sunkumas: aukštas
  • Tipas: pasirašytas Commits
  • Paaiškinimas: Saugykloje nėra apsaugotų šakų
  • Statusas: Atviras

Todėl, naudodamiesi šiuo kontekstualiniu grįžtamuoju ryšiu, komandos gali greitai nustatyti riziką, suprasti jos poveikį ir imtis taisomųjų veiksmų – visa tai „Xygeni“ vartotojo sąsajoje.

tinkinti Vykdymo elgsena

Jūs visada kontroliuojate situaciją. Pasirinkite, kaip griežtai Guardrails turėtų būti:

  • --fail-on=critical: Blokuoti sujungimus tik esant rimtiems radiniams
  • --never-fail: paleisti Guardrails bandomuoju režimu, kad būtų galima išbandyti politikas prieš jas įgyvendinant

Taigi, kitą kartą kurdami filialą „GitHub“, jūsų Guardrails jau yra ten, saugodami jūsų pipeline ir automatiškai įgyvendinant jūsų politiką.

Kaip sužinoti, ar „GitHub“ programa yra saugi?

Sužinokite, kaip įvertinti „GitHub“ programas prieš jas diegiant.

Susiję skaitymai:

4. Automatiškai atšaukite sujungimą „GitHub“, kai aptinkama rizikų

Jei aptinkama rizikų, sujungimas atšaukiamas. Ši apsaugos priemonė apsaugo kiekvieną „GitHub“ projekto šaką ir užtikrina geriausią praktiką, kaip sujungti šakas „GitHub“.

„Xygeni“ tiesiogiai integruojasi į „GitHub“ vartotojo sąsają. Kai aptinkama rizika:

  • „GitHub“ rodo, kad patikra nepavyko
  • „GitHub“ apsaugos neleidžia sujungti
  • Sujungimo eilė praleidžia nesaugų kodą

Ar tai slapta informacija, CVE, ar pavojinga informacija CI/CD modelis, rezultatas tas pats: sujungimas atšauktas „GitHub“ ir pažymėta peržiūrai.

Išsamius rezultatus taip pat galite peržiūrėti „Xygeni“:

  • Kiekvienos šakos saugumo būsena
  • Kodėl sujungimas buvo užblokuotas
  • Visa nuskaitymo istorija
  • Apsauginių turėklų būsena projekto puslapyje rodoma žaliomis (pavyko) arba raudonomis (nepavyko) piktogramomis

Šis vaizdinis grįžtamasis ryšys leidžia kūrėjams ir saugumo komandoms užtikrintai imtis veiksmų. O kai reikia išsamesnio konteksto, kiekviena problema pateikiama dokumentacijoje su svarba, žymomis, vieta ir mažinimo gairėmis.

„Tldr“ sujungimas tik tuo atveju, jei saugu

Apibendrinant, štai kaip saugiai sujungti sukūrus šaką „GitHub“:

  • Sukurkite šaką „GitHub“ per vartotojo sąsają
  • Suaktyvinkite automatinį nuskaitymą su kiekvienu pull request su Xygeni 
  • Blokuoti nesaugius sujungimus naudojant Guardrails
  • Naudokite serverio audito strategijas, kad galėtumėte geriau kontroliuoti
  • Atšaukti sujungimą „GitHub“, kai kas nors nepavyksta
  • Vizualizuoti visus rezultatus Xygeni programoje dashboard

Norėdami gauti daugiau geriausios saugyklų apsaugos praktikos pavyzdžių, skaitykite mūsų „GitHub“ saugumo DUK: ką turėtų žinoti kiekvienas kūrėjas.

Nors sujungimas yra pagrindinė operacija, norint ją atlikti saugiai, reikia tikro matomumo ir automatizavimo. Naudodami „Xygeni“, jūs ne tik sujungiate kodą, bet ir sujungiate pasitikėjimą.

Užtikrintai apsaugokite kiekvieną „GitHub“ filialą

Vienas nepastebėtas klausimas pull request gali pakenkti jūsų pagrindinei šakai. Tradiciniai skaitytuvai dažnai pradeda veikti per vėlai, nepastebi svarbių rizikų arba nevykdo prasmingų politikų.

Štai kodėl „GitHub“ šakų apsauga apima daugiau nei vien nuskaitymą.

„Xygeni“ užtikrina realų vykdymą. Kai pull request taikosi į apsaugotą šaką, „Xygeni“ analizuoja naujausią jūsų vykdomą CI/CD darbo eiga. Ji neskenuoja visos šakos iš naujo. Vietoj to, ji įvertina naujausius rezultatus, kad patikrintų, ar nėra saugumo problemų kode, priklausomybėse, paslaptyse ir darbo eigos konfigūracijose. Jūs ne tik įspėjami. Jūs esate apsaugoti.

Kuo jis skiriasi:

  • Pilnas konteksto patvirtinimas: Guardrails vykdyti politiką naudojant išsamų kontekstą, pvz., pavojingumą, išnaudojimo galimybes ir šakos metaduomenis.
  • Integruota „GitHub“ integracija: Viskas, pradedant nuskaitymu ir baigiant vykdymo užtikrinimu, vyksta automatiškai jūsų „GitHub“ darbo eigose, nereikia jokių pasirinktinių scenarijų ar sujungimo kodo.
  • Serverio pusės auditai: Serverio pusėje Guardrails patvirtinti rezultatus po įkėlimo, pridedant antrą kontrolės lygmenį už pipeline.

Užuot pasikliavusi CI sąranka, kad ji viską užfiksuotų, „Xygeni“ taiko automatizuotą, politika pagrįstą decisjonų prieš tai, kai kas nors pasieks jūsų pagrindinę šaką.

Nors sujungimas yra pagrindinė operacija, norint ją atlikti saugiai, reikia tikro matomumo ir automatizavimo. Naudodami „Xygeni“, jūs ne tik apsaugote savo saugyklas, bet ir užtikrintai apsaugote kiekvieną „GitHub“ šaką.

sca-tools-software-composition-analyses-tools
Prioritetizuoti, pašalinti ir apsaugoti savo programinės įrangos rizikas
Gaukite nemokamą paskyrą.
Nebūtina kreditinės kortelės.

Apsaugokite savo programinės įrangos kūrimą ir tiekimą

su „Xygeni“ produktų rinkiniu