GitHub-ში ტოტის შექმნის სწავლა პირველი ნაბიჯია. თუმცა, GitHub-ში ტოტების უსაფრთხოდ გაერთიანების დაუფლება ისეთივე კრიტიკულია ყველა ტოტისთვის. GitHub სამუშაო პროცესი. ამ პოსტში ჩვენ მთელ პროცესს გაგაცნობთ, დაწყებული როგორ შევქმნათ ფილიალი GitHub-ში და შემდეგ გაჩვენებთ როგორ გავაერთიანოთ ფილიალები GitHub-ში უსაფრთხოდ. ასევე განვიხილავთ, თუ როგორ გააუქმოთ შერწყმა, თუ რაიმე პრობლემას აღმოაჩენთ და ბოლოს, როგორ შეუძლია Xygeni-ს დაგეხმაროთ ყველა პრობლემის აღმოჩენაში, სანამ ის თქვენს მთავარ ფილიალში მოხვდება.
მოდით, ეტაპობრივად განვიხილოთ.
1. როგორ შევქმნათ ფილიალი GitHub-ში სწორად
ყველა უსაფრთხო სამუშაო პროცესი იწყება GitHub-ში ფილიალის შექმნით. ეს საშუალებას აძლევს დეველოპერებს გამოყონ ფუნქციები, შესწორებები ან ექსპერიმენტები წარმოების კოდზე გავლენის გარეშე.
GitHub-ში ფილიალის შესაქმნელად:
1. გადადით თქვენს საცავში
2. დააწკაპუნეთ ფილიალის შერჩევის ჩამოსაშლელ სიაზე

3. აკრიფეთ თქვენი ახალი ფილიალის სახელი
4. click ფილიალის შექმნა

