Packj - 'n gereedskapstel vir die identifisering van kwaadwillige biblioteke in Python en JavaScript

Die ontwikkelaars van die Packj-platform, wat die sekuriteit van biblioteke ontleed, het 'n oop opdraglyn-nutsmiddelstel gepubliseer wat hulle in staat stel om riskante strukture in pakkette te identifiseer wat geassosieer kan word met die implementering van kwaadwillige aktiwiteite of die teenwoordigheid van kwesbaarhede wat gebruik word om aanvalle uit te voer op projekte wat die betrokke pakkette gebruik ("voorsieningsketting"). Pakketkontrolering word ondersteun in Python- en JavaScript-tale, aangebied in die PyPi- en NPM-gidse (hulle beplan ook om hierdie maand ondersteuning vir Ruby en RubyGems by te voeg). Die toolkit-kode is in Python geskryf en onder die AGPLv3-lisensie versprei.

Tydens die ontleding van 330 duisend pakkette wat die voorgestelde gereedskap in die PyPi-bewaarplek gebruik, is 42 kwaadwillige pakkette met agterdeure en 2.4 duisend riskante pakkette geïdentifiseer. Tydens die inspeksie word 'n statiese kode-analise uitgevoer om API-kenmerke te identifiseer en die teenwoordigheid van bekende kwesbaarhede wat in die OSV-databasis opgemerk is, te evalueer. Die MalOSS-pakket word gebruik om die API te ontleed. Die pakketkode word ontleed vir die teenwoordigheid van tipiese patrone wat algemeen in wanware gebruik word. Die sjablone is voorberei op grond van 'n studie van 651 pakkies met bevestigde kwaadwillige aktiwiteit.

Dit identifiseer ook eienskappe en metadata wat lei tot 'n verhoogde risiko van misbruik, soos die uitvoering van blokke via "eval" of "exec", generering van nuwe kode tydens looptyd, gebruik van verduisterde kodetegnieke, manipulering van omgewingsveranderlikes, nie-teikentoegang tot lêers, toegang tot netwerkhulpbronne in installasieskrifte (setup.py), gebruik van typequatting (toewysing van name soortgelyk aan die name van gewilde biblioteke), identifisering van verouderde en verlate projekte, spesifiseer nie-bestaande e-posse en webwerwe, gebrek aan 'n publieke bewaarplek met kode.

Daarbenewens kan ons let op die identifikasie deur ander sekuriteitsnavorsers van vyf kwaadwillige pakkette in die PyPi-bewaarplek, wat die inhoud van omgewingsveranderlikes na 'n eksterne bediener gestuur het met die verwagting om tekens vir AWS en deurlopende integrasiestelsels te steel: loglib-modules (aangebied as modules vir die wettige loglib-biblioteek), pyg-modules , pygrata en pygrata-utils (wat voorgestel word as toevoegings tot die wettige pyg-biblioteek) en hkg-sol-utils.

Packj - 'n gereedskapstel vir die identifisering van kwaadwillige biblioteke in Python en JavaScript


Bron: opennet.ru

Voeg 'n opmerking