maphukusi otseguka

Kuteteza Maphukusi Oyipa Otseguka: Kodi (Osagwira Ntchito) Ndi Chiyani?

Iyi ndi gawo lachitatu mu mndandanda wa nkhani za mtundu wofala kwambiri wa ziwopsezo zogulira mapulogalamu: zomwe zimawononga kaundula wa anthu onse gwero lotseguka zigawo za mapulogalamu. Pambuyo pofufuza mu gawo lapitalo "Kufotokozera kwa Maphukusi Oyipa: Kodi Zochitikazo Ndi Ziti?"Momwe anthu oipa amalowetsa khalidwe loipa m'zinthu zatsopano kapena zomwe zilipo kale, tili okonzeka kuvala majekete athu ozimitsa moto ndikuwunika momwe tingaletsere mapulogalamu oipa omwe amaperekedwa mwanjira iyi, kapena, kuthana ndi vuto lalikulu la pa intaneti chifukwa choti tagwiritsa ntchito njira yolakwika."

Akatswiri ambiri odziwa bwino za chitetezo ali ndi malingaliro okhudza momwe angathanirane ndi chiwopsezochi. Tamva oyang'anira chitetezo akunena mosazengereza kuti SCA Zida zimakuuzani kale nthawi yomwe pulogalamu ya phukusi ndi pulogalamu yaumbanda. Kapena kuti zimadalira mapulogalamu odziwika bwino komanso owunikidwa bwino, komwe pulogalamu yaumbanda iliyonse ingapezeke ndikuchotsedwa mwachangu. Amagwiritsa ntchito mitundu yotseguka yaying'ono/yopanda pake kuti apeze zokonza zokha, ndipo ndiyo njira yoyenera komanso yovomerezeka yochepetsera chiopsezo cha kudalira kwa magwero otseguka, potsatira "chigamba msanga, chigamba nthawi zambiri”Mfundo. 

Mu gawo lino, tikambirana chifukwa chake malingaliro awa ndi olakwika, ndi momwe malingaliro olakwika otere akuthandizire kutchuka kwa njira yowukira iyi, komanso chiopsezo chachikulu chomwe mabungwe akukumana nacho. Timaliza ndi zomwe zimagwira ntchito, komanso zomwe ndi khama ndi zinthu zomwe zikuphatikizidwa.

Maganizo Olakwika

Paulendo wathu wokhudzana ndi chitetezo cha mapulogalamu, tinaona njira zowukira zikusintha komanso malingaliro osiyanasiyana ochokera kwa anthu odziwa za chitetezo. Mabungwe nthawi zambiri samamvetsetsa zomwe zimagwira ntchito motsutsana ndi chiwopsezochi, kotero choyamba tiwona zomwe sizigwira ntchito, mwachidule mu mndandanda wotsatirawu, osati wokwanira, wa malingaliro olakwika.

Maganizo Olakwika #1: SCA zida zanena kale za zinthu zoyipa

Poyeneradi! Koma pambuyo pake... Mwina kwachedwa kwambiri ngati chinthucho chinagwiritsidwa ntchito popanga mapulogalamu, ndipo ochita zoipa ayamba kale kugwiritsa ntchito wopanga mapulogalamu kapena CI/CD Wosunga. Zinsinsi mwina zinachotsedwa, pulogalamu yaumbanda yowonjezera idatsitsidwa ndikuyikidwa, ndipo mwina mdaniyo adasuntha mozungulira ndipo adapeza kale mwayi wina wolowera kwina. 

Kusanthula Kapangidwe ka Mapulogalamu (SCAZida za ) zinapangidwa kuti zizindikire zofooka zomwe zingadziwike. Zida zamakono zimagwira ntchito yabwino kwambiri powonjezera chiŵerengero cha phokoso ndi chizindikiro, kudziwa ngati zofookazo zingatheke kapena zingatheke kugwiritsidwa ntchito. Koma sizili zothandiza polimbana ndi pulogalamu yaumbanda yatsopano. Ganizirani za gawo loipa ngati zofooka za tsiku lopanda zero: Pokhapokha ngati khalidwe lake loipa lapezeka, gawolo limanenedwa ku registry yosunga, yomwe pambuyo powunikanso ndi gulu lachitetezo imatsimikiziridwa kuti ndi yoipa ndikuchotsedwa mu registry. [1]

