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




