A fost raportată o publicație în depozitul PyPI a unei versiuni malițioase a bibliotecii LiteLLM, care are 23 de milioane de descărcări pe săptămână, precum și introducerea de cod malițios în imaginea oficială Docker a proiectului. Acesta nu este primul incident similar cu LiteLLM — în martie anul acesta, atacatorii au publicat deja versiuni malițioase după interceptarea acreditivelor administratorului. De data aceasta, atacatorii au plasat versiunea LiteLLM 1.107.0, în care a fost integrat cod malițios pentru a organiza execuția la distanță a comenzilor, precum și căutarea și trimiterea acreditivelor, cheilor și token-urilor de acces.
Codul malițios a fost introdus în timpul procesului de compilare fără compromiterea depozitului git. După instalare, codul malițios se activează înainte de importul LiteLLM prin instalarea fișierelor cook.pth, cook.py și sitecustomize.py în directorul bibliotecilor Python. Aceste fișiere sunt definite pentru a se executa la fiecare rulare a Python în sistem fără ca utilizatorul să fie nevoit să efectueze acțiuni.
La început, Python rulează fișierul cook.pth, care conține doar o singură linie „import cook” pentru a importa scriptul cook.py, care adună acreditivele. Apoi se importă scriptul sitecustomize.py, folosit pentru a descărca în fundal cod extern (parametrii de descărcare sunt definiți prin linkul „raw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txt”). Codul malițios din ambele scripturi este comprimat prin zlib și codificat folosind metoda Base64. Un indicator al compromiterii poate fi apariția în sistem a fișierelor „/tmp/.pc_once_*” și „/tmp/remote_code_loader.lock”.
După activare, fișierul cook.py scanează parametrii de conectare la servicii cloud, depozite și sisteme de integrare continuă (AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub CLI, Vault, Terraform, Packer), conturi de dezvoltatori, parametri de conectare la Git, setări npm și PyPI, fișiere cu variabile de mediu, chei private pentru SSH, PGP și TLS, setări pentru instrumente AI, baze de date de browser cu cookie-uri, date stocate și istoric, informații despre procese și variabile de mediu. Datele detectate sunt criptate folosind algoritmi AES-256-CBC + RSA-4096 și trimise sub forma unei solicitări de verificare pe site-ul litellm.dev, creat de infractori.
Sursa: opennet.ro