Pa nthawi imeneyo, dziko lapansi (kuphatikizapo SCAs) amadziwa kuti kukhazikitsa kapena kugwiritsa ntchito gawo (kapena mitundu ina ya gawo lomwe lilipo) si chinthu chabwino. Koma apa ndi pamene gawolo silikupezeka kuchokera ku registryKudziwa kuti ndili ndi zofooka m'zigawo za anthu ena, kapena ngakhale zigawo zomwe zidagawidwa m'magulu azinthu zoyipa ndi registry ndikwabwino, koma mwatsoka SCA kapena zida zodziwika bwino zowunikira sizithandiza pankhaniyi. Pokhapokha SCAChida chowunikira /chingadziwitse pasadakhale kuti chinthu china ndi choipa chisanagwiritsidwe ntchito ku bungwe lanu.

Kumbukirani, njira iliyonse yothetsera zinthu zovulaza zomwe zili ndi magwero otseguka iyenera kuzizindikira pouluka, pakati pa nthawi imene gawolo lasindikizidwa mu kaundula ndi nthawi imene gawolo (mtundu) lagwiritsidwa ntchito koyamba ku bungwe lanu. Ndipo zimenezo zikuphatikizapo zigawo zosinthira.  

Lingaliro Lolakwika #2: Kulamulira zolemba zoyika panthawi yomanga kumaletsa machitidwe oyipa kuchokera kuzinthu zotseguka

Oyang'anira ma phukusi osiyanasiyana amapereka kuthekera koyendetsa zolemba (zophatikizidwa mu tarball ya gawo [2]), pazifukwa zomveka, monga kusonkhanitsa zinthu zofunika pa nsanja zosiyanasiyana, kupanga ma code, kapena kuyesa, ndipo tonse tiyenera kudziwa kuti zitha kugwiritsidwa ntchito molakwika ndi ochita zoipa ngati zolemba zoyipa zikuphatikizidwa mu tarball, kapena ngati wowukirayo angapangitse kuti script yoyipa iyende m'malo mwa yabwino.

Podziwa izi, tikhoza kukonza pulogalamu yoyang'anira phukusi kuti isanyalanyaze zolemba. Mwachitsanzo, ndi NPM -osanyalanyaza zolemba mbendera (kapena kalembedwe kake mu .npmrc fayilo) imadumpha zolemba panthawi yokhazikitsa. Izi zitha kuyambitsa mavuto ena chifukwa kuyendetsa zolemba ndizofala m'malo ambiri okhala ndi zachilengedwe: Oyang'anira ma phukusi ena salola ngakhale kuletsa kugwiritsa ntchito zolemba (chidziwitso: yambitsani "Ndi oyang'anira ma phukusi ati omwe salola kuti kuletsa kukhazikitsidwa kwa ma script okhazikitsa?"mu AI yanu yomwe mumakonda). Koma izi siziteteza kawirikawiri (tiyenera kuonetsetsa kuti skip disable configuration ili paliponse). 

Ndipo ngati khalidwe loipa silikupezeka mu zolembedwa zoyika koma mu pulogalamu yoti igwiritsidwe ntchito nthawi yogwiritsira ntchito, njira iyi yokha siititeteza. 

Lingaliro Lolakwika #3: Kuyika ma version pinning kumaletsa zinthu zoyipa kuti zisaikidwe

