← Të gjithë artikujt

LiteLLM supply chain attack vendosi një credential stealer dhe një backdoor

LiteLLM supply chain attack vendosi një credential stealer dhe një backdoor

LiteLLM supply chain attack komprometoi versionin 1.107.0 të paketës Python, që do të thotë se kod keqdashës u fut në software të shpërndarë përmes një kanali të konsoliduar zhvillimi. Raportet nga SafeDep, Socket, StepSecurity dhe Upwind zbuluan një credential stealer, i cili kërkon të dhëna autentikimi, së bashku me një backdoor që mund të ekzekutonte kod Python të dhënë nga sulmuesi. Versioni i prekur u shpërnda në formën e skedarëve wheel përmes Python Package Index (PyPI) dhe të paketave Docker image. Një wheel është një skedar pakete Python që mund të instalohet, ndërsa një Docker image është një mjedis i paketuar që përdoret për të ekzekutuar një aplikacion brenda një container.

PyPI e ka vendosur paketën e komprometuar në karantinë dhe paketat keqdashëse Docker image janë hequr. LiteLLM tha se hetimi i tij vazhdon dhe se nuk ka përcaktuar se si sulmuesi fitoi fillimisht mundësinë për ta publikuar versionin. Organizata hoqi gjithashtu lidhjet e besuara ndërmjet organizatës së saj në GitHub dhe registries publike, për të parandaluar përdorimin e këtyre lidhjeve për publikimin e paketave të tjera.

Sipas LiteLLM, veprimet keqdashëse përfshinë llogaritë GitHub të tre inxhinierëve dhe dukej se mbështeteshin te kredenciale të vjedhura GitHub command-line interface OAuth token. Një OAuth token është një kredencial digjital që i lejon një aplikacioni ose mjeti të veprojë përmes një llogarie pa kërkuar vazhdimisht fjalëkalimin e saj. Sulmuesi përdori një llogari për të nisur release workflow të projektit, të quajtur project-releaser, dhe një llogari tjetër për ta miratuar atë. LiteLLM çaktivizoi çdo OAuth token për të cilin dihej se ishte përfshirë. Megjithatë, nuk ka përcaktuar se si u siguruan këto kredenciale dhe tha se ende nuk mund të përjashtonte aksesin shtesë në llogaritë e prekura. Si masë e përkohshme, organizata hoqi nga organizata e saj në GitHub çdo përdorues, përveç një llogarie të paprekur.

Skedarët e prekur janë litellm-1.107.0-cp310-abi3-macosx_10_12_x86_64.whl, litellm-1.107.0-cp310-abi3-macosx_11_0_arm64.whl, litellm-1.107.0-cp310-abi3-manylinux_2_28_aarch64.whl, litellm-1.107.0-cp310-abi3-manylinux_2_28_x86_64.whl, litellm-1.107.0-cp310-abi3-musllinux_1_2_aarch64.whl, litellm-1.107.0-cp310-abi3-musllinux_1_2_x86_64.whl dhe litellm-1.107.0-cp310-abi3-win_amd64.whl. Arkivi litellm-1.107.0.tar.gz nuk i përmbante skedarët payload, por skedari i tij i konfigurimit pyproject.toml ishte ndryshuar.

StepSecurity identifikoi dy komponentë keqdashës. I pari, që e quan veten privcollect, mbledh kredenciale dhe informacione të tjera sensitive. I dyti krijon një daemon në sfond, një program që vazhdon të funksionojë pa një dritare të hapur, dhe kontrollon çdo orë një vendndodhje në GitHub. Nëse atje disponohet kod Python i kontrolluar nga sulmuesi, daemon e ekzekuton atë. Kjo i jep komprometimit aftësi përtej vjedhjes së njëhershme të të dhënave, sepse një sistem i infektuar mund të marrë dhe të ekzekutojë më vonë udhëzime shtesë.

Malware niset përpara se një përdorues ta importojë LiteLLM në një program. Këtë e realizon përmes cook.pth, një skedar Python path që Python interpreter e përpunon automatikisht gjatë nisjes. Ky skedar përmban një udhëzim për të importuar një modul të quajtur cook, i cili nis mbledhësin e kredencialeve. Sjellje e ngjashme gjatë nisjes u vërejt në komprometimin e mëparshëm të LiteLLM, të lidhur me sulmet TeamPCP supply chain attack në mars.

Mbledhësi kërkon të dhëna aksesi cloud, kredenciale të llogarive të zhvilluesve, private keys, skedarë autentikimi të përdorur nga mjetet e zhvillimit të inteligjencës artificiale, të dhëna të browser-ëve Chromium dhe Firefox, si dhe environment variables, të cilat janë cilësime sistemi që aplikacionet i përdorin shpesh për të ruajtur konfigurime ose të dhëna sekrete. Ai mund të inspektojë gjithashtu instalimet LiteLLM për kredenciale të ruajtura nga proxy dhe për konfigurimin e modeleve. Materiali i vjedhur vendoset në një arkiv TAR të kompresuar me GZIP dhe dërgohet përmes një kërkese web HTTP POST te litellm[.]dev/healthcheck.

Backdoor lexon gjithashtu domain.txt nga repository GitHub github[.]com/letters9813. Nëse skedari përmban një domain, malware e ekzekuton përsëri stealer, kërkon përmbajtje nga path /codepy i domain dhe ekzekuton përgjigjen. Repository aktualisht kthen një gabim 404, që tregon se vendndodhja e kërkuar nuk është e disponueshme, por sistemet që e kanë ekzekutuar tashmë paketën e komprometuar ende kërkojnë masa korrigjuese.

Përdoruesit që shkarkuan LiteLLM 1.107.0 këshillohen të çaktivizojnë dhe të zëvendësojnë kredencialet potencialisht të ekspozuara nga një mjedis i pastër, domethënë nga një sistem tjetër që nuk e ka ekzekutuar versionin keqdashës. Rekomandohet përdorimi i versionit 1.106.2 dhe fiksimi i tij sipas digest, një gjurmë fikse digjitale që siguron se instalohet paketa ose Docker image e pritshme. Meqë credential stealer synonte llogaritë cloud, browser-ët, private keys, mjetet e zhvillimit dhe të dhënat e proxy të LiteLLM, masat korrigjuese duhet të mbulojnë të gjitha kredencialet e pranishme në pajisjen e prekur, jo vetëm një llogari LiteLLM.

Për bizneset që trajtojnë këtë lloj rreziku në zhvillim dhe hosting, AEU-I ofron shërbime IT, infrastrukture dhe konsulence me sigurinë në plan të parë. Heqja e paketës dhe e paketave Docker image kufizon shkarkimet e reja, por nuk e heq malware nga sistemet ku versioni 1.107.0 ishte instaluar tashmë dhe as nuk zëvendëson informacionin që mund të jetë mbledhur.

Disponueshëm edhe në: EnglishDeutschItaliano