Packj - գործիքակազմ՝ Python-ում և JavaScript-ում վնասակար գրադարանները հայտնաբերելու համար

Գրադարանների անվտանգությունը վերլուծող Packj հարթակի մշակողները հրապարակել են բաց հրամանային տողի գործիքակազմ, որը թույլ է տալիս փաթեթներում նույնականացնել ռիսկային կառուցվածքներ, որոնք կարող են կապված լինել չարամիտ գործունեության իրականացման կամ տվյալ փաթեթներն օգտագործող նախագծերի վրա հարձակվելու համար օգտագործվող խոցելիությունների առկայության հետ («մատակարարման շղթա»): Այն աջակցում է PyPi և NPM գրացուցակներում տեղակայված Python և JavaScript փաթեթների ստուգմանը (նրանք նաև պլանավորում են այս ամիս ավելացնել Ruby-ի և RubyGems-ի աջակցությունը): Գործիքակազմի կոդը գրված է Python լեզվով և տարածվում է AGPLv3 լիցենզիայի ներքո:

Առաջարկվող գործիքակազմի միջոցով 330 հազար փաթեթների վերլուծության ընթացքում PyPi պահոցում հայտնաբերվել են 42 վնասակար փաթեթ՝ հետին դռներով և 2.4 հազար ռիսկային փաթեթներ: Հարցման ընթացքում կատարվում է ստատիկ կոդի վերլուծություն՝ API-ի առանձնահատկությունները բացահայտելու և OSV տվյալների բազայում նշված հայտնի խոցելիությունների առկայությունը գնահատելու համար: MalOSS փաթեթն օգտագործվում է API-ը վերլուծելու համար: Փաթեթի կոդը վերլուծվում է վնասակար ծրագրերում սովորաբար օգտագործվող բնորոշ օրինաչափությունների առկայության համար: Օրինաչափությունները պատրաստվում են հաստատված վնասակար ակտիվությամբ 651 փաթեթների ուսումնասիրության հիման վրա:

Այն նաև նույնականացնում է ատրիբուտներն ու մետատվյալները, որոնք մեծացնում են չարաշահման ռիսկը, ինչպիսիք են բլոկների կատարումը «eval» կամ «exec» միջոցով, աշխատանքի ընթացքում նոր կոդի ստեղծումը, մշուշոտ և թաքնված կոդի տեխնիկաների օգտագործումը, միջավայրի փոփոխականների մանիպուլյացիան, ֆայլերին անպատշաճ կերպով մուտք գործելը, ցանցային ռեսուրսներին մուտք գործելը տեղադրման սկրիպտներում (setup.py), typosquatting-ի օգտագործումը (հայտնի գրադարաններին նման անուններ տալը), հնացած և լքված նախագծերի նույնականացումը, գոյություն չունեցող էլ. փոստերի և կայքերի նշումը և կոդով հանրային պահոց չունենալը։

Բացի այդ, այլ անվտանգության հետազոտողներ PyPi պահոցում հայտնաբերել են հինգ վնասակար փաթեթներ, որոնք շրջակա միջավայրի փոփոխականների պարունակությունը ուղարկել են արտաքին սերվեր՝ AWS-ի և շարունակական ինտեգրման համակարգերի համար տոկեններ գողանալու փորձի համար՝ loglib-modules (ներկայացված որպես օրինական loglib գրադարանի մոդուլներ), pyg-modules, pygrata և pygrata-utils (ներկայացված որպես օրինական pyg գրադարանի հավելումներ) և hkg-sol-utils:

 Packj - գործիքակազմ՝ Python-ում և JavaScript-ում վնասակար գրադարանները հայտնաբերելու համար


Source: opennet.ru