Pali kusiyana pakati pa kukonza zigamba koyambirira ndi nthawi zambiri ndi mitundu yotseguka (kulola woyang'anira phukusi kuti aziyika zosintha zatsopano zokha ngati zilipo kuti zikonzedwe zachitetezo) ndi kupinikiza mtundu (kukhala ndi kudalira konse kolunjika komanso kosinthika kwa pulogalamu pa mtundu wokhazikika). Mfundo zachitetezo ndizolimba ndipo nthawi zina zimatsutsana, monga momwe zimachitikira ndi "patch early, patch often" ndi "Kukweza sikuyenera kuonedwa mopepuka". Oyang'anira ma phukusi ena amapanga zosintha zokha ndi ma seva osiyanasiyana momwe amalangizidwira. Zabwino ngati mukufunanso kulandira zosintha zoyipa! Inde, zigawo ziyenera kusinthidwa kuti zilandire zokonza zachitetezo zomwe zimatseka zofooka mwachangu momwe zingathere, koma ... musalole woyang'anira ma phukusi kuchita izi zokha.

Lingaliro Lolakwika #4: Kugwiritsa ntchito zigawo zodalirika ndikotetezeka. Mtundu uliwonse woyipa ungapezeke, kuwululidwa ndikuchotsedwa mwachangu.

N’chifukwa chiyani chinthu chodalirika? Mwina chifukwa chakuti ndi chodziwika kwambiri, ndipo anthu ambiri amafufuza zinthu zofooka, anthu ambiri opereka chithandizo chokonza, komanso anthu ambiri osamalira zinthu omwe amafufuza mosamala zonse. pull requestsZoona zake n'zosiyana kwambiri. Zinthu zina zofunika zimasungidwa ndi wopanga mapulogalamu m'modzi wosalipidwa. Ma framework omwe amagwiritsidwa ntchito kwambiri ali ndi anthu ochepa omwe amapereka ndalama nthawi zonse, ndi chiwerengero cha anthu chomwe chikuchepa mofulumira commits pa wosamalira (mapulojekiti otchuka ali ndi anthu ambiri omwe amapereka chithandizo chomwe chimachitika nthawi zina commit ndipo osabwereranso). Ndipo mapulojekiti otchuka okhala ndi wosamalira m'modzi ndi ambiri.

Tangoganizani mukunena "O, tikugwiritsa ntchito zithunzi za Spring Boot / Angular / React / PyTorch / official base Docker, kotero chiopsezo chomwe mukukambachi ndi chochepa kwambiri." Mwina zimenezo n’zoona, ife ogulitsa chitetezo timaopseza anthu nthawi zonse, ndipo kusokoneza magulu opanga chitukuko kuti tichepetse chiopsezo chomwe chingakambidwe ndi zopanda pake. Mungayesedwe kupita ku ndime yovomereza chiopsezo (mu gawo lotsatira) ndipo zonse zatha. Mwatsoka, zigawo zodziwika kwambiri ndi zolinga za ochita zoipa, ndipo mwachitsanzo, otchuka Laibulale ya PyTorch yaukiridwa m'mbuyomu.

"Anapezeka nthawi yomweyo, anaululidwa, ndipo anachotsedwa".  Zimatenga masiku kuti gawo latsopano loipa lichotsedwe mu kaundula wa anthu onse. Ma registration amasamala pochotsa mtundu wa gawo, ngakhale zili choncho. Zomwe takumana nazo n'zakuti nthawi yapakati yomwe registration imachotsa mtundu womwe wakhudzidwa ndi maola 39, kupitirira tsiku limodzi ndi theka. Pali zigawo zoyipa zomwe zimakhala sabata imodzi titapereka lipoti loyamba mu kaundula tisanachotsedwe. Ndipo nthawi zina, gawolo limachotsedwa pokhapokha wozunzidwayo kapena kampani yoyankha pazochitika itanena za chochitika chokhudza gawolo. 

Zomwe Sizigwira Ntchito Polimbana ndi Zigawo Zoyipa

Njira iliyonse yosamveka bwino idzalephera kwambiri. Izi ndi zoona, simukupereka njira zothanirana ndi chiopsezo chokhudzana ndi chiwopsezochi. 

Traditional SCA Zipangizo zimakuuzani za pulogalamu yaumbanda yodziwika koma zili ndi zenera lalikulu lowonera. Pokhapokha ngati akuchita zodziwira pulogalamu yaumbanda mwachangu ndi kutsekereza zinthu zoyipa, sizigwira ntchito motsutsana ndi chiwopsezochi. 

Kuletsa ma script okhazikitsa kungathandize koma kuyenera kutsatiridwa kulikonse komwe gawo likufunika kuyikidwa. Chimodzimodzi ndi kuyika ma version, chifukwa ma version sangaikidwe kuchokera ku secure initial state kwamuyaya.

Kuganiza kuti zinthu zodziwika bwino zimalandira chisamaliro chokwanira kotero kuti sizingalowetsedwe ndi khalidwe losayembekezereka mu kuukira kwa unyolo wopereka popanda kuzindikirika nthawi yomweyo kuti zisawonongeke ndi nkhani yachinyengo komanso yoopsa. Simukufuna kukhala ndi moyo wopanda chiyembekezo, sichoncho?

Ngati muyima pamenepa, ndiye kuti kuvomereza zoopsa chinthu chokhacho chomwe mungachite: Ichi ndi decismfundo zomwe ziyenera kulembedwa mu chitsanzo chanu cha chiwopsezo/kuwunika zoopsa, kuphatikizapo chifukwa chovomereza chiopsezocho ndi zotsatira zake zomwe zingatheke. Limbikitsani anthu powadziwitsa oyang'anira ndi anthu ena ofunikira. zochitika Zingakonzedwe pamene chinthu choipa chaikidwa kapena kuphatikizidwa mu pulogalamu yanu, koma izi n'zovuta chifukwa owukira ali ndi njira zambiri zoti atsatire. Tsatanetsatane wa kuukira kwa unyolo wogulira pogwiritsa ntchito chinthu choipa udzasintha kwambiri kuulula kwa anthu za chochitikacho, zomwe mwina ndizofunikira malinga ndi malamulo a bungwe lanu. Mukhozanso kulankhula za izi zowongolera zolipira or chiopsezo chosamutsa mwachitsanzo ndi inshuwaransi.

Komabe, pali njira zowongolera zomwe zimathetsa chiwopsezo ndipo ziyenera kuganiziridwa ngati simukukhutira ndi kuvomereza chiopsezo. Chonde pitirizani kuwerenga.

Zomwe Zimagwira Ntchito Polimbana ndi Ziwopsezo Pogwiritsa Ntchito Zigawo Zoyipa

Kugwira Ntchito Yolimba

Kuyika ma version bumps olamulidwa bwino komanso odziwitsidwa bwino ndiyo njira yabwino, kuti muchepetse kufunikira kochotsa zofooka popanda kulandira pulogalamu yaumbanda. Koma kumbukirani zolakwika #3: Kuyika ma version okha sikokwanira kuletsa ma code oyipa ochokera ku mitundu yatsopano, chifukwa mudzafunika mtsogolo kusintha ma versions mwanjira iliyonse yodalira mwachindunji kapena mwanjira ina. Panthawi imeneyo mukufunika umboni wamphamvu kuti ma version onse osinthidwa alibe pulogalamu yaumbanda.

Chenjezo Loyambirira

Njira imodzi yothetsera vuto la zinthu zoyipa ndi njira yochenjeza msanga (yotchedwa pano Chenjezo Loyambirira la Malware kapena MEW), komwe mitundu yatsopano yofalitsidwa (ya zigawo zatsopano kapena zomwe zilipo) imasanthulidwa ndi injini yozindikira, yomwe ikapezeka umboni wokwanira ingagawire mtundu watsopanowo ngati womwe ungakhale woipa. 

Kuchita zokha ndikofunikira pano, chifukwa n'zosatheka kuwunikanso magawo atsopano onse pamanja pamlingo wofalitsa womwe ulipo. Chifukwa chake injini yozindikira iyenera kuphatikiza njira zosiyanasiyana, mwina kuphatikiza kusanthula kosasintha, kosinthasintha, ndi kuthekera, mbiri ya ogwiritsa ntchito, ndi umboni wochokera ku kusiyana pakati pa metadata ya gawo ndi zomwe zili mu tarball, kapena pakati pa tarball ndi malo osungira komwe gawolo likuyenera kuti limachokera.

Pali malo amdima pakati pa nthawi yofalitsa ndi nthawi yomwe injini imasanthula zomwe zili mu gawo, koma siziyenera kupitirira mphindi zochepa. Ndondomekoyi ikhoza kusinthidwa, mwachitsanzo poyembekezera kuti zigawo zatsopano zisanthulidwe musanalole kuti ziyikidwe ndikugwiritsidwa ntchito popanga mapulogalamu. pipelines, kapena kuwasanthula ngati pakufunika. Gawo la mtundu wina silingasinthe [3], kotero imafunika kufufuzidwa kamodzi kokha.

Kudziyendetsa nokha kwathunthu sikungatheke, ndipo kuwunikanso chitetezo cha zinthu zomwe zingakhale zoopsa kukufunika. Chenjerani ndi anthu omwe amalimbikitsa njira zamakono zothetsera vutoli: AI ndi Machine Learning sizinapangidwe mokwanira kuti zigwire mawu omaliza pankhani yotsimikizira ngati gawo lokayikiridwa lili ndi pulogalamu yaumbanda. Inde, kuphunzira kwa makina kumachita gawo lofunika kwambiri mu injini yozindikira pogawa gawo lolowera kuchokera ku umboni wosaphika womwe wapezeka, koma gawolo likangoyikidwa "payekha" mawu omaliza amakhala pakuwunikanso kwamanja ndi gulu lachitetezo lomwe lili ndi chidziwitso pazigawo zoyipa. Izi zimatsimikizira pulogalamu iliyonse yaumbanda kapena kuyiyikanso m'gulu lotetezeka. Ndipo nthawiyo ili mu maola angapo. 

Kaundula amalemba lipoti la mtundu/chinthu choipa; kenako kaundula amachita ndemanga yake kuti atsimikizire ndikupitiriza kuulula ndi kuchotsa pagulu mu kaundula. Ma kaundula ena amasunga phukusi losungira chitetezo. Nthawi yomwe ili pano ndi masiku kapena masabata kuyambira pomwe kufalitsa, komwe ndi 'khalani nthawi'kapena'zenera lowonetsera' pa zinthu zambiri zoyipa.

Kodi n'zotheka kudziwa ngati mtundu wa chinthu chomwe chili ndi vuto?

Kotero kuti tichenjeze msanga, tiyenera kupereka yankho lokwanira ku funso ili: Ndingadziwe bwanji kuti laibulale kapena phukusi ndi loipa (siloipa)? Kodi ndingasonkhanitse bwanji umboni wokwanira wa khalidwe loipa? N'zotheka, koma n'zovuta, chifukwa adani amagwiritsa ntchito nzeru zambiri kuti apewe kuzindikirika. Pali njira zosiyanasiyana, iliyonse ili ndi zabwino ndi zoyipa.

Kusanthula mosasunthika akhoza kuyang'ana njira zonse zogwiritsira ntchito kuti aone njira zomwe owukira amagwiritsa ntchito popanda kugwiritsa ntchito gawolo, ndikuchita ntchito zokonzekera kale monga kuchotsa kubisa kapena kutanthauzira. Pamene owukira akuyesera kubisa zolakwika zawo, kuyesa kubisa ndi umboni wa pulogalamu yaumbanda (koma dziwani kuti zigawo zovomerezeka zimabisa ma code osungira katundu wanzeru, zomwe zimatsutsana ndi "gwero lotseguka"). Zigawenga zochepa chabe zapamwamba kwambiri zokhala ndi kubisa kwamphamvu zimafunika kubisa mchenga, koma kubisa kwamphamvu koteroko ndi chizindikiro chodziwikiratu cha nkhanza. Dziwani kuti zachikhalidwe SAST Zida zinapangidwira zofooka zosayembekezereka, osati zolinga zoyipa monga zitseko zakumbuyo.

Kusanthula kwamphamvu imayendetsa gawolo ndikuyang'ana yankho pogwiritsa ntchito nthawi yogwiritsira ntchito, nthawi zambiri popereka malo okhala ndi mchenga. Khalidwe loipa lomwe limayamba panthawi zina limatha kupitirira osadziwika: chonde dziwani kuti pulogalamu yaumbanda ingagwiritse ntchito njira zopewera monga Kuzemba kwa Virtualization/Sandbox kuyatsa pokhapokha ngati sikukuyang'aniridwa, komanso chizindikiro chosonyeza kuti pali zinthu zoipa pa injini iliyonse yowunikira yosasintha.

Kusanthula luso imaganizira zomwe gawoli limachita: komwe limalumikizana, mafayilo omwe limafikira, malamulo kapena mapulogalamu omwe amayendetsedwa, terminal kapena chipangizo chomwe I/O imachitikira, kapena mafoni a system omwe amayitanidwa. Kulemba zala kwa khalidweli kungayerekezeredwe (kwa gawo lomwe lilipo) m'mitundu yonse, kotero pamene khalidwe losayembekezereka lapezeka, umboni umenewo ukhoza kuyambitsa kukayikira kwa zochita zoyipa zomwe zingalowe mu mtundu watsopano. Njira iyi imatsatira njira zoyesera zomwe akatswiri achitetezo amatsatira akakumana ndi pulogalamu yaumbanda: kuwunika pogwiritsa ntchito zingwe kapena zida zina zofanana. Njirayi imazindikira khalidwe loipa mosasamala kanthu za zomwe zimayambitsa ndipo imagwira ntchito ngati palibe code yoyambira yomwe ilipo.

Kusanthula nkhani imasonkhanitsa zambiri zokhudza momwe gawoli linafalitsidwira komanso ndi ndani. Ma kampeni a ochita zoipa nthawi zambiri amagwiritsa ntchito akaunti yatsopano ya ogwiritsa ntchito yomwe siimayang'aniridwa mokwanira. Kutsata zomwe zinachitika kale kungapereke chidziwitso kwa wogwiritsa ntchito, makamaka pazinthu zolakwika zomwe zingasonyeze kuti akhoza kusokoneza. Mbiri ndi yovuta kupeza ndipo n'zosavuta kutaya! Wogwiritsa ntchito yemwe alibe zomwe adachita kale salowerera ndale, koma karma imayesetsa kuchita zoipa. Anthu okonda kugwiritsa ntchito ma hacktivists, kapena ogwiritsa ntchito wamba omwe ali ndi ziphaso zawo zofalitsa ayenera kutsatiridwa mosamala.

Chidziwitso china cha nkhani ndi kusiyana kulikonse pakati pa malo osungiramo zinthu omwe akuti amagwiritsidwa ntchito popanga tarball ya gawo ndi zomwe zili mu tarball yokha. Ndipo kutsatiranso machitidwe abwino, monga kupanga ma tag kapena kutulutsa mu malo osungiramo zinthu omwe amafanana ndi mitundu ya gawo lofalitsidwa mu kaundula wa anthu onse. Pamene malo osungiramo zinthu pa malo enaake commit imayikidwa chizindikiro cha kutulutsidwa, kenako mwadzidzidzi mtundu wina umalephera kutsatira, umenewo wokha ndi umboni wamphamvu wakuti gawolo likhoza kukhala loipitsidwa: wochita zoipayo mwina adasokoneza akaunti yomwe imagwiritsidwa ntchito pofalitsa gawolo, koma alibe zilolezo zolembera mu repository ya ma code). Ziwopsezo zambiri zimapezeka nthawi zonse pogwiritsa ntchito malamulo awa: mwachitsanzo, Kuukira kwa Ledger Kusanthula nkhani kungathe kuzindikirika mosavuta motere. Chifukwa chake, kusanthula kwa nkhani kumazindikira zolakwika zotere mu njira yofalitsa.

