TL. DR
Shai-Hulud 3.0-ը shai-hulud npm վնասակար ծրագրի վերջին զարգացումն է, որը… ինքնաբազմացող մատակարարման շղթայի որդ npm փաթեթների չարաշահում՝ մուտքային տվյալները գողանալու, ավտոմատ կերպով տարածելու և վտանգի ենթարկելու համար CI/CD միջավայրեր: Նախորդ ալիքներից տարբերվող Shai-Hulud 3.0-ը կատարելագործում է իր տարածման տրամաբանությունը, թիրախավորում է հայտնի առջևի գրադարանները և արագացնում է վարակը պահպանողի տոկենների չարաշահման միջոցով:
Արդյունքում, այս shai-hulud վնասակար ծրագիրը ևս մեկ անգամ ապացուցում է, որ ժամանակակից npm մատակարարման շղթայի հարձակումները այլևս չեն հիմնվում զրոյական օրերի, այլ ավտոմատացման, վստահության չարաշահման և մշակողների աշխատանքային հոսքերի վրա։
Ի՞նչ է Շայ-Հուլուդ 3.0-ը։
Shai-Hulud 3.0-ը shai-hulud npm վնասակար ծրագրի երրորդ հաստատված ալիքն է, որը հաջորդում է Shai-Hulud սկզբնական որդին և Shai-Hulud 2.0-ի լայնածավալ բռնկմանը։
Սակայն այս տարբերակը չի ներկայացնում արմատապես նոր շահագործում։ Փոխարենը, այն բարելավում է արդյունավետությունը, գաղտնիությունը և թիրախավորումը։ Այլ կերպ ասած, Shai-Hulud 3.0-ը օպտիմալացնում է մատակարարման շղթայի հարձակման մոդելը, այլ ոչ թե վերափոխում այն։
Ամենակարևորը, վնասակար ծրագիրը շարունակում է գործել որպես որդ, այլ ոչ թե որպես միանգամյա վնասակար փաթեթ։
Ինչու է Shai-Hulud 3.0-ը կարևոր npm անվտանգության համար
Առաջին հայացքից Shai-Hulud 3.0-ը կարող է թվալ «պարզապես ևս մեկ վնասակար npm փաթեթ»։ Այնուամենայնիվ, հենց այդ ենթադրությունն է պատճառը, որ այս արշավը հաջողության է հասնում։
Քանի որ npm էկոհամակարգերը մեծապես կախված են հետևյալից.
- անուղղակի վստահություն
- ավտոմատացված տեղադրումներ
- պահպանողի լիազորագրեր
- CI/CD pipelines
Մեկ խախտված թոքենը կարող է արագորեն վերածվել NPM մատակարարման շղթայի ամբողջական վնասակար ծրագրերի բռնկման։
Արդյունքում, shai-hulud վնասակար ծրագիրը շահագործման կարիք չունի։ Այն զենք է դարձնում սովորական աշխատանքային հոսքերը։
Shai-Hulud 3.0 հարձակման վեկտոր. Ինչպես է տարածվում npm վնասակար ծրագիրը
Սկզբնական վարակը վնասակար npm փաթեթի միջոցով
Shai-hulud npm վնասակար ծրագիրը էկոհամակարգ է ներթափանցում օրինական կամ վարակված պահպանողների հաշիվների ներքո հրապարակված տրոյանացված փաթեթների միջոցով։
Shai-Hulud 3.0 ալիքում հետազոտողները դիտարկել են վարակը հայտնի կախվածությունների միջոցով, այդ թվում՝ առջևի մասում կողմնորոշված փաթեթների միջոցով, ինչպիսիք են՝
Քանի որ այս փաթեթները կախվածության գրաֆիկներում բարձր տեղ են գրավում, մեկ տեղադրումը արագ տարածվում է տարբեր նախագծերում։
Հավաստագրերի հավաքագրում և որդերի բազմացում
Տեղադրվելուց հետո, Shai-Hulud 3.0-ը կատարում է վնասակար կյանքի ցիկլի սկրիպտներ install or postinstall.
Այս փուլում վնասակար ծրագիրը՝
- սկանավորում է տեղական ֆայլերը և միջավայրի փոփոխականները
- արդյունահանում է npm տոկեններ և GitHub-ի մուտքային տվյալներ
- նույնականացնում է հասանելի պահոցներն ու փաթեթները
Հետևաբար, վարակը անմիջապես անցնում է տեղական փոխզիջում դեպի էկոհամակարգի լայն տարածում.
Ավտոմատացված վերահրատարակում կառավարչի պորտֆելներում
Հավաստագրերը հավաքելուց հետո, shai-hulud npm վնասակար ծրագիր ծրագրային կերպով թվարկում է վարակված պահպանողին պատկանող բոլոր փաթեթները։
Ապա, այն՝
- վնասակար կոդ է ներարկում նոր տարբերակների մեջ
- վերահրատարակում է այդ տարբերակները ավտոմատ կերպով
- յուրաքանչյուր զոհը վերածում է նոր բաշխման կետի
Որպես արդյունք, Մեկ գողացված թոքենը կարող է վարակել տասնյակ կամ հարյուրավոր npm փաթեթներ մի քանի ժամվա ընթացքում.
Շայ-Հուլուդ 3.0 ընդդեմ նախորդ ալիքների
Ի՞նչ է փոխվել Shai-Hulud 3.0-ում։
Չնայած հիմնական մեխանիզմները մնում են ծանոթ, Շայ-Հուլուդ 3.0 ներկայացնում է մի քանի կարևոր բարելավումներ։
Առավել նշանակալից է.
- ավելի արագ տարածման տրամաբանություն
- ավելի մաքուր բեռնատար կառուցվածք
- ավելի լավ համադրություն օրինական փաթեթների թարմացումների հետ
- Շայ-Հուլուդի համեմատ աղմուկի նվազում 2.0
Հետևաբար, միայն հեղինակության կամ CVE-ների վրա հիմնված հայտնաբերումը դառնում է անարդյունավետ։
| Կերպարանք | Շայ-Հուլուդ 2.0 | Շայ-Հուլուդ 3.0 |
|---|---|---|
| Սկզբնական վարակի վեկտոր | Վնասակար npm փաթեթներ՝ նախնական տեղադրման կենսական ցիկլի սկրիպտներով | Վնասակար npm փաթեթներ, որոնք չարաշահում են վստահելի բարձր տեսանելիության գրադարանները և թարմացման ուղիները |
| առաջնային թիրախ | npm էկոհամակարգ և CI/CD pipelines | npm էկոհամակարգ՝ կենտրոնանալով մշակողների մեքենաների և ներքևի սպառողների վրա |
| Տարածման մեխանիզմ | Հավատարմագրերի գողություն, որին հաջորդում է փաթեթների ավտոմատ վերահրապարակումը | Հավատարմագրերի վերօգտագործում և կախվածության վստահության չարաշահում՝ ավելի արագ հասանելիություն ընդլայնելու համար |
| Գործողության ընթացքում չարաշահում | Bun-ի գործարկման ժամանակի արագ տեղադրում | Node.js-ի գործողության և վստահելի կատարման ուղիների վերօգտագործում |
| CI/CD չարաշահում | Թաքնված GitHub գործողությունների աշխատանքային հոսքեր և ինքնուրույն հոսթինգային վազորդներ | Կրճատվել է CI/CD աղմուկ, ավելի շատ շեշտը փաթեթների մակարդակի գաղտագողի կատարման վրա |
| Օգտակար բեռի վարքագիծ | Մեծ, խճճված JavaScript բեռներ և միջավայրի սկանավորում | Ավելի փոքր, ավելի նպատակային բեռներ, որոնք կենտրոնացած են կայունության և տարածման վրա |
| Հավատարմագրերի թիրախավորում | GitHub տոկեններ, npm տոկեններ, ամպային հավատարմագրեր, CI գաղտնիքներ | Նույն հավատարմագրերի թիրախները՝ ավելի արագ վերօգտագործմամբ և ավելի քիչ տեսանելի արտահոսքով |
| Գործառնական աղմուկ | Շատ աղմկոտ. զանգվածային պահոցների ստեղծում, աշխատանքային հոսքի ներարկում, զանգվածային վերբեռնումներ | Ավելի ցածր աղմուկ. ավելի քիչ տեսանելի արտեֆակտներ, ավելի դժվար է նկատել ձեռքով վերանայման միջոցով |
| Ազդեցության շառավիղը | Մեծ, բայց հայտնաբերելի՝ մասշտաբի և արտեֆակտների շնորհիվ | Հնարավոր է՝ ավելի մեծ լինի՝ գաղտնիության և վստահելի փաթեթների չարաշահման պատճառով |
| Պաշտպանական մարտահրավեր | Դադարեցումը CI/CD չարաշահում և վկայականի արտահոսք | Այլապես օրինական փաթեթների ներսում չարամիտ վարքագծի հայտնաբերում |
Ինչու է սա դեռ նույն որդը
Այդ փոփոխություններին չնայած, Shai-Hulud 3.0-ը դեռևս նույն դասի npm մատակարարման շղթայի որդ է։.
Այն հիմնված է հետևյալի վրա.
- վկայականի վերօգտագործում
- ավտոմատացված վերահրատարակում
- կախվածության վստահություն
- CI/CD ամայացում
Հետևաբար, ցանկացած միջավայր, որը տեղադրում է npm փաթեթներ առանց վարքային վերահսկողության, մնում է խոցելի։
Փոխզիջման ցուցանիշներ
Shai-hulud վնասակար ծրագիրը հետաքննող անվտանգության թիմերը պետք է փնտրեն հետևյալ ազդանշանները՝
- անսպասելի փաթեթի տարբերակի խափանումներ
- կյանքի ցիկլի սկրիպտներ ավելացվել են առանց հիմնավորման
- մշուշոտ JavaScript բլոկներ
- տեղադրման ընթացքում ելքային ցանցային հարցումներ
- npm կամ GitHub տեղադրման ժամանակ մուտքագրված տոկեններ
- CI/CD Աշխատանքները անսպասելիորեն են գործում կախվածության թարմացումներից հետո
Կարևոր է, որ դրանցից ոչ մեկի գոյության համար CVE անհրաժեշտ չէ։
Ինչու՞ են ավանդական npm անվտանգության գործիքները բաց թողնում Shai-Hulud 3.0-ը
CVE-ի վրա հիմնված հայտնաբերման ձախողումներ
Քանի որ Shai-Hulud 3.0-ը չարաշահում է օրինական աշխատանքային հոսքերը, սկաներները, որոնք կենտրոնանում են միայն հայտնի խոցելիությունների վրա, որևէ սխալ բան չեն տեսնում։
Կա՝
- խոցելի գործառույթ չկա
- անվտանգ API չկա
- հիշողության վնաս չկա
Փոխարենը, սովորական JavaScript-ում ներկառուցված է չարամիտ մտադրություն։
SBOM Տեսանելիությունը բավարար չէ
Նմանապես, SBOMs կարող է ձեզ ասել ինչ կախված ես, բայց ոչ ինչ է անում տեղադրման ժամանակ.
Արդյունքում, առանց վերահսկողության տեսանելիությունը չի կանգնեցնում մատակարարման շղթայի որդը։
Ինչպես է Xygeni-ն կանխում Shai-Hulud 3.0 npm մատակարարման շղթայի հարձակումները
Ահա թե որտեղ է Քսիգենիի ճարտարապետությունը կարևոր։
Վնասակար ծրագրի վաղ նախազգուշացում (MEW). Կանգնեցրեք npm վնասակար ծրագիրը հրապարակման պահին
Xygeni-ի վնասակար ծրագրերի վաղ նախազգուշացում (MEW) անընդհատ սկանավորում է նոր հրապարակված npm փաթեթները իրական ժամանակում։
MEW-ն հայտնաբերում է.
- խճճված օգտակար բեռներ
- կասկածելի կենսական ցիկլի սցենարներ
- հավատարմագրերի հավաքագրման վարքագիծ
- աննորմալ ֆայլային համակարգում գրառումներ
- անսպասելի ցանցային ակտիվություն
Ամենակարևորը, MEW-ն կարող է ավտոմատ կերպով արգելափակել կառուցվածքները՝ կանխելով shai-hulud npm վնասակար ծրագրի ներթափանցումը։ CI/CD.
GuardrailsԱպահով կախվածության վարքագծի կիրառում
Քսիգենի Guardrails խստորեն պահպանել ներքին քաղաքականությունը pipelines.
Նրանք.
- արգելափակել վնասակար կամ կասկածելի npm փաթեթները
- կանխել թաքնված տեղադրման սկրիպտների կատարումը
- կանգնեցնել կատարման ժամանակի ներբեռնումները կառուցման ընթացքում
- կողպված ֆայլի ամբողջականության ապահովում
Արդյունքում ` pipeline կանգ է առնում մինչև որդը կգործի։
CI/CD Անվտանգություն. Պաշտպանել Pipelineչարաշահումից
Քանի որ Շայ-Հուլուդ 3.0-ը հաճախ վերածվում է CI/CD, Xygeni մոնիտորներ pipelines համար:
- աշխատանքային հոսքի չարտոնված փոփոխություններ
- աննորմալ կատարման օրինաչափություններ
- թույլտվության չարաշահում
- կախվածության կողմից ակտիվացված աշխատանքային հոսքի ներարկում
Եթե ռիսկային վարքագիծ է դրսևորվում, Xygeni-ն արգելափակում է pipeline անմիջապես՝ կտրելով կողային շարժումը։
Գաղտնիքների պաշտպանություն. Նվազեցրեք պայթյունի շառավիղը
Քանի որ shai-hulud վնասակար ծրագիրը ագրեսիվորեն գողանում է մուտքային տվյալները, Քսիգենին նաև կենտրոնանում է գաղտնիքների վրա։
Քսիգենի:
- բացահայտում է բացահայտված գաղտնիքները ամբողջ աշխարհում SDLC
- ավտոմատ կերպով պտտում է բարձր ռիսկի վկայականները
- ապահովում է ավելի անվտանգ տոկենների պրակտիկա
Հետևաբար, նույնիսկ եթե վնասակար ծրագիրը գործարկվի, գողացված գաղտնիքները արագ կորցնում են իրենց արժեքը։
Ինչու է Shai-Hulud 3.0-ը հաստատում երկարաժամկետ միտումը
Վերջիվերջո, Շայ-Հուլուդ 3.0-ը հաստատում է ավելի լայն իրականություն։
Ժամանակակից npm մատակարարման շղթայի հարձակումները.
- տարածվում է ավտոմատ կերպով
- շարժվել ավելի արագ, քան մարդկային վերանայումը
- շահագործել վստահությունը, այլ ոչ թե խոցելիությունները
- թիրախ pipelines, ոչ միայն կոդ
Հետևաբար, shai-hulud npm վնասակար ծրագրից պաշտպանությունը պահանջում է վարքագծի հայտնաբերում և կիրառում, այլ ոչ թե պարզապես սկանավորում։
Վերջնական նշումներ. Ինչու է Shai-Hulud 3.0-ը դեռևս կարևոր
Չնայած Shai-Hulud 3.0-ը չի ներկայացնում որևէ նոր, աչքի ընկնող էքսպլոիտ, այն ներկայացնում է հասուն, կրկնվող և մասշտաբային հարձակման մոդել։
Այլ կերպ ասած, սա վերջին ալիքը չի լինի։
Ռեակտիվ անվտանգության վրա հիմնված թիմերը կշարունակեն հետապնդել վարակները: Վնասակար վարքագիծը վաղ փուլում արգելափակող թիմերը ամբողջությամբ կկանգնեցնեն որդը:
Դա է տարբերությունը։





