Die ontwikkelaars van die LiteLLM Python-biblioteek, wat 95 miljoen aflaaie per maand en 3.5 miljoen in die laaste 24 uur het, het 'n projekkompromitasie aangemeld. Aanvallers kon die onderhouer se geloofsbriewe onderskep en twee kwaadwillige vrystellings na PyPI publiseer - 1.82.7 en 1.82.8 - wat kode bevat vir die steel van sleutels en wagwoorde van gebruikers se stelsels. Die kwaadwillige weergawes is nou van PyPI verwyder, en die projek is tydelik opgeskort hangende die ondersoek.
Die LiteLLM-rekeningtoegangstoken op PyPI is deur aanvallers gekompromitteer as gevolg van die gebruik van die trivvy-afhanklikheidsekuriteitskandeerder in die deurlopende integrasiestelsel. Voorheen, laat in Februarie, het aanvallers toegang tot die Trivy-projekinfrastruktuur verkry deur 'n kwesbaarheid in die pull_request_target-hanteerder, wat in die Trivy-deurlopende integrasiestelsel loop, te benut. Na die kompromie het die aanvallers kwaadwillige Trivy 0.69-0.69-vrystellings gepubliseer, die trivy-action GitHub Action-hanteerder nagemaak, en 'n gewysigde Docker-beeld wat Trivy bevat, ontplooi.
Op 24 Maart om 11:30 vm. (MSK) is die onderskepte geloofsbriewe van die LiteLLM-onderhouer (krrishdholakia) gebruik om kwaadwillige vrystellings van LiteLLM 1.82.7 en 1.82.8 direk na PyPI te publiseer, wat die amptelike GitHub CI/CD-stelsel omseil het. Die projek se GitHub-bewaarplek was onaangeraak; kwaadwillige aktiwiteit is slegs op PyPI waargeneem. In die LiteLLM 1.82.7-vrystelling is kwaadwillige kode in die litellm/proxy/proxy_server.py-lêer ingebed en geaktiveer met die invoer van litellm.proxy. In die 1.82.8-vrystelling is die site-packages/litellm_init.pth-lêer ingesluit, en 'n hanteerder, verpak in base64-formaat en geaktiveer met enige bekendstelling, is by die proxy_server.py-lêer gevoeg.
Die bygevoegde kwaadwillige kode het sensitiewe data geskandeer en gestuur. SSH- en SSL/TLS-sleutels, omgewingveranderlike inhoud, AWS-, GCP-, Azure- en K8s-geloofsbriewe, kriptobeursie-sleutels, DBMS-wagwoorde, opdraginterpreteerder-werkingsgeskiedenis en konfigurasielêers van Git, CI/CD, pakketbestuurders en Docker is gestuur. Die opgespoorde data is geïnkripteer met behulp van AES-256-CBC en RSA-4096 en via HTTP POST-versoek na die webwerf "https://models.litellm.cloud/" gestuur (domein litellm.cloud is 'n paar uur voor die kwaadwillige vrystellings gepubliseer is, geregistreer.
LiteLLM-gebruikers word aangeraai om te verseker dat die litellm_init.pth-lêer nie in die site-packages-gids bestaan nie, alle sleutels en geloofsbriewe op te dateer as weergawe 1.82.7 of 1.82.8 geïnstalleer word, spesifieke LiteLLM-weergawes in die afhanklikheidslaaiparameters vas te pen, en die LiteLLM-vrystellings wat hulle gebruik, te kontroleer teen die vrystellingskode op GitHub.
Bron: opennet.ru