Kuzimitsa Moto Kodalira

Njira ina ndikukhala ndi mndandanda wathunthu wa zigawo zonse za ma graph odalira omwe amagwiritsidwa ntchito mu pulogalamu yanu, kotero mu kapangidwe kalikonse pipeline Mabaibulo ovomerezeka okha ndi omwe angakhazikitsidwe ndikugwiritsidwa ntchito mu bungwe lanu.makhoma oteteza"" ikugwiritsidwa ntchito pogwiritsa ntchito kaundula wamkati komwe ma tarball a mitundu yololedwa amaperekedwa (osungidwa kapena otetezedwa). Dziwani kuti mndandanda uliwonse wovomerezeka sungagwire ntchito pokhapokha mutakhala ndi ukadaulo wogawa mtundu uliwonse watsopano ngati wotetezeka mokwanira kuti uwonjezedwe ku mndandanda wovomerezeka. 

Dziwani kuti chenjezo loyambirira (kuzindikira mwachangu mwamsanga pambuyo poti buku latsopano latulutsidwa) liyenera kuphatikizidwa ndi njira ina yogwiritsira ntchito chidziwitsocho mwachangu kuti mulepheretse gawo lomwe likukhudza kapangidwe kake. pipelinekapena makina a opanga mapulogalamu [4]Timatcha izi “kuletsa moto": njira yodzipatula yokha yotetezera zomangamanga zodziyimira pawokha ku maphukusi oyipa. Maphukusi amkati ndi zolembetsa zazithunzi ndi zabwino kuteteza mabungwe ku zoyipa zakunja, koma umboni wamphamvu ndi wofunikira kuti kudzipatula kugwire ntchito. 

