Учење како да креирате грану у GitHub-у је први корак. Међутим, савладавање начина безбедног спајања грана у GitHub-у је подједнако важно за сваку грану. ГитХуб ток рада. Дакле, у овом посту ћемо вас провести кроз цео процес, почевши од Како креирати грану у ГитХабу а затим ти показујем Како спојити гране у GitHub-у безбедно. Такође ћемо објаснити како да откажете спајање ако пронађете било какве проблеме и на крају, како вам Xygeni може помоћи да откријете сваки проблем пре него што доспе у вашу главну грану.
Хајде да прођемо кроз то корак по корак.
1. Како на прави начин креирати грану у GitHub-у
Сваки безбедан ток рада почиње када креирате грану у GitHub-у. То омогућава програмерима да изолују функције, исправке или експерименте без утицаја на продукцијски код.
Да бисте креирали грану у GitHub-у:
1. Идите до свог спремишта
2. Кликните на падајући мени за избор грана
3. Унесите име ваше нове филијале
КСНУМКС. клик Направи грану
Одавде је ваша нова грана спремна за рад. Сада можете да шаљете код, сарађујете на променама и на крају отворите pull requestИако је ово основна GitHub акција, она поставља темеље за безбедан развој.
Важно је напоменути да сваки пут када креирате грану у GitHub-у, она треба да буде део понављајућег и заштићеног тока посла.
2. Скенирање Pull Requests Аутоматски пре спајања
Када креирате грану у GitHub-у и припремите се за преглед, следећи корак је разумевање како безбедно спојити гране у GitHub-у. Свако слање гране на GitHub требало би да покрене аутоматске провере. Али пре спајања, неопходно је да верификовати Koji код не уводи рањивости. Један небезбедан commit може открити вашу апликацију, leak secretс, или покварити критичну инфраструктуру.
Спајање кода у вашу главну грану је операција са великим утицајем. Без одговарајућих провера, може довести до озбиљних последица као што су:
- Рањивости нултог дана упада у производњу
- Познат ЦВЕс уведено кроз пакете отвореног кода
- Чврсто кодиране тајне послато у репозиторијум
- Погрешне конфигурације инфраструктуре које слабе вашу одбрану
- Злонамерни или измењени код улазак кроз зависности
Овде Xygeni прави праву разлику
Коришћењем ГитХуб Ацтионс, можете покренути аутоматизована Xygeni скенирања кад год програмер отвори pull request у заштићену грану. Заштићена грана у GitHub-у је она која захтева посебне провере или одобрења пре него што се дозволи спајање промена.
Ксигени анализира најновије извршење pull request тока да би се потврдио безбедносни статус предложених промена. Ово укључује проверу проблеми у коду, зависностима, тајнама и CI/CD конфигурацијеЦела грана се не скенира поново, али се најновији резултат тока посла користи за спровођење смерница и блокирање небезбедних спајања.
Ова скенирања потврђују да је код безбедан и спреман за продукцију. Они откривају:
- Рањивости кода (SAST)
- Рањиви пакети отвореног кода (SCA)
- Чврсто кодиране тајне
- IaC погрешне конфигурације
- Потенцијални злонамерни софтвер
Интегратинг ове ране провере осигуравају да сваки пут када креирате грану у GitHub-у и спремате се за спајање, то радите са потпуна видљивост и контрола.
Ево поједностављеног подешавања:
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. Блокирајте небезбедна спајања са Guardrails
Guardrails, осигурајте да када креирате грану у GitHub-у или покушате да спојите гране у GitHub-у, само безбедне измене стигну до подешавања ваше главне гране у GitHub-у. Xygeni вам даје потпуна контрола над оним што се спајаМожете дефинисати преcisправила прилагођена вашим безбедносним политикама и толеранцији на ризик. На пример:
- Блокирај ако је критична тајна пронађено (нпр. AWS кључеви, токени)
- Неуспех у изградњи ако нови високог ризика представљен је пакет отвореног кода
- Одбити pull requests Koji измените осетљиве путање као
.github/workflows/,infrastructure/, Илиsecrets.env - Спречи спајања ако поновно увођење нижег ранга познат рањивости
- Блокирати CI/CD промене конфигурације осим ако није правилно означено
- Заустави спајања ако SAST детектује високе или критична питања
- Применити строже Guardrails на производним огранацима уз очување флексибилности у развоју
Ова правила делују као аутоматизовани чувари капије. Она помажу вашем тиму да обједини само оно што је безбедно, без изненађења, без ручних прегледа, без гашења пожара у последњем тренутку.
Пример правила заштитне ограде:
guardrail block_critical_secrets on secrets when severity = critical then @fail() Визуелна повратна информација у Dashboard
Да би се осигурала потпуна видљивост, Xygeni приказује резултат најновије евалуације статуса заштитне ограде.
- Најпре, зелена икона значи да су све политике усвојене.
- У супротности, црвена икона сигнализира да је прекршен један или више услова заштитне ограде.
Као резултат тога, и програмери и безбедносни тимови добијају тренутни увид у разлоге блокирања спајања, без копања по CI логовима.
Прави пример из Dashboard:
На пример, рецимо да репозиторијум нема заштићене гране, што је уобичајена погрешна конфигурација која омогућава програмерима да гурају commitбез верификације. То је озбиљан ризик.
Xygeni аутоматски детектује и обележава ово као потписано_commits питање у оквиру CI/CD категорија. Тхе dashboard наглашава:
- Озбиљност: висок
- Тип: Потписан Commits
- objašnjenje: Репозиторијум нема заштићених грана
- Стање: отворен
Стога, уз ове повратне информације богате контекстом, тимови могу брзо идентификовати ризик, разумети његов утицај и предузети корективне мере, све из Xygeni корисничког интерфејса.
Прилагодите Понашање у спровођењу закона
Увек имате контролу. Изаберите колико строго Guardrails требало би:
--fail-on=critical: Блок се спаја само код озбиљних налаза--never-fail: трчање Guardrails у пробном режиму за тестирање политика пре примене
Дакле, следећи пут када направите грану у GitHub-у, ваш Guardrails већ су тамо, штитећи ваше pipeline и аутоматско спровођење ваших политика.
Како да знам да ли је GitHub апликација безбедна?
Научите како да процените GitHub апликације пре него што их инсталирате.
4. Аутоматски откажите спајање у GitHub-у када се пронађу ризици
Ако се открију ризици, спајање се отказује. Ова заштита штити сваки пројекат гране на GitHub-у и спроводи најбоље праксе о томе како спајати гране у GitHub-у.
Xygeni се директно интегрише у кориснички интерфејс GitHub-а. Када се пронађе ризик:
- GitHub приказује да је провера неуспешна
- ГитХаб-ове заштите спречавају спајање
- Ред за спајање прескаче небезбедан код
Било да је у питању тајна, CVE или опасна CI/CD образац, резултат је исти: Спајање је отказано у GitHub-у и означено за преглед.
Такође можете погледати детаљне резултате у Xygeni-ју:
- Безбедносни статус сваке филијале
- Зашто је спајање блокирано
- Комплетна историја скенирања
- Статус заштитне ограде приказан је зеленом (прошао) или црвеном (непрошао) иконом на страници пројекта
Ова визуелна повратна информација олакшава програмерима и безбедносним тимовима да предузму акцију са поверењем. А када вам је потребан дубљи контекст, сваки проблем је повезан са документацијом са озбиљношћу, ознакама, локацијом и смерницама за ублажавање.
Tldr спаја само оно што је безбедно
Укратко, ево како безбедно спојити након што креирате грану у GitHub-у:
- Направите грану у GitHub-у преко корисничког интерфејса
- Покрени аутоматско скенирање сваких pull request са Ксигенијем
- Блокирајте небезбедна спајања користећи Guardrails
- Користите политике ревизије на страни сервера за дубљу контролу
- Откажи спајање у GitHub-у када нешто не успе
- Визуализујте све резултате у Xygeni-ју dashboard
За додатне најбоље праксе о заштити репозиторијума, прочитајте наше Честа питања о безбедности на GitHub-у: Шта сваки програмер треба да зна.
Иако је спајање основна операција, његово безбедно обављање захтева праву видљивост и аутоматизацију. Са Xygeni-јем, не спајате само код, већ спајате поверење.
Заштитите сваку GitHub грану са поверењем
Једно занемарено питање у pull request може угрозити вашу главну грану. Традиционални скенери често раде прекасно, пропуштају критичне ризике или не успевају да спроводе смислене политике.
Зато је заштита ваших GitHub грана потребно више од самог скенирања.
Ксигени пружа стварно спровођење закона. Када се pull request циља заштићену грану, Xygeni анализира најновије извршавање вашег CI/CD ток посла. Не скенира поново целу грану. Уместо тога, процењује најновије резултате како би проверио безбедносне проблеме у коду, зависностима, тајнама и конфигурацијама тока посла. Нисте само упозорени. Ви сте заштићени.
Шта га чини другачијим:
- Потпуна валидација контекста: Guardrails спровести политику користећи богат контекст као што су озбиљност, искористивост и метаподаци грана.
- Уграђена интеграција са GitHub-ом: Све, од скенирања до спровођења, ради изворно у вашим GitHub радним процесима, без потребе за прилагођеним скриптама или кодом за повезивање.
- Ревизије на страни сервера: На страни сервера Guardrails валидирати резултате након отпремања, додајући други слој контроле изван pipeline.
Уместо да се ослањате на подешавање ваше CI интеграције да бисте све забележили, Xygeni примењује аутоматизоване, политиком засноване развојне решења.cisјоне пре него што било шта стигне до ваше главне гране.
Иако је спајање основна операција, његово безбедно обављање захтева праву видљивост и аутоматизацију. Са Xygeni-јем, не само да штитите своје репозиторијуме, већ поуздано штитите сваку грану GitHub-а.




