Pachet Python popular, compromis: peste 1 milion de descărcări pe lună, folosit pentru furt de date și crypto
Un incident de securitate serios lovește ecosistemul dezvoltatorilor: un pachet extrem de popular din Python Package Index a fost compromis și folosit pentru a distribui un infostealer capabil să fure date sensibile și portofele de criptomonede. Vorbim despre „elementary-data”, un tool utilizat pe scară largă în zona de data engineering.
Problema nu este minoră. Pachetul are peste 1,1 milioane de descărcări lunare și este integrat în fluxuri de lucru critice, mai ales în proiecte construite cu dbt. Asta înseamnă că impactul potențial nu este doar mare, ci și greu de estimat în acest moment, scrie Bleeping Computer.
Versiunea compromisă, identificată ca 0.23.3, a fost rapid semnalată de comunitate și ulterior înlocuită cu o variantă curată. Dar pentru cei care au apucat să o instaleze, problemele abia încep.
Cum a fost posibil: un atac subtil care a păcălit întregul pipeline
Spre deosebire de multe incidente similare, unde conturile dezvoltatorilor sunt compromise, atacatorul a ales o metodă mai discretă. Conform analizei realizate de StepSecurity, vulnerabilitatea a fost exploatată direct în fluxul de lucru automatizat al proiectului.
Totul a pornit de la un comentariu malițios într-un pull request pe GitHub. Acesta a exploatat o problemă de tip script injection în GitHub Actions, permițând rularea de cod controlat de atacator.
Rezultatul? Acces la token-ul intern al proiectului (GITHUB_TOKEN), folosit ulterior pentru a crea un commit semnat și un tag oficial. Practic, atacatorul a reușit să declanșeze pipeline-ul legitim de release, fără să ridice suspiciuni.
Astfel, versiunea infectată a fost publicată ca fiind oficială, atât pe PyPI, cât și sub formă de imagine Docker distribuită prin registry. Pentru utilizatori, părea o actualizare perfect legitimă.
Ce fura malware-ul și de ce trebuie să reacționezi rapid
Odată instalat, pachetul malițios introducea un fișier care se executa automat la pornire și activa un mecanism de colectare a datelor. Lista este lungă și îngrijorătoare.
Printre țintele vizate se numără chei SSH, credențiale Git și acces la servicii cloud precum AWS, GCP sau Azure. De asemenea, erau vizate fișiere .env, tokenuri de dezvoltare, dar și secrete din Kubernetes, Docker sau sisteme CI/CD.
Partea și mai sensibilă? Malware-ul căuta și portofele de criptomonede, inclusiv pentru Bitcoin, Monero sau alte monede populare. În plus, colecta informații de sistem precum istoricul comenzilor sau fișierele de configurare.
Problema s-a extins și în zona containerelor. Pentru că pipeline-ul oficial genera automat imagini Docker, varianta compromisă a ajuns și acolo. Astfel, orice sistem care folosea tag-uri precum „latest” sau nu avea versiuni fixate risca să tragă automat codul infectat.
Recomandarea experților este clară: dacă ai folosit versiunea 0.23.3 sau imaginile asociate, trebuie să tratezi sistemul ca fiind compromis. Asta înseamnă resetarea tuturor credențialelor, rotația cheilor și restaurarea dintr-un backup sigur.