Masewera a Sandbox a Runtime

Njira ina yodziwira nthawi yofalitsa ndikuwunika momwe zinthu zilili panthawi yogwiritsira ntchito pulogalamuyo. Cholinga chake ndikutenga zomwe zikuyembekezeredwa kuchokera ku pulogalamuyo ndikupeza (kapena kuletsa) zolakwika zilizonse zomwe zapezeka. Njira imeneyi ili ndi vuto loti nthawi yogwiritsira ntchito pulogalamuyo igwiritsidwe ntchito poyang'anira kapena kuletsa, ndipo ndi lingaliro lodalirika lomwe lidzawonjezedwa ku zida zodzitetezera ku tizilombo toyambitsa matenda.

Kukhazikitsa Ndondomeko Yokwanira

Njira yomwe ikulangizidwa iyenera kuphatikiza njira zosiyanasiyana popanga mapulogalamu, kulamulira zosintha za mtundu kuti tiletse zinthu zoyipa zomwe zikubwera. Tiyenera kugwiritsa ntchito kuyika ma version pinning kuti tipewe matenda odziyimira pawokha ndi zosintha za mitundu kuti tipeze zofooka zomwe zili zofunika; kuwunika mwachangu komanso kogwira mtima kwa kudalira mwachindunji komanso mwanjira ina panthawi yosintha mitundu kuti tikhale ndi umboni wokwanira wosonyeza kuti sizili ndi ma malware. Mapangidwe a mapulogalamu omwe amadalira zinthu zoyipa zodziwika ayenera kutsekedwa. Ndipo zonse ziyenera kutsatiridwa.

