Un grup de amenințări cunoscut sub numele de TeamPCP a desfășurat un atac în cascadă asupra lanțului de aprovizionare în ultima săptămână, compromițând trei instrumente pentru dezvoltatori utilizate pe scară largă — scanerul de vulnerabilități Trivy, plugin-urile Checkmarx KICS și biblioteca Python LiteLLM — în ceea ce cercetătorii numesc una dintre cele mai periculoase campanii de furt de credențiale care a lovit ecosistemul software open-source.
De la Scanner la Cheie Universală
Campania a început pe 19 martie când TeamPCP a injectat malware în fluxurile de lucru oficiale GitHub Actions și în imaginile Docker asociate cu Trivy, un scanner de securitate open-source dezvoltat de Aqua Security și utilizat de peste 10.000 de echipe de dezvoltare. Atacatorii au exploatat acreditările rămase de la o breșă anterioară, remediată incomplet la sfârșitul lunii februarie, folosind un token cu privilegii de scriere a etichetelor pentru a redirecționa în mod discret 76 din 77 de etichete de versiune din GitHub Action al Trivy către commit-uri malițioase.

Fiecare scanare automată de pipeline care a rulat acțiunea compromisă a declanșat malware conceput pentru a colecta chei SSH, token-uri de acces cloud pentru Amazon Web Services, Microsoft Azure și Google Cloud Platform, secrete Kubernetes, acreditări pentru portofele de criptomonede și parole de baze de date. Datele au fost criptate și exfiltrate către un domeniu typosquatting care imita numele Aqua Security.
Pe 23 martie, același grup a compromis GitHub Action KICS al Checkmarx și două extensii OpenVSX, folosind o strategie aproape identică. Trei ore mai târziu, codul malițios a fost eliminat, dar daunele se răspândiseră deja.
LiteLLM: Poarta de serviciu AI compromisă
Cel mai recent atac al campaniei a avut loc pe 24 martie, când TeamPCP a publicat pe PyPI, Python Package Index, două versiuni contaminate ale LiteLLM — versiunile 1.82.7 și 1.82.8. LiteLLM, o interfață unificată pentru apelarea a peste 100 de API-uri de modele lingvistice mari, are aproximativ 95 de milioane de descărcări lunare și este integrat în framework-uri de agenți AI utilizate de organizații majore.
Malware-ul funcționa în trei etape, începând cu o încărcătură ascunsă în fișierul proxy_server.py. Versiunea 1.82.8 includea și un fișier .pth care execută cod malicios de fiecare dată când Python pornește pe mașina infectată, indiferent dacă LiteLLM este importat sau nu. Pachetele compromise au fost disponibile aproximativ cinci ore înainte ca PyPI să plaseze proiectul în carantină.
„Oricine a instalat și rulat proiectul ar trebui să presupună că orice credențiale disponibile mediului LiteLLM pot fi fost expuse și să le revoce/rotească în consecință”, a avertizat Python Packaging Authority.
Un lanț de autentificare auto-propagabil
Cercetătorii de la Datadog Security Labs și din alte părți au urmărit modul în care fiecare compromitere a alimentat următoarea: breșa Trivy a recoltat secrete CI/CD din mii de pipeline-uri, ceea ce a furnizat token-uri npm, credențiale Docker Hub și token-uri de publicare PyPI — permițând fiecare atac succesiv. TeamPCP a implementat, de asemenea, un worm npm auto-propagabil pe 28 de pachete și un script care vizează Kubernetes ce, pe sistemele geolocalizate în Iran, execută un wiper destructiv.
Brett Leatherman, Director Adjunct al Diviziei Cyber a FBI, a avertizat pe LinkedIn să ne „așteptăm la o creștere a divulgărilor de breșe, intruziuni subsecvente și tentative de extorcare în săptămânile următoare”. Echipele de securitate sunt îndemnate să fixeze dependențele la hash-uri de commit specifice, să auditeze pentru fișiere .pth suspecte și să rotească imediat orice credențiale care ar fi putut fi expuse în timpul ferestrelor de atac.
Surse:
https://www.kaspersky.com/blog/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp/55510/
https://www.infosecurity-magazine.com/news/teampcp-litellm-pypi-supply-chain/
https://www.ampcuscyber.com/shadowopsintel/cross-ecosystem-supply-chain-compromise-by-teampcp/