აქედან, თქვენი ახალი ფილიალი მზადაა გამოსაყენებლად. ახლა შეგიძლიათ კოდის განთავსება, ცვლილებებზე თანამშრომლობა და საბოლოოდ გახსნათ pull requestმიუხედავად იმისა, რომ ეს GitHub-ის ძირითადი მოქმედებაა, ის უსაფრთხო განვითარებისთვის საფუძველს ქმნის.
მნიშვნელოვანია, რომ ყოველ ჯერზე, როდესაც GitHub-ში ფილიალს ქმნით, ის განმეორებადი და დაცული სამუშაო პროცესის ნაწილი უნდა იყოს.
2. სკანირება Pull Requests ავტომატურად გაერთიანებამდე
როდესაც GitHub-ში ქმნით ფილიალს და ემზადებით განხილვისთვის, შემდეგი ნაბიჯი არის იმის გაგება, თუ როგორ უნდა გააერთიანოთ ფილიალები GitHub-ში უსაფრთხოდ. GitHub-ის თითოეული ფილიალის შეყვანა უნდა ამოქმედდეს ავტომატურ შემოწმებებზე. თუმცა, გაერთიანებამდე აუცილებელია გადაამოწმონ ეს კოდი არ შეიცავს დაუცველობებს. ერთი სახიფათო commit შეიძლება თქვენი აპლიკაცია გამოაშკარავდეს, leak secrets, ან კრიტიკული ინფრასტრუქტურის დაშლა.
კოდის თქვენს მთავარ ფილიალში გაერთიანება ძალიან შრომატევადი ოპერაციაა. სათანადო შემოწმების გარეშე, ამან შეიძლება გამოიწვიოს სერიოზული შედეგები, როგორიცაა:
- ნულოვანი დღის დაუცველობა წარმოებაში ჩავარდნა
- ცნობილია CVE-ები ღია კოდის პაკეტების მეშვეობით წარმოდგენილი
- მყარი კოდირებული საიდუმლოებები საცავში გადაიტანა
- ინფრასტრუქტურის არასწორი კონფიგურაციები რაც თქვენს დაცვას ასუსტებს
- მავნე ან გაყალბებული კოდი დამოკიდებულებების მეშვეობით შესვლა
სწორედ აქ ახდენს Xygeni რეალურ განსხვავებას
გამოყენებით GitHub მოქმედებები, შეგიძლიათ გაააქტიუროთ ავტომატიზირებული Xygeni სკანირება როდესაც დეველოპერი ხსნის pull request დაცულ ტოტად. GitHub-ში დაცული ტოტი არის ის, რომელიც ცვლილებების გაერთიანებამდე სპეციფიკურ შემოწმებას ან დამტკიცებას საჭიროებს.
Xygeni აანალიზებს უახლესი შესრულება pull request workflow შემოთავაზებული ცვლილებების უსაფრთხოების მდგომარეობის დასადასტურებლად. ეს მოიცავს შემოწმებას კოდში არსებული პრობლემები, დამოკიდებულებები, საიდუმლოებები და 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-ის სტატუსის უახლესი შეფასების შედეგს.
- პირველ რიგში,, მწვანე ხატულა ნიშნავს, რომ ყველა პოლიტიკა დამტკიცებულია.
- Კონტრასტში, წითელი ხატულა მიუთითებს, რომ დაირღვა ერთი ან მეტი Guardrail პირობა.
შედეგად, როგორც დეველოპერები, ასევე უსაფრთხოების ჯგუფები დაუყოვნებლივ იღებენ წარმოდგენას იმის შესახებ, თუ რატომ დაიბლოკა შერწყმა, CI ჟურნალებში ჩაღრმავების გარეშე.
რეალური მაგალითი Dashboard:
მაგალითად, დავუშვათ, რომ საცავს არ აქვს დაცული ტოტები, რაც გავრცელებული არასწორი კონფიგურაციაა, რომელიც დეველოპერებს საშუალებას აძლევს, commitვერიფიკაციის გარეშე. ეს სერიოზული რისკია.
Xygeni ავტომატურად ამოიცნობს და აღნიშნავს ამას, როგორც ხელმოწერილი_commits საკითხი CI/CD კატეგორია. ის dashboard მაჩვენებლები:
- სიმძიმე: მაღალი
- ტიპი: ხელმოწერილია Commits
- განმარტება: საცავს არ აქვს დაცული ფილიალები
- სტატუსი: ღიაა
ამრიგად, ამ კონტექსტით მდიდარი უკუკავშირის საშუალებით, გუნდებს შეუძლიათ სწრაფად ამოიცნონ რისკი, გაიგონ მისი გავლენა და მიიღონ მაკორექტირებელი ზომები, ყველაფერი Xygeni UI-დან.
Customize აღსრულების ქცევა
თქვენ ყოველთვის აკონტროლებთ სიტუაციას. აირჩიეთ, რამდენად მკაცრია 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-ში UI-ის საშუალებით
- ავტომატური სკანირების გააქტიურება ყოველ pull request Xygeni-სთან ერთად
- დაუცველი შერწყმების დაბლოკვა Guardrails
- უფრო ღრმა კონტროლისთვის გამოიყენეთ სერვერის მხარის აუდიტის პოლიტიკა
- GitHub-ში შერწყმის გაუქმება, როდესაც რამე ვერ მოხერხდება
- ყველა შედეგის ვიზუალიზაცია Xygeni-ში dashboard
საცავის დაცვის შესახებ დამატებითი საუკეთესო პრაქტიკისთვის, წაიკითხეთ ჩვენი GitHub-ის უსაფრთხოების ხშირად დასმული კითხვები: რა უნდა იცოდეს ყველა დეველოპერმა.
მიუხედავად იმისა, რომ გაერთიანება საბაზისო ოპერაციაა, მისი უსაფრთხოდ განხორციელება რეალურ ხილვადობას და ავტომატიზაციას მოითხოვს. Xygeni-ს საშუალებით თქვენ არა მხოლოდ კოდს აერთიანებთ, არამედ ნდობასაც აერთიანებთ.
დაიცავით GitHub-ის ყველა ფილიალი თავდაჯერებულად
ერთი უგულებელყოფილი საკითხი pull request შეიძლება თქვენი მთავარი ფილიალი საფრთხეში ჩააგდოს. ტრადიციული სკანერები ხშირად ძალიან გვიან მუშაობენ, კრიტიკულ რისკებს ვერ ახერხებენ ან ვერ ახერხებენ მნიშვნელოვანი პოლიტიკის აღსრულებას.
სწორედ ამიტომ, თქვენი GitHub ფილიალების დაცვას უბრალოდ სკანირებაზე მეტი სჭირდება.
Xygeni უზრუნველყოფს რეალურ აღსრულებას. როდესაც pull request დაცულ ტოტზე მიზანში ამოღებისას, Xygeni აანალიზებს თქვენი ტოტის უახლეს შესრულებას CI/CD სამუშაო პროცესი. ის მთელ ფილიალს ხელახლა არ სკანირებს. ამის ნაცვლად, ის აფასებს უახლეს შედეგებს, რათა შეამოწმოს უსაფრთხოების პრობლემები კოდში, დამოკიდებულებებში, საიდუმლოებებსა და სამუშაო პროცესის კონფიგურაციებში. თქვენ არა მხოლოდ გაფრთხილებთ. თქვენ დაცული ხართ.
რა განასხვავებს მას:
- სრული კონტექსტის ვალიდაცია: Guardrails პოლიტიკის აღსრულება ისეთი მდიდარი კონტექსტის გამოყენებით, როგორიცაა სიმძიმე, ექსპლუატაცია და განშტოების მეტამონაცემები.
- ჩაშენებული GitHub ინტეგრაცია: სკანირებიდან დაწყებული აღსრულებით დამთავრებული ყველაფერი ავტომატურად მუშაობს თქვენს GitHub სამუშაო პროცესებში, მორგებული სკრიპტების ან წებოვანი კოდის საჭიროების გარეშე.
- სერვერის მხარის აუდიტები: სერვერის მხარე Guardrails შედეგების დადასტურება ატვირთვის შემდეგ, კონტროლის მეორე ფენის დამატებით pipeline.
ყველაფრის დასაჭერად თქვენი CI კონფიგურაციაზე დაყრდნობის ნაცვლად, Xygeni იყენებს ავტომატიზირებულ, პოლიტიკაზე დაფუძნებულ დეტექტივაციას.cisიონები, სანამ რამე თქვენს მთავარ ტოტს მიაღწევს.
მიუხედავად იმისა, რომ გაერთიანება საბაზისო ოპერაციაა, მისი უსაფრთხოდ განხორციელება რეალურ ხილვადობას და ავტომატიზაციას მოითხოვს. Xygeni-ის საშუალებით თქვენ არა მხოლოდ იცავთ თქვენს რეპოზიტორებს, არამედ თავდაჯერებულად იცავთ GitHub-ის ყველა ფილიალს.







