GitHub-இல் ஒரு பிராஞ்சை உருவாக்குவது எப்படி என்பதைக் கற்றுக்கொள்வது முதல் படியாகும். இருப்பினும், GitHub-இல் பிராஞ்சுகளைப் பாதுகாப்பாக ஒன்றிணைப்பதில் தேர்ச்சி பெறுவது ஒவ்வொரு பிராஞ்சிற்கும் அதே அளவு முக்கியமானதாகும். மகிழ்ச்சியா பணிப்பாய்வு. எனவே, இந்தப் பதிவில், முழு செயல்முறையையும் நாங்கள் உங்களுக்கு விளக்குவோம். GitHub-ல் ஒரு பிராஞ்சை உருவாக்குவது எப்படி பின்னர் உங்களுக்குக் காண்பிக்கவும் GitHub-ல் கிளைகளை ஒன்றிணைப்பது எப்படி பாதுகாப்பாக. ஏதேனும் சிக்கல்களைக் கண்டறிந்தால், ஒரு இணைப்பை எவ்வாறு ரத்து செய்வது என்பதையும், இறுதியாக, உங்கள் பிரதான கிளைக்குள் நுழைவதற்கு முன்பே ஒவ்வொரு சிக்கலையும் கண்டறிய சைஜெனி உங்களுக்கு எவ்வாறு உதவும் என்பதையும் நாம் காண்போம்.
இதை படிப்படியாகப் பார்ப்போம்.
1. GitHub-இல் ஒரு பிராஞ்சை சரியான முறையில் உருவாக்குவது எப்படி
நீங்கள் GitHub-இல் ஒரு பிராஞ்சை உருவாக்கும்போது ஒவ்வொரு பாதுகாப்பான பணிப்பாய்வும் தொடங்குகிறது. இது, உற்பத்தி குறியீட்டைப் பாதிக்காமல், அம்சங்கள், திருத்தங்கள் அல்லது சோதனைகளைத் தனிமைப்படுத்த டெவலப்பர்களை அனுமதிக்கிறது.
GitHub-இல் ஒரு கிளையை உருவாக்க:
1. உங்கள் களஞ்சியத்திற்குச் செல்லவும்
2. கிளைத் தேர்வி கீழ்விரிப் பட்டியைக் கிளிக் செய்யவும்.
3. உங்கள் புதிய கிளையின் பெயரைத் தட்டச்சு செய்யவும்
4. கிளிக் செய்யவும் கிளையை உருவாக்கு
இங்கிருந்து, உங்கள் புதிய பிராஞ்ச் செயல்படத் தயாராக உள்ளது. நீங்கள் இப்போது கோடை புஷ் செய்யலாம், மாற்றங்களில் இணைந்து பணியாற்றலாம், மேலும் இறுதியில் ஒரு கணக்கைத் திறக்கலாம். pull requestஇது ஒரு அடிப்படை GitHub செயல்பாடு என்றாலும், இது பாதுகாப்பான மேம்பாட்டிற்கு வழிவகுக்கிறது.
முக்கியமாக, நீங்கள் GitHub-இல் ஒரு பிராஞ்சை உருவாக்கும் ஒவ்வொரு முறையும், அது மீண்டும் மீண்டும் செய்யக்கூடிய மற்றும் பாதுகாக்கப்பட்ட ஒரு பணிப்பாய்வின் பகுதியாக இருக்க வேண்டும்.
2. ஸ்கேன் Pull Requests நீங்கள் இணைப்பதற்கு முன் தானாகவே
நீங்கள் GitHub-இல் ஒரு பிராஞ்சை உருவாக்கி, மதிப்பாய்வுக்குத் தயாராகும்போது, GitHub-இல் பிராஞ்சுகளைப் பாதுகாப்பாக ஒன்றிணைப்பது எப்படி என்பதைப் புரிந்துகொள்வதே அடுத்த கட்டமாகும். ஒவ்வொரு பிராஞ்ச் GitHub புஷ்ஷும் தானியங்கு சோதனைகளைத் தூண்ட வேண்டும். ஆனால் ஒன்றிணைப்பதற்கு முன், பின்வருவனவற்றைச் செய்வது அவசியம்: சரிபார்க்க அந்த இந்த நிரல் பாதுகாப்பு குறைபாடுகளை ஏற்படுத்தாது. ஒரு பாதுகாப்பற்ற commit உங்கள் பயன்பாட்டை வெளிப்படுத்த முடியும், leak secretஅல்லது, முக்கிய உள்கட்டமைப்பைச் சேதப்படுத்தும்.
உங்கள் முதன்மைக் கிளையில் குறியீட்டை இணைப்பது ஒரு பெரும் தாக்கத்தை ஏற்படுத்தும் செயல்பாடாகும். முறையான சோதனைகள் இல்லாமல், அது பின்வரும் கடுமையான விளைவுகளுக்கு வழிவகுக்கும்:
- பூஜ்ஜிய நாள் பாதிப்புகள் உற்பத்திக்குள் நழுவுதல்
- அறியப்பட்ட CVEகள் திறந்த மூல தொகுப்புகள் மூலம் அறிமுகப்படுத்தப்பட்டது
- கடின குறியீட்டு இரகசியங்கள் களஞ்சியத்திற்குத் தள்ளவும்
- உள்கட்டமைப்பு தவறான உள்ளமைவுகள் உங்கள் பாதுகாப்புகளை பலவீனப்படுத்தும்
- தீங்கிழைக்கும் அல்லது திருத்தப்பட்ட குறியீடு சார்புகள் வழியாக நுழைதல்
இங்குதான் சைஜெனி ஒரு உண்மையான மாற்றத்தை ஏற்படுத்துகிறது.
பயன்படுத்தி கிட்ஹப் செயல்கள், நீங்கள் தூண்டலாம் தானியங்கி சைஜெனி ஸ்கேன்கள் ஒரு டெவலப்பர் திறக்கும்போதெல்லாம் 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 அமைப்பைச் சென்றடைவதை உறுதிசெய்யுங்கள். 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
முழுமையான வெளிப்படைத்தன்மையை உறுதிசெய்ய, கார்ட்ரெயிலின் நிலை குறித்த சமீபத்திய மதிப்பீட்டின் முடிவை சைஜெனி காட்டுகிறது.
- அனைத்து முதல்பச்சை நிறச் சின்னம் அனைத்துக் கொள்கைகளும் நிறைவேற்றப்பட்டதைக் குறிக்கிறது.
- இதற்கு மாறாகஒன்று அல்லது அதற்கு மேற்பட்ட பாதுகாப்பு நிபந்தனைகள் மீறப்பட்டதை ஒரு சிவப்புச் சின்னம் சமிக்ஞை செய்கிறது.
இதன் விளைவாக, டெவலப்பர்கள் மற்றும் பாதுகாப்புக் குழுக்கள் ஆகிய இரு தரப்பினரும், CI பதிவுகளை ஆராயாமலேயே, ஒரு இணைப்பு ஏன் தடுக்கப்பட்டது என்பது குறித்த உடனடிப் புரிதலைப் பெறுகிறார்கள்.
உண்மையான உதாரணம் Dashboard:
உதாரணமாக, ஒரு ரெபாசிட்டரியில் பாதுகாக்கப்பட்ட கிளைகள் இல்லை என்று வைத்துக்கொள்வோம்; இது டெவலப்பர்களை புஷ் செய்ய அனுமதிக்கும் ஒரு பொதுவான தவறான உள்ளமைவு ஆகும். commitசரிபார்ப்பு இல்லாமல். அது ஒரு கடுமையான ஆபத்து.
சைஜெனி இதைத் தானாகவே கண்டறிந்து கொடியிடுகிறது. கையொப்பமிடப்பட்டது_commits கீழ் உள்ள பிரச்சினை CI/CD வகை. தி dashboard சிறப்பம்சங்கள்:
- தீவிரம்: உயர்
- வகை: கையொப்பமிடப்பட்ட Commits
- விளக்கம்: களஞ்சியத்தில் பாதுகாக்கப்பட்ட கிளைகள் எதுவும் இல்லை.
- அந்தஸ்து: திறந்த
எனவே, சூழல் செறிந்த இந்த பின்னூட்டத்தின் மூலம், குழுக்கள் Xygeni பயனர் இடைமுகத்திலிருந்தே இடரை விரைவாகக் கண்டறிந்து, அதன் தாக்கத்தைப் புரிந்துகொண்டு, சரிசெய்யும் நடவடிக்கைகளை எடுக்க முடியும்.
தனிப்பயனாக்கலாம் அமலாக்க நடத்தை
கட்டுப்பாடு எப்போதும் உங்கள் கையில்தான் உள்ளது. எவ்வளவு கண்டிப்புடன் இருக்க வேண்டும் என்பதை நீங்களே தேர்ந்தெடுங்கள். Guardrails இருக்க வேண்டும்:
--fail-on=critical: கடுமையான முடிவுகள் கண்டறியப்பட்டால் மட்டுமே தொகுதி ஒன்றிணைகிறது.--never-fail: ரன் Guardrails கொள்கைகளை அமல்படுத்துவதற்கு முன் சோதனை ஓட்ட முறையில்
எனவே அடுத்த முறை நீங்கள் GitHub-ல் ஒரு பிராஞ்சை உருவாக்கும்போது, உங்கள் Guardrails ஏற்கனவே அங்கே இருக்கின்றன, உங்களைப் பாதுகாக்கின்றன pipeline மற்றும் உங்கள் கொள்கைகளைத் தானாகவே அமல்படுத்துதல்.
ஒரு GitHub செயலி பாதுகாப்பானது என்பதை நான் எப்படி அறிவது?
GitHub செயலிகளை நிறுவும் முன் அவற்றை எவ்வாறு மதிப்பீடு செய்வது என்பதைத் தெரிந்துகொள்ளுங்கள்.
4. அபாயங்கள் கண்டறியப்படும்போது GitHub-இல் இணைப்பைத் தானாகவே ரத்துசெய்
அபாயங்கள் கண்டறியப்பட்டால், இணைப்பு ரத்து செய்யப்படும். இந்த பாதுகாப்பு அம்சம், GitHub திட்டத்தின் ஒவ்வொரு கிளையையும் பாதுகாப்பதுடன், GitHub-இல் கிளைகளை இணைப்பதற்கான சிறந்த நடைமுறைகளையும் அமல்படுத்துகிறது.
சைஜெனி, கிட்ஹப்பின் பயனர் இடைமுகத்துடன் நேரடியாக ஒருங்கிணைக்கிறது. ஒரு ஆபத்து கண்டறியப்படும்போது:
- GitHub அந்தச் சரிபார்ப்பு தோல்வியடைந்ததாகக் காட்டுகிறது.
- GitHub-இன் பாதுகாப்புகள் இணைப்பைத் தடுக்கின்றன.
- இணைப்பு வரிசை பாதுகாப்பற்ற குறியீட்டைத் தவிர்க்கிறது.
அது இரகசியமானதாக இருந்தாலும், CVE ஆக இருந்தாலும், அல்லது ஆபத்தானதாக இருந்தாலும் CI/CD இந்த முறை, இதன் விளைவு ஒன்றுதான்: GitHub-இல் இணைப்பு ரத்து செய்யப்பட்டது மற்றும் மறுஆய்வுக்காகக் குறியிடப்பட்டது.
Xygeni-யிலும் விரிவான முடிவுகளை நீங்கள் பார்க்கலாம்:
- ஒவ்வொரு கிளையின் பாதுகாப்பு நிலை
- இணைப்பு ஏன் தடுக்கப்பட்டது
- முழுமையான ஸ்கேன் வரலாறு
- திட்டப் பக்கத்தில் கார்ட்ரெயிலின் நிலை, பச்சை (தேர்ச்சி) அல்லது சிவப்பு (தோல்வி) சின்னங்கள் மூலம் காட்டப்படுகிறது.
இந்தக் காட்சிப் பின்னூட்டம், உருவாக்குநர்கள் மற்றும் பாதுகாப்புக் குழுக்கள் நம்பிக்கையுடன் நடவடிக்கை எடுப்பதை எளிதாக்குகிறது. மேலும், உங்களுக்கு ஆழமான சூழல் தேவைப்படும்போது, ஒவ்வொரு சிக்கலும் அதன் தீவிரம், குறிச்சொற்கள், இருப்பிடம் மற்றும் தணிப்பு வழிகாட்டுதல் அடங்கிய ஆவணங்களுடன் இணைக்கப்பட்டுள்ளது.
சுருக்கமாக: பாதுகாப்பானவற்றை மட்டும் இணைக்கவும்.
சுருக்கமாகச் சொல்வதானால், GitHub-இல் ஒரு பிராஞ்சை உருவாக்கிய பிறகு, பாதுகாப்பாக மெர்ஜ் செய்வது எப்படி என்பது இங்கே கொடுக்கப்பட்டுள்ளது:
- பயனர் இடைமுகம் மூலம் GitHub-இல் ஒரு கிளையை உருவாக்கவும்
- ஒவ்வொரு முறையும் தானியங்கி ஸ்கேன்களைத் தூண்டவும் pull request Xygeni உடன்
- பாதுகாப்பற்ற இணைப்புகளைத் தடுக்க இதைப் பயன்படுத்தவும் 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-இன் ஒவ்வொரு கிளையையும் நம்பிக்கையுடன் பாதுகாக்கிறீர்கள்.




