Kíkọ́ bí a ṣe lè ṣẹ̀dá ẹ̀ka kan ní GitHub ni ìgbésẹ̀ àkọ́kọ́. Síbẹ̀síbẹ̀, mímọ bí a ṣe lè da àwọn ẹ̀ka pọ̀ ní GitHub láìléwu jẹ́ pàtàkì fún gbogbo ẹ̀ka náà. GitHub Ìṣiṣẹ́ iṣẹ́. Nítorí náà, nínú ìwé yìí, a ó tọ́ ọ sọ́nà gbogbo iṣẹ́ náà, bẹ̀rẹ̀ pẹ̀lú Bii o ṣe le ṣẹda ẹka kan ni GitHub àti lẹ́yìn náà ó fi hàn ọ́ Bii o ṣe le dapọ awọn ẹka ni GitHub láìsí ewu. A ó tún sọ̀rọ̀ nípa bí a ṣe lè fagilé ìṣọ̀kan kan tí o bá rí ìṣòro kankan, àti níkẹyìn, bí Xygeni ṣe lè ràn ọ́ lọ́wọ́ láti mọ gbogbo ìṣòro kí ó tó wọ inú ẹ̀ka pàtàkì rẹ.
Ẹ jẹ́ kí a rìn lórí rẹ̀ ní ìgbésẹ̀-lẹ́sẹ̀.
1. Báwo ni a ṣe lè ṣẹ̀dá ẹ̀ka kan ní GitHub ní ọ̀nà tó tọ́
Gbogbo iṣẹ́ ìṣiṣẹ́ tó ní ààbò bẹ̀rẹ̀ nígbà tí o bá ṣẹ̀dá ẹ̀ka kan ní GitHub. Ó ń jẹ́ kí àwọn olùgbékalẹ̀ ya àwọn ẹ̀yà ara, àtúnṣe, tàbí àwọn àdánwò sọ́tọ̀ láìsí ipa lórí kódì ìṣelọ́pọ́ náà.
Lati ṣẹda ẹka kan ni GitHub:
1. Lọ sí ibi ìpamọ́ rẹ
2. Tẹ akojọ aṣayan ẹka
3. Tẹ orukọ ẹka tuntun rẹ sii
4. Tẹ Ṣẹ̀dá ẹ̀ka
Láti ibi, ẹ̀ka tuntun rẹ ti ṣetán láti bẹ̀rẹ̀. O le tẹ koodu sii nisinsinyi, ṣe ifowosowopo lori awọn ayipada, ati nikẹhin ṣii pull requestBó tilẹ̀ jẹ́ pé ìgbésẹ̀ GitHub pàtàkì ni èyí, ó ń ṣètò ìdàgbàsókè tó dájú.
Ni pataki, ni gbogbo igba ti o ba ṣẹda ẹka kan ni GitHub, o yẹ ki o jẹ apakan ti iṣiṣẹ atunṣe ati aabo.
2. Iwoye Pull Requests Laifọwọyi Ṣaaju ki O to Darapọ
Nígbà tí o bá ṣẹ̀dá ẹ̀ka kan ní GitHub tí o sì múra sílẹ̀ fún àtúnyẹ̀wò, ìgbésẹ̀ tó tẹ̀lé ni láti lóye bí a ṣe lè da àwọn ẹ̀ka pọ̀ ní GitHub láìléwu. Ẹ̀ka kọ̀ọ̀kan títẹ̀ GitHub yẹ kí ó fa àwọn àyẹ̀wò aládàáṣe. Ṣùgbọ́n kí ó tó di pé a para pọ̀, ó ṣe pàtàkì láti daju ti koodu naa ko ṣe afihan awọn ailera. Ẹyọ kan ti ko ni aabo commit le ṣafihan ohun elo rẹ, leak secrets, tabi fọ awọn amayederun pataki.
Ṣíṣe àfikún kódì sínú ẹ̀ka pàtàkì rẹ jẹ́ iṣẹ́ tó lágbára gan-an. Láìsí àyẹ̀wò tó péye, ó lè yọrí sí àwọn àbájáde tó burú bíi:
- Odo-ọjọ vulnerabilities gídígbò sínú iṣẹ́-ṣíṣe
- Ti a mọ Awọn CVE a ṣe afihan nipasẹ awọn package orisun ṣiṣi
- Àwọn àṣírí tí a fi àmì sí ti a ti gbe lọ si ibi ipamọ
- Àṣìṣe ètò-ẹ̀rọ tí ó ń dín agbára ìgbèjà rẹ kù
- Koodu ibi tabi ti a ti bàjẹ́ titẹ nipasẹ awọn igbẹkẹle
Ibí ni Xygeni ti ṣe iyatọ gidi
Nipa lilo Awọn iṣe GitHub, o le fa okunfa Àwọn àyẹ̀wò Xygeni aládàáṣe nígbàkúgbà tí olùgbékalẹ̀ bá ṣí pull request sínú ẹ̀ka tí a dáàbò bò. Ẹ̀ka tí a dáàbò bò ní GitHub jẹ́ èyí tí ó nílò àwọn àyẹ̀wò tàbí ìfọwọ́sowọ́pọ̀ pàtó kí a tó gba ààyè láti dapọ̀.
Xygeni ṣe àtúpalẹ̀ ìṣe tuntun ti pull request bisesenlo láti fìdí ipò ààbò ti àwọn àtúnṣe tí a gbèrò múlẹ̀ múlẹ̀. Èyí ní nínú ṣíṣàyẹ̀wò fún Àwọn ọ̀ràn nínú kódì náà, àwọn ìgbẹ́kẹ̀lé, àṣírí, àti CI/CD awọn atuntoA kò tún ṣe àyẹ̀wò ẹ̀ka gbogbo náà, ṣùgbọ́n àbájáde iṣẹ́ tuntun ni a lò láti fi ipa mú àwọn ìlànà ṣẹ àti láti dènà àwọn ìṣọ̀kan tí kò ní ààbò.
Àwọn àyẹ̀wò wọ̀nyí fìdí rẹ̀ múlẹ̀ pé kódù náà ní ààbò àti pé ó ti ṣetán láti ṣe é. Wọ́n ń ṣàwárí:
- Àwọn àìlera koodu (SAST)
- Àwọn àkójọ orísun ṣíṣí tí ó lè farapa (SCA)
- Àwọn àṣírí tí a fi àmì sí
- IaC misconfigurations
- Malware ti o ṣeeṣe
Ṣiṣẹpọ awọn iṣayẹwo wọnyi ni kutukutu rii daju pé nígbàkúgbà tí o bá ṣẹ̀dá ẹ̀ka kan ní GitHub tí o sì múra láti darapọ̀, o ṣe é pẹ̀lú kikun hihan ati iṣakoso.
Eto ti o rọrun kan niyi:
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. Dínà Àìléwu Dárapọ̀ mọ́ Guardrails
Guardrails, rí i dájú pé nígbà tí o bá ṣẹ̀dá ẹ̀ka kan ní GitHub tàbí tí o bá gbìyànjú láti da àwọn ẹ̀ka pọ̀ ní GitHub, àwọn àyípadà tó dájú nìkan ló dé ibi tí ẹ̀ka GitHub rẹ wà. Xygeni fún ọ ní iṣakoso kikun lori ohun ti a parapọO le ṣalaye precisÀwọn òfin tí a ṣe àgbékalẹ̀ rẹ̀ gẹ́gẹ́ bí ìlànà ààbò àti ìfaradà ewu rẹ. Fún àpẹẹrẹ:
- Dínà tí ó bá jẹ́ àṣírí pàtàkì a rí (fún àpẹẹrẹ, àwọn kọ́kọ́rọ́ AWS, àwọn àmì)
- Kùnà ìkọ́lé náà ti o ba ti a ewu giga tuntun a ṣe afihan package orisun ṣiṣi
- Kọ pull requests ti ṣe àtúnṣe àwọn ipa ọ̀nà tó ṣe pàtàkì bi
.github/workflows/,infrastructure/, tabisecrets.env - Dènà ìṣọ̀kan ti o ba ti a ìfàsẹ́yìn padà sípò mọ awọn iṣedede
- Àkọsílẹ CI/CD iṣeto ni ayipada ayafi ti a ba fi aami si ni deede
- Dá ìṣọ̀kan dúró tí ó bá jẹ́ pé SAST ṣe awari giga tabi lominu ni awon oran
- Lo diẹ sii ti o muna ju Guardrails lórí àwọn ẹ̀ka iṣẹ́-ṣíṣe lakoko ti o n ṣetọju irọrun ninu idagbasoke
Àwọn òfin wọ̀nyí ń ṣiṣẹ́ gẹ́gẹ́ bí àwọn olùṣọ́nà aládàáni. Wọ́n ń ran ẹgbẹ́ rẹ lọ́wọ́ láti so ohun tó wà ní ààbò pọ̀, kò sí ìyàlẹ́nu, kò sí àtúnyẹ̀wò ọwọ́, kò sí ìjà iná ní ìṣẹ́jú ìkẹyìn.
Àpẹẹrẹ òfin ààbò:
guardrail block_critical_secrets on secrets when severity = critical then @fail() Àbájáde ojú nínú Dashboard
Láti rí i dájú pé a rí i dáadáa, Xygeni fi àbájáde ìṣàyẹ̀wò tuntun nípa ipò Guardrail hàn.
- A la koko, àmì aláwọ̀ ewé túmọ̀ sí pé gbogbo ìlànà tí a gbé kalẹ̀ ni a ti fọwọ́ sí.
- Ni ifiwera, àmì pupa kan ń fi hàn pé wọ́n rú òfin kan tàbí jù bẹ́ẹ̀ lọ ti Guardrail.
Nítorí náà, àwọn olùgbékalẹ̀ àti àwọn ẹgbẹ́ ààbò ní òye lẹ́sẹ̀kẹsẹ̀ nípa ìdí tí wọ́n fi dí ìṣọ̀kan kan, láìsí wíwá sínú àwọn àkọsílẹ̀ CI.
Àpẹẹrẹ gidi láti inú Dashboard:
Fún àpẹẹrẹ, Jẹ́ ká sọ pé ibi ìpamọ́ kò ní àwọn ẹ̀ka tí a dáàbò bò, àṣìṣe tí ó wọ́pọ̀ tí ó ń jẹ́ kí àwọn olùgbékalẹ̀ lè tì commitláìsí ìfìdí múlẹ̀. Ewu ńlá ni èyí.
Xygeni ṣàwárí èyí láìfọwọ́sí àti ṣàmì sí i gẹ́gẹ́ bí ti fọwọ́ sí_commits oro labẹ CI/CD ẹka. Awọn dashboard awọn ifojusi:
- Buru: ga
- iru: wole Commits
- alaye: Ibi ipamọ naa ko ni awọn ẹka ti o ni aabo
- ipo: Open
Nítorí náà, pẹ̀lú àwọn ìdáhùn tó kún fún àkójọpọ̀ yìí, àwọn ẹgbẹ́ lè tètè mọ ewu náà, kí wọ́n lóye ipa rẹ̀, kí wọ́n sì gbé ìgbésẹ̀ àtúnṣe, gbogbo rẹ̀ láti inú Xygeni UI.
Ṣe Ìwà Amúniṣe
O wa ni iṣakoso nigbagbogbo. Yan bi o ṣe le to Guardrails yẹ ki o wa:
--fail-on=critical: Àkọsílẹ̀ náà máa ń para pọ̀ lórí àwọn àwárí tó le koko nìkan--never-fail: Run Guardrails ni ipo gbigbẹ lati ṣe idanwo awọn eto imulo ṣaaju ki o to fi agbara mu
Nítorí náà nígbà míì tí o bá ṣẹ̀dá ẹ̀ka kan ní GitHub, ìwọ Guardrails ti wa nibẹ tẹlẹ, n daabobo tirẹ pipeline àti fífi àwọn ìlànà rẹ múlẹ̀ láìfọwọ́sí.
Báwo ni mo ṣe lè mọ̀ bóyá ohun èlò GitHub kan wà ní ààbò?
Kọ ẹkọ bi o ṣe le ṣe ayẹwo Awọn Ohun elo GitHub ṣaaju fifi wọn sii.
4. Fagilee Iṣọpọ ninu GitHub Laifọwọyi Nigbati A Ba Ri Awọn Ewu
Tí a bá rí ewu, a ó fagilé ìdàpọ̀ náà. Ààbò yìí ń dáàbò bo gbogbo ẹ̀ka iṣẹ́ GitHub, ó sì ń fi àwọn ìlànà tó dára jùlọ múlẹ̀ lórí bí a ṣe lè so àwọn ẹ̀ka pọ̀ ní GitHub.
Xygeni ṣepọ taara sinu UI GitHub. Nigbati a ba rii eewu kan:
- GitHub fihan pe ayẹwo naa kuna
- Àwọn ààbò GitHub ń dí ìdàpọ̀ náà lọ́wọ́
- Ìlà ìdàpọ̀ náà fo koodu àìní ààbò
Yálà ó jẹ́ àṣírí, CVE, tàbí ewu CI/CD àpẹẹrẹ náà, àbájáde náà jẹ́ kan náà: a fagilee apapọ ni GitHub a sì ṣe àmì sí i fún àtúnyẹ̀wò.
O tun le wo awọn abajade alaye ni Xygeni:
- Ipo aabo ti ẹka kọọkan
- Ìdí tí wọ́n fi dí ìṣọ̀kan kan lọ́wọ́
- Ìtàn ìwòran pípé
- Ipo aabo ti a fihan nipasẹ awọn aami alawọ ewe (kọja) tabi pupa (kuna) ninu oju-iwe iṣẹ akanṣe naa
Àbájáde ìwòran yìí mú kí ó rọrùn fún àwọn olùgbékalẹ̀ àti àwọn ẹgbẹ́ ààbò láti gbé ìgbésẹ̀ pẹ̀lú ìgboyà. Nígbà tí o bá sì nílò àyíká tó jinlẹ̀, gbogbo ọ̀ràn náà so pọ̀ mọ́ ìwé àkọsílẹ̀ pẹ̀lú bí ó ṣe le tó, àmì, ibi tí ó wà, àti ìtọ́sọ́nà ìdínkù.
Tldr Dapọ Nikan Ohun ti o wa ni ailewu
Láti ṣàkópọ̀, èyí ni bí a ṣe lè darapọ̀ mọ́ ara wa láìléwu lẹ́yìn tí a bá ti ṣẹ̀dá ẹ̀ka kan ní GitHub:
- Ṣẹda ẹka kan ni GitHub nipasẹ UI
- Ṣe okunfa awọn ayẹwo laifọwọyi pẹlu gbogbo pull request pẹ̀lú Xygeni
- Dínà àwọn ìṣọ̀kan àìní ààbò nípa lílo Guardrails
- Lo awọn eto imulo ayẹwo apa olupin fun iṣakoso jinle
- Fagilee apapọ ninu GitHub nigbati nkan ba kuna
- Ṣe àfihàn gbogbo àwọn àbájáde nínú Xygeni's dashboard
Fun awọn iṣe ti o dara julọ afikun lori aabo ibi ipamọ, ka wa Awọn Ibeere Ibeere lori Aabo GitHub: Ohun ti Olugbese Gbogbo Ogbontarigi Yẹ Ki O Mọ.
Bó tilẹ̀ jẹ́ pé ìṣọ̀kan jẹ́ iṣẹ́ pàtàkì, ṣíṣe é láìsí ewu nílò ìrísí gidi àti ìṣiṣẹ́ aládàáṣe. Pẹ̀lú Xygeni, kìí ṣe pé o kàn da kódì pọ̀ nìkan ni, o da ìgbẹ́kẹ̀lé pọ̀.
Dabobo gbogbo eka GitHub pẹlu igboiya
Ọ̀rọ̀ kan tí a kò gbójú fo nínú pull request le ba ẹka akọkọ rẹ jẹ. Awọn ẹrọ atẹwe aṣa nigbagbogbo ma n pẹ ju, wọn ma n padanu awọn ewu pataki, tabi kuna lati fi awọn ilana ti o ni itumọ mu.
Ìdí nìyẹn tí dídáàbòbò ẹ̀ka GitHub rẹ fi gba ju wíwò lásán lọ.
Xygeni pese imuṣẹ gidi. Nigbati a pull request fojusi ẹka ti o ni aabo, Xygeni ṣe itupalẹ ipaniyan tuntun ti rẹ CI/CD Ìṣiṣẹ́. Kò tún ṣe àyẹ̀wò gbogbo ẹ̀ka náà. Dípò bẹ́ẹ̀, ó ń ṣe àyẹ̀wò àwọn àbájáde tuntun láti ṣàyẹ̀wò àwọn ọ̀ràn ààbò nínú kódì, àwọn ìgbẹ́kẹ̀lé, àwọn àṣírí, àti àwọn ìṣètò iṣẹ́. Kì í ṣe pé wọ́n ń kìlọ̀ fún ọ nìkan ni. A dáàbò bò ọ́.
Kini o jẹ ki o yatọ:
- Ìfìdí múlẹ̀ ní kíkún lórí ìṣàfihàn: Guardrails fipá mú ìlànà náà nípa lílo àyíká ọ̀rọ̀ tó dára bíi bí ó ṣe le koko tó, bí a ṣe lè lo nǹkan, àti ìwọ̀n àkójọpọ̀ ẹ̀ka.
- Ìṣọ̀kan GitHub tí a ṣe sínú rẹ̀: Gbogbo nǹkan láti ìṣàyẹ̀wò sí ìfìdí múlẹ̀ ń ṣiṣẹ́ ní àdúgbò nínú àwọn iṣẹ́ GitHub rẹ, láìsí àìní fún àwọn ìwé àfọwọ́kọ tàbí kódì ìfọwọ́kọ.
- Awọn ayẹwo ẹgbẹ olupin: Olupin-ẹgbẹ Guardrails Jẹ́rìísí àwọn àbájáde lẹ́yìn ìgbéjáde, nípa fífi ìpele kejì ti ìṣàkóso kún níta pipeline.
Dípò kí o gbẹ́kẹ̀lé ètò CI rẹ láti mú ohun gbogbo, Xygeni lo ìlànà aládàáṣe, tí ó dá lórí ìlànàcisàwọn ions kí ohunkóhun tó dé ẹ̀ka pàtàkì rẹ.
Bó tilẹ̀ jẹ́ pé ìṣọ̀kan jẹ́ iṣẹ́ pàtàkì, ṣíṣe é láìsí ewu nílò ìrísí gidi àti ìṣiṣẹ́ aládàáṣe. Pẹ̀lú Xygeni, kìí ṣe pé o ń dáàbò bo ibi ìpamọ́ rẹ nìkan ni, o ń dáàbò bo gbogbo ẹ̀ka GitHub pẹ̀lú ìgboyà.




