O le aʻoaʻoina o le auala e fatu ai se lālā i le GitHub o le laʻasaga muamua lea. Peitaʻi, o le aʻoaʻoina o le auala e tuʻufaʻatasia ai lālā i le GitHub ma le saogalemu e taua tele mo lālā uma. GitHub faiga o galuega. O lea la, i lenei pou, o le a matou taiala oe i le faagasologa atoa, e amata i le auala e fatuina ai se lala i le GitHub ona fa'aali atu lea ia te oe auala e tu'ufa'atasia ai lala i le GitHub saogalemu. O le a matou talanoaina foʻi le auala e faʻaleaogaina ai se tuʻufaʻatasiga pe a e maua ni faʻafitauli, ma le mea mulimuli, le auala e mafai ai e Xygeni ona fesoasoani ia te oe e puʻe faʻafitauli uma aʻo leʻi oʻo atu i lau lala autu.
Se'i o tatou savalia lea laasaga i lea laasaga.
1. Auala e Fausia ai se Lālā i le GitHub i le Ala Sao
E amata galuega fa'atino saogalemu uma pe a e faia se lala i le GitHub. E mafai ai e le au atia'e ona vavae'ese foliga, fa'asa'oga, po'o fa'ata'ita'iga e aunoa ma le a'afia ai o le code o le gaosiga.
Ina ia fatuina se lala i le GitHub:
1. Alu i lau nofoaga e teu ai oloa
2. Kiliki le lisi o le filifiliga o lala
3. Taina le igoa o lau lala fou
4. kiliki Fausia se lala
Mai iinei, ua sauni lau lala fou e fa'aaoga. Ua mafai nei ona e fa'alauiloa le code, galulue fa'atasi i suiga, ma iu ai ina tatala se pull requestE ui o se gaioiga faigofie lea a le GitHub, ae ua saunia ai le tulaga mo le atinaʻeina saogalemu.
E tāua tele, o taimi uma e te faia ai se lālā i le GitHub, e tatau ona avea ma vaega o se faiga o galuega e mafai ona toe faia ma puipuia.
2. Vailiili Pull Requests Otometi A'o Le'i Tuufaatasia
A e faia se lālā i le GitHub ma sauniuni mo le iloiloga, o le isi laasaga o le malamalama lea i le auala e tuufaatasia ai lālā i le GitHub ma le saogalemu. O tuleiga uma o lālā i le GitHub e tatau ona faʻagaoioia ai siaki otometi. Ae aʻo leʻi tuufaatasia, e taua tele le faʻamaonia lea e le o faʻalauiloaina mai e le tulafono ni vaivaiga. E le saogalemu se tasi commit e mafai ona faʻaalia lau talosaga, leak secrets, pe fa'aleagaina atina'e taua.
O le tu'ufa'atasia o le code i totonu o lau lala autu o se fa'agaioiga e tele sona a'afiaga. A aunoa ma ni siaki talafeagai, e mafai ona o'o atu ai i ni taunuuga matuia e pei o:
- Fa'aletonu ole aso se'e atu i le gaosiga
- Lauiloa CVEs fa'alauiloa mai e ala i afifi tatala
- Mea lilo fa'amaufa'ailogaina tu'uina atu i le fale teuoloa
- Fa'atulagaga sese o atina'e e fa'avaivaia ai ou puipuiga
- Tulafono fa'aleaga pe fa'aleagaina ulufale atu i mea e faalagolago i ai
O iinei e faia ai e Xygeni se eseesega moni
Faʻaaoga Galue a GitHub, e mafai ona e fa'agaoioia su'esu'ega otometi a Xygeni soo se taimi lava e tatala ai e se tagata atiaʻe se pull request i totonu o se lala puipuia. O se lala puipuia i le GitHub o se tasi e manaʻomia ni siaki poʻo ni faʻatagaga faʻapitoa aʻo leʻi faʻatagaina suiga e tuʻufaʻatasia.
Ua iloiloina e Xygeni le fa'atinoga aupito lata mai o le pull request workflow e faʻamaonia ai le tulaga saogalemu o suiga ua fuafuaina. E aofia ai le siakiina o mataupu i le tulafono, faʻalagolago, mea lilo, ma CI/CD faʻatulagaina. E le toe su'esu'eina le lālā atoa, ae o le i'uga lata mai o le faiga o galuega e fa'aaogaina e fa'amalosia ai tulafono fa'avae ma poloka ai tu'ufa'atasiga e le saogalemu.
O nei su'esu'ega e fa'amaonia ai o le code e saogalemu ma ua sauni mo le gaosiga. Latou te iloa ai:
- Vaivaiga o tulafono fa'akomepiuta (SAST)
- Afifi puna tatala vaivai (SCA)
- Mea lilo fa'amaufa'ailogaina
- IaC fa'atulagaga sese
- Malware e ono tula'i mai
Faʻatasia o nei siaki e faʻamautinoa vave ai o taimi uma e te faia ai se lala i le GitHub ma sauniuni e tuʻufaʻatasia, e te faia i le vaaia atoatoa ma pulea.
O se fa'atulagaga faigofie lenei:
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. Fa'atasi ai ma le Poloka e le Saogalemu Guardrails
Guardrails, ia mautinoa pe a e faia se lala i le GitHub pe taumafai pe faʻapefea ona tuʻufaʻatasia lala i le GitHub, naʻo suiga saogalemu e oʻo atu i lau faʻatulagaga autu o le lala GitHub. E avatu e Xygeni ia te oe pule atoatoa i mea e tu'ufa'atasia. E mafai ona e fa'amatalaina le mua'icistulafono e fa'apitoa mo au faiga fa'avae tau puipuiga ma le onosa'i i tulaga lamatia. Mo se fa'ata'ita'iga:
- Poloka pe afai o se mealilo taua ua maua (e pei o ki AWS, fa'ailoga)
- Le manuia le fausiaina afai a tulaga lamatia fou ua fa'alauiloa mai le afifi tatala
- Tetee pull requests lea suia auala maaleale pei
.github/workflows/,infrastructure/, po osecrets.env - Taofia le tu'ufa'atasia afai a toe fa'aofi mai le fa'aititia o le tulaga iloa vaivaiga
- pupuni CI/CD suiga fetuunaiga se'i vagana ua fa'ailogaina lelei
- Taofi le tu'ufa'atasia pe afai SAST iloa ai le maualuga pe mataupu taua
- Fa'atino ma le fa'aeteete Guardrails i luga o lala gaosiga a'o fa'atumauina pea le fetu'una'i i le atina'e
O nei tulafono e galue e pei o ni leoleo faitotoʻa otometi. Latou te fesoasoani i lau 'au e tuʻufaʻatasia naʻo mea e saogalemu, leai ni mea e ofo ai, leai ni iloiloga faʻatino, leai se tineia o afi i le minute mulimuli.
Faataitaiga o le tulafono o le puipui:
guardrail block_critical_secrets on secrets when severity = critical then @fail() Fa'amatalaga Va'aia i totonu o le Dashboard
Mo le fa'amautinoaina o le va'aia atoatoa, o lo'o fa'aalia mai e Xygeni le i'uga o le iloiloga lata mai o le tulaga o le Guardrail.
- Mea muamua lava, o le faailoga lanumeamata o lona uiga o tulafono uma ua pasia.
- I ata vaaia, o se faailoga mumu e faailoa mai ai ua solia le tasi pe sili atu tuutuuga o le Pa puipui.
O se taunuuga, e vave ona maua e le au atiaʻe ma le 'au puipuiga se malamalamaga i le mafuaʻaga na poloka ai se tuufaatasiga, e aunoa ma le suʻesuʻeina o faʻamaumauga a le CI.
Faʻataʻitaʻiga Moni mai le Dashboard:
Mo se faʻataʻitaʻiga, Seʻi tatou fai atu o se fale teu oloa e leai ni lala puipuia, o se faʻatulagaga sese masani e mafai ai e le au atiaʻe ona tulei commite aunoa ma se fa'amaoniga. O se tulaga lamatia tele lena.
E otometi lava ona iloa ma fa'ailoga e Xygeni lenei mea o se sainia_commits mataupu i lalo o le CI/CD vaega. O le dashboard mea taua:
- Mamafa: maualuga
- ituaiga: Sainia Commits
- Faamatalaga: E leai ni lala puipuia o le fale teuoloa
- Tulaga: tatala
O le mea lea, faatasi ai ma nei manatu faaalia e tele i le anotusi, e mafai e 'au ona vave iloa le lamatiaga, malamalama i lona aafiaga, ma faia ni gaioiga faasa'o, e mai le Xygeni UI.
Customize Amioga Fa'amalosia
E te pulea lava oe i taimi uma. Filifili pe fa'apefea ona fa'amalosi Guardrails e tatau:
--fail-on=critical: E na'o ni fa'ai'uga ogaoga e tu'ufa'atasia ai poloka--never-fail: momoʻe Guardrails i le faiga e fa'ata'ita'i ai tulafono fa'avae a'o le'i fa'amalosia
O lea la, o le isi taimi e te faia ai se lala i le GitHub, o lau Guardrails ua i ai iina, puipuia lau pipeline ma fa'amalosia au tulafono fa'avae e otometi lava.
E fa'apefea ona ou iloa pe saogalemu se polokalama GitHub?
Aoao pe faapefea ona iloilo GitHub Apps a'o le'i fa'apipi'iina.
4. Fa'aleaogaina otometi le tu'ufa'atasia i le GitHub pe a maua ni lamatiaga
Afai e iloa ni tulaga lamatia, e faaleaogaina le tuufaatasia. O lenei puipuiga e puipuia ai galuega faatino uma a le GitHub ma faamalosia ai faiga sili ona lelei i le auala e tuufaatasia ai lala i le GitHub.
E tu'ufa'atasia sa'o Xygeni i le UI a GitHub. A maua se lamatiaga:
- Ua fa'aalia e le GitHub le siaki ua le manuia
- O puipuiga a le GitHub e taofia ai le tu'ufa'atasia
- E faase'e e le fa'asologa o le tu'ufa'atasiga le code e le saogalemu
Pe o se mea lilo, CVE, pe matautia CI/CD mamanu, e tutusa lava le taunuuga: le ua faaleaogaina le tuufaatasiga i le GitHub ma ua fa'ailogaina mo le iloiloga.
E mafai fo'i ona e matamata i fa'ai'uga auiliili i le Xygeni:
- Le tulaga saogalemu o lala taʻitasi
- Aiseā na poloka ai se tuufaatasiga
- Talafa'asolopito atoa o le su'esu'ega
- O le tulaga o le pa puipui o loʻo faʻaalia e ala i ata lanumeamata (pasia) poʻo mumu (le manuia) i le itulau o le poloketi
O lenei fa'amatalaga vaaia e faigofie ai mo le au atia'e ma 'au puipuiga ona faia se gaioiga ma le mautinoa. Ma a e mana'omia se fa'amatalaga loloto, o mataupu ta'itasi e feso'ota'i atu i pepa fa'amaumauga fa'atasi ai ma le ogaoga, pine, nofoaga, ma ta'iala mo le fa'aitiitia o fa'afitauli.
Tldr Merge Na'o le Mea e Saogalemu
I se aotelega, o le auala lea e tuʻufaʻatasia ai ma le saogalemu pe a uma ona e faia se lala i le GitHub:
- Fausia se lala i le GitHub e ala i le UI
- Fa'agaoioia ni su'esu'ega otometi i taimi uma pull request faatasi ai ma Xygeni
- Poloka tu'ufa'atasiga e le saogalemu e fa'aaoga ai Guardrails
- Faaaoga faiga fa'avae o le su'esu'ega i le itu o le 'au'aunaga mo se pulea loloto
- Faaleaogaina le tuufaatasia i le GitHub pe a faaletonu se mea
- Va'ai faalemafaufau i taunuuga uma i le Xygeni's dashboard
Mo nisi faiga sili ona lelei i le puipuiga o fale teu oloa, faitau la matou Fesili e Masani Ona Fesiligia e uiga i le Saogalemu o le GitHub: Mea e Tatau Ona Iloa e Tagata Atiina A'e Uma.
E ui o le tu'ufa'atasia o se fa'agaioiga faigofie, o le faia ma le saogalemu e mana'omia ai le va'aia moni ma le otometi. Fa'atasi ai ma le Xygeni, e te le gata ina tu'ufa'atasia ai le code, ae e te tu'ufa'atasia fo'i le fa'atuatuaga.
Puipui Lālā Ta'itasi o le GitHub ma le Mautinoa
O se mataupu e tasi e le'i amana'iaina i totonu o se pull request e mafai ona fa'aleagaina lau lala autu. E masani ona tuai tele le fa'agaoioiga o masini su'esu'e masani, misia ni tulaga lamatia taua, pe le fa'amalosia ni faiga fa'avae taua.
O le mafuaʻaga lea e sili atu ai le manaʻomia o le puipuia o au lālā i le GitHub nai lo na o le suʻesuʻeina.
E tuʻuina atu e Xygeni le faʻamalosia moni. A. A pull request e taulaʻi i se lala puipuia, e iloilo e Xygeni le faʻatinoga lata mai o lau CI/CD faiga o galuega. E le toe su'esu'eina le lala atoa. Nai lo lea, e iloiloina ai taunuuga lata mai e siaki ai fa'afitauli tau puipuiga i le code, fa'alagolago, mea lilo, ma fa'atulagaga o faiga o galuega. E le gata ina logoina oe. Ua puipuia oe.
O le a le mea e ese ai:
- Fa'amaoniga atoa o le anotusi: Guardrails fa'amalosia tulafono fa'avae e fa'aaoga ai fa'amatalaga mauoa e pei o le ogaoga, fa'aaogaina, ma fa'amatalaga o lālā.
- Feso'ota'iga GitHub ua fausia i totonu: O mea uma mai le su'esu'eina e o'o atu i le fa'amalosia e fa'agaoioia lava i totonu o au galuega faatino a le GitHub, e aunoa ma se mana'omia o ni tusitusiga fa'apitoa po'o se code fa'apipi'i.
- Su'esu'ega a le 'au'aunaga: Itu-aumau Guardrails fa'amaonia taunuuga pe a uma ona lafoina i luga, fa'aopoopo se vaega lona lua o le pulea i fafo atu o le pipeline.
Nai lo le faʻalagolago i lau seti CI e puʻeina mea uma, e faʻaogaina e Xygeni le faʻatulagaina otometi ma faʻavae i luga o tulafono faʻavae.cisions a'o le'i o'o atu se mea i lau lālā autu.
E ui o le tuufaatasia o se galuega faigofie, ae o le faia ma le saogalemu e manaʻomia ai le vaʻaia moni ma le otometi. Faatasi ai ma Xygeni, e te le gata ina puipuia au repo, ae e te puipuia foi lala uma o GitHub ma le mautinoa.




