PureScript տեղադրիչով npm փաթեթի կախվածության մեջ հայտնաբերվել են վնասակար փոփոխություններ

Կախված PureScript տեղադրիչով npm փաթեթից բացահայտված վնասակար կոդ, որը հայտնվում է, երբ փորձում եք փաթեթ տեղադրել մաքուր գրություն. Վնասակար կոդը ներդրված է կախվածությունների միջոցով load-from-cwd-or-npm и փոխարժեք-քարտեզ. Հատկանշական է, որ այս կախվածություններով փաթեթների սպասարկումն իրականացնում է npm փաթեթի սկզբնական հեղինակը PureScript տեղադրողով, ով մինչև վերջերս պահպանում էր այս npm փաթեթը, սակայն մոտ մեկ ամիս առաջ փաթեթը փոխանցվեց այլ սպասարկողներին։

Խնդիրը հայտնաբերել է փաթեթի նոր սպասարկողներից մեկը, ում պահպանման իրավունքները փոխանցվել են մաքուր npm փաթեթի սկզբնական հեղինակի հետ բազմաթիվ տարաձայնություններից և տհաճ քննարկումներից հետո։ Նոր սպասարկողները պատասխանատու են PureScript կոմպիլյատորի համար և պնդեցին, որ NPM փաթեթը և դրա տեղադրողը պետք է պահպանվեն նույն սպասարկողների կողմից, այլ ոչ թե դրսի կողմից: PureScript տեղադրողի հետ npm փաթեթի հեղինակը երկար ժամանակ համաձայն չէր, բայց հետո զիջեց և մուտքը փոխանցեց պահեստարան։ Սակայն որոշ կախվածություններ մնացին նրա վերահսկողության տակ։

Անցյալ շաբաթ թողարկվեց PureScript 0.13.2 կոմպիլյատորը և
Նոր սպասարկողները պատրաստել են npm փաթեթի համապատասխան թարմացում տեղադրողով, որի կախվածության մեջ հայտնաբերվել է վնասակար կոդ։ PureScript տեղադրողի հետ npm փաթեթի հեղինակը, ով հեռացվել է սպասարկողի իր պաշտոնից, ասել է, որ իր հաշիվը վտանգվել է անհայտ հարձակվողների կողմից: Այնուամենայնիվ, իր ներկայիս տեսքով, վնասակար կոդի գործողությունները սահմանափակվում էին փաթեթի տեղադրման սաբոտաժով, որը նոր սպասարկողների առաջին տարբերակն էր: Վնասակար գործողությունները սխալի հաղորդագրությամբ հանգույց էին, երբ փորձում էին փաթեթ տեղադրել «npm i -g մաքուր գրություն» հրամանով, առանց որևէ ակնհայտ վնասակար գործողություն կատարելու:

Հայտնաբերվել է երկու հարձակում. Purescript npm փաթեթի նոր տարբերակի պաշտոնական թողարկումից մի քանի ժամ անց ինչ-որ մեկը ստեղծեց load-from-cwd-or-npm 3.0.2 կախվածության նոր տարբերակը, որի փոփոխությունները հանգեցրին փոխարենը loadFromCwdOrNpm()-ին կանչելու: տեղադրման համար անհրաժեշտ երկուական ֆայլերի ցանկի վերադարձված հոսք Կողքով անցնել, արտացոլելով մուտքային հարցումները որպես ելքային արժեքներ:

4 օր անց, այն բանից հետո, երբ մշակողները պարզեցին անհաջողությունների աղբյուրը և պատրաստվում էին թողարկել թարմացում՝ load-from-cwd-or-npm-ը կախվածությունից բացառելու համար, հարձակվողները թողարկեցին ևս մեկ թարմացում՝ load-from-cwd-or-npm: 3.0.4, որտեղ վնասակար կոդը հեռացվել է: Այնուամենայնիվ, գրեթե անմիջապես թողարկվեց մեկ այլ կախվածության թարմացում՝ rate-map 1.0.3, որն ավելացրեց ուղղում, որն արգելափակում էր բեռնման համար հետադարձ զանգը: Նրանք. երկու դեպքում էլ load-from-cwd-or-npm-ի և rate-map-ի նոր տարբերակների փոփոխությունները ակնհայտ դիվերսիայի բնույթ էին կրում: Ավելին, վնասակար կոդը ուներ ստուգում, որը անսարք գործողություններ էր առաջացնում միայն նոր սպասարկողներից թողարկում տեղադրելիս և ոչ մի կերպ չէր երևում հին տարբերակները տեղադրելիս:

Մշակողները լուծեցին խնդիրը՝ թողարկելով թարմացում, որում խնդրահարույց կախվածությունները հեռացվեցին։ Որպեսզի PureScript-ի խնդրահարույց տարբերակը տեղադրելուց հետո վտանգված կոդը չտեղավորվի օգտատերերի համակարգերում, խորհուրդ է տրվում ջնջել node_modules դիրեկտորիաների և package-lock.json ֆայլերի բովանդակությունը, այնուհետև սահմանել մաքուր 0.13.2 տարբերակը: ստորին սահմանը.

Source: opennet.ru

Добавить комментарий