Gwiritsani ntchito pini ya mtundu, ngati n'kotheka, chifukwa zimapangitsa kuti zomangira zikhale zobwerezabwereza. Kupina mtundu ndi ma bumps olamulidwa, ovomerezeka ndi manjandipo mothandizidwa ndi ukadaulo wothandizira, ayenera kuwunika ngati zosinthazo zikubweretsa pulogalamu yaumbanda kapena kuswa pulogalamuyo, ndikugwirizanitsa zosintha kuti zithetse mavuto ndi kupewa matenda aumbanda. Kugwiritsa ntchito zida kungathandize apa, mwa (1) kuyika patsogolo zovuta zomwe zili zofunika kwambiri (zomwe zingatheke komanso zomwe zingatheke kugwiritsidwa ntchito, ndi chiopsezo chachikulu choyang'aniridwa ndi owukira), (2) kusankha mitundu yomwe ikugwirizana ndi kagwiritsidwe ntchito ka zigawo zomwe zilipo ndipo sizikuswa pulogalamuyo, (3) kusankha mitundu yomwe ilibe machitidwe oyipa, ndi (4) kupanga kusintha kwa mtunduwo kuti ukhale wodalira mwachindunji komanso mosalunjika, popereka malingaliro osintha mafayilo a manifest omwe angavomerezedwe mwachangu. Gawo (3) likufunika chidziwitso chapadera chokhudza zigawo zoyipa pafupi ndi nthawi yawo yofalitsa momwe zingathere.

