Dezvoltatorii platformei Packj, care analizează securitatea bibliotecilor, au publicat un instrument de linie de comandă deschis, care permite identificarea construcțiilor riscante în pachetele ce pot fi legate de activități malițioase sau de existența vulnerabilităților, utilizate pentru a ataca proiectele care folosesc pachetele respective („supply chain”). Este suportată verificarea pachetelor în limbajele Python și JavaScript, găzduite în directoarele PyPi și NPM (în această lună, de asemenea, planifică adăugarea suportului pentru Ruby și RubyGems). Codul instrumentului este scris în limbajul Python și este distribuit sub licența AGPLv3.
În timpul analizei a 330.000 de pachete folosind instrumentul propus în depozitul PyPi, au fost identificate 42 de pachete malițioase cu backdoor-uri și 2.400 de pachete riscante. În cadrul inspecției, se efectuează o analiză statică a codului pentru a identifica caracteristicile API-ului și se evaluează existența vulnerabilităților cunoscute, marcate în baza de date OSV. Pentru analiza API-ului se utilizează pachetul MalOSS. Codul pachetelor este analizat în funcție de existența șabloanelor tipice, utilizate de obicei în software-ul malițios. Șabloanele sunt pregătite pe baza studiului a 651 de pachete cu activitate malițioasă confirmată.
De asemenea, se identifică atribute și metadate care cresc riscul de utilizare necorespunzătoare, cum ar fi executarea blocurilor prin „eval” sau „exec”, generarea de cod nou în timpul execuției, utilizarea tehnicilor de obfuscare și ocultare a codului, manipularea variabilelor de mediu, accesul necorespunzător la fișiere, referința la resurse de rețea în scripturile de instalare (setup.py), utilizarea type-squatting-ului (atributarea de nume similare cu cele ale bibliotecilor populare), identificarea proiectelor abandonate și vechi, menționarea unor adrese de email și site-uri inexistente, lipsa unui depozit public cu codul.
De asemenea, se remarcă descoperirea de către alți cercetători în domeniul securității a cinci pachete malițioase în depozitul PyPi, care trimiteau informații către terți. serverul informațiile variabilelor de mediu în contextul furtului de tokenuri pentru AWS și sistemele de integrare continuă: loglib-modules (prezentate ca module ale bibliotecii legitime loglib), pyg-modules, pygrata și pygrata-utils (prezentate ca extensii ale bibliotecii legitime pyg) și hkg-sol-utils.

Sursa: opennet.ro