Njira iyi yosinthira zodalira iyenera kukhala akulimbikitsidwa ndi kutsimikiziridwa m'malo onse. Njirayi iyenera kulembedwa, ndipo onse omwe akukhudzidwa ayenera kuphunzitsidwa, chifukwa nthawi zambiri kupanga ndi kupanga mapulogalamu/kutumiza mapulogalamu kumachotsedwa. CI/CD pipelines iyenera kusinthidwa moyenerera, kotero kuti automation simalola kudalira kolakwika kosalunjika kulowa mu nyumbayo: guardrails Kuletsa kumanga ngati pali umboni wokwanira wa pulogalamu yaumbanda yomwe ingakhalepo pa intaneti ndiyo njira yabwino yogwiritsira ntchito. 

Ngati bungwe lanu lili ndi kaundula wamkati womwe umagwira ntchito ngati wothandizira chitetezo posunga mitundu yololedwa ya zigawo, muyenera kupeza chidziwitso pa zigawo zoyipa (kupatula zina) kuti mufufuze gawo lomwe mwapempha musanaliwonjezere pamndandanda wazinthu zomwe mukufuna. 

Kugwiritsa ntchito mapulogalamu otseguka ndi chitetezo sikophweka, ndipo vuto la pulogalamu yaumbanda liyenera kuganiziridwa mokwanira, ndi khama lofananalo liyenera kuchitidwa pothana ndi mavuto.

Chidziwitso chomaliza: Chiyambi cha magwero, mu mawonekedwe a mapulogalamu otsimikizira, opangidwa panthawi yomanga gawo, ndi gawo lina lofunika kwambiri pakuyesa kutsata chinthu chopangidwa (component tarball) ndi magwero ndi njira yomangira yomwe idapanga. Dziwani kuti kulumikizana kumeneku pakati pa chithunzithunzi cha gwero + malo omangira ndi pulogalamu yogwirizana nayo (yosainidwa ndi makina odalirika omangira) sikuletsa kuti gawolo lisakhale ndi machitidwe oipa, koma kumapangitsa kuti zikhale zovuta kwa anthu oipa kuyika pulogalamu yaumbanda. Ndipo kupanga kutsimikizika kwa chiyambi kukhala chinthu chofunikira chogwiritsidwa ntchito pakugwiritsa ntchito zigawo zotseguka kumatenga nthawi yayitali, ndipo kokha posachedwapa yawonjezeredwa ku NPMKupanga makina odalirika omangira ndi kuyika zinthu kuti asasokonezedwe, kapena kulola kuti pakhale kusokoneza kulikonse mu kapangidwe kake ndi nkhani yosiyana, yomwe siili yofanana ndi nkhani ya positi iyi. 

Kuwerenga kwina

Gawo lotsatira Maphukusi Oyipa Otseguka: Njira ya Xygeni adzapereka njira yomwe timatsatira ku Xygeni pa ntchito yathu Chenjezo Loyambirira la Malware (MEW). Mabaibulo atsopano a phukusi mu phukusi la anthu onse ndi zolembetsa za zithunzi amasakidwa ndipo umboni umapezeka pogwiritsa ntchito kuphatikiza kwa kusanthula kosasintha, kosinthasintha, kuthekera, ndi momwe zinthu zilili. Umboni, wophatikizidwa ndi mbiri ya ogwiritsa ntchito komanso mbiri ya kusintha kwa malo osungira ma code, umalola kuti gawo lokhalo ligawidwe m'magulu omwe ali pachiwopsezo chachikulu komanso mwina oopsa. Dongosololi limaphunzira kuchokera ku umboni wakale womwe wasonkhanitsidwa kuchokera m'maphukusi kuti achepetse zabwino zabodza. 

Mabungwe olembetsedwa amalandira chenjezo la zigawo zomwe akugwiritsa ntchito, mwachindunji kapena mwanjira ina, pamene mtundu woipa wagawidwa m'magulu. Kenako akatswiri athu amafufuza pamanja, zomwe zimatsimikizira kapena kukana kugawa. Pa pulogalamu yaumbanda yotsimikizika, kaundula wa anthu onse amadziwitsidwa kuti athe kuchita kusanthula kwake ndipo nthawi zambiri amachotsa mtundu woipa kapena kuchitapo kanthu kena, monga kuletsa kapena kuchotsa akaunti ya wogwiritsa ntchito yomwe ikukambidwa.

Tidzafotokoza momwe tikuthandizira NPM, PyPI, GitHub, ndi zina zofunika kwambiri mu malo otseguka kuti achepetse nthawi yomwe gawo latsopano loipa lomwe limafalitsidwa limakhalabe likugwira ntchito mpaka litatsimikizika kuti ndi pulogalamu yaumbanda ndikuchotsedwa mu registry. Ndipo momwe mabungwe angapindulire ndi dongosolo la MEW kuti akhale ndi chitetezo chabwino kwambiri ku ziwopsezo za mapulogalamu okhudzana ndi zigawo zotseguka.

  • [1] Mulimonsemo, ogwiritsa ntchito gawoli ayenera kuwona ngati tarball ya gawoli yasungidwa kapena yalembetsedwa kwinakwake, mwachitsanzo mu registry yamkati, kuti matendawa athe.
  • [2] Gawo lopakidwa limaphatikizapo manifest yomwe imalengeza zomwe zili mkati mwake ndi metadata, source kapena compiled code, installation scripts, ndi zinthu zina monga test suites, malinga ndi mtundu wa ma CD ndipo nthawi zambiri zimakhala mu mawonekedwe opanikizika. Izi zimatchedwa "component tarball".
  • [3] Ngakhale wochita zoipa atatha kusintha gawo lofalitsidwa chifukwa cha kuphwanya mu registry yokha, cryptographic digest yakale imatha kuzindikira kusintha kulikonse mu tarball pambuyo poti kusanthula kwachitika.
  • [4] Kumbukirani kuti zigawo zina zoyipa zimagwira ntchito nthawi yokhazikitsa, kotero zimatha kukhudza ma node opanga mapulogalamu omwe mosadziwa amayendetsa "npm install X" ndi X gawo loipa.  

Ma phukusi owopsa a Open Source: Vuto

Kufotokozera kwa Maphukusi Oyipa: Kodi Zochitikazo Ndi Ziti?

zida-zowunikira-mapulogalamu-opanga-zida-za-sca
Konzani, konzani, ndikuteteza zoopsa za pulogalamu yanu
Pezani Akaunti Yanu Yaulere.
Palibe kirediti kadi yomwe ikufunika.

Chitetezo pa Kupanga ndi Kutumiza Mapulogalamu Anu

ndi Xygeni Product Suite