← Të gjithë artikujt

LiteLLM malicious package 1.107.0 vodhi kredenciale

LiteLLM malicious package 1.107.0 vodhi kredenciale

LiteLLM malicious package, e publikuar si versioni 1.107.0, mblodhi kredenciale dhe instaloi një backdoor të aftë të merrte dhe të ekzekutonte Python code çdo orë. LiteLLM bëri të ditur të mërkurën se sulmuesit kishin anashkaluar disa kontrolle të pavarura sigurie dhe kishin komprometuar release pipeline, procesin e automatizuar që përdoret për ndërtimin dhe publikimin e software-it.

Release i helmuar u publikua më 21 tetor 2026, rreth orës 4:00 të mëngjesit PST. Ai u shfaq si LiteLLM v1.107.0 në Python Package Index (PyPI), repository kryesor publik për software Python. Docker Hub dhe GitHub Container Registry (GHCR) morën container image me tags v1.107.0, latest, main-latest dhe main-stable. LiteLLM tha se klientët enterprise që përdornin private image registry të kompanisë nuk u prekën dhe se versioni i komprometuar u hoq brenda tre orësh.

Përdoruesit konsiderohen të prekur nëse instaluan përmes pip një paketë LiteLLM pa version të fiksuar, midis orës 11:39 dhe 13:23 UTC, ose nëse morën një nga container image e listuara midis orës 11:46 dhe 14:20 UTC. Një instalim pa version të fiksuar i lejon package manager të zgjedhë një version të disponueshëm, në vend që të kërkojë një release të caktuar. Për shkak se tags të përdorura zakonisht, si latest, ishin helmuar, ekipet mund ta kenë marrë build-in keqdashës pa kërkuar shprehimisht versionin 1.107.0.

Kodi keqdashës mblodhi sekrete të lidhura me operating system, browser-at, mjetet e zhvillimit, cloud services dhe mjetet e artificial intelligence. Ai i dërgoi të dhënat e vjedhura nëpërmjet një HTTP POST request te litellm[.]dev/healthcheck. Gjithashtu krijoi një remote access trojan (RAT), malware që i lejon një operatori të jashtëm të ekzekutojë kod në sistemin e komprometuar.

Infeksioni ishte integruar në paketë dhe jo në application source të LiteLLM. Endor Labs raportoi se një shtesë e vetme në konfigurimin e build-it Maturin vendosi cook.pth, cook.py dhe sitecustomize.py në directory e Python library. Python përpunon configuration files .pth dhe importon sitecustomize gjatë startup, ndaj payload mund të aktivizohej sa herë që Python nisej në atë environment, edhe kur aplikacioni që po ekzekutohej nuk përdorte LiteLLM. File cook.pth importonte cook.py, i cili dekodonte vetveten dhe niste një rutinë të quajtur privcollect për të mbledhur dhe transmetuar sekrete.

Në Linux dhe macOS, sitecustomize.py gjithashtu u përpoq të merrte domain.txt nga një llogari GitHub tashmë e hequr në github[.]com/letters9813. Nëse file jepte një adresë të përdorshme, malware shkarkonte një program të dytë Python nga /codepy dhe e ekzekutonte. Aikido zbuloi se loader niste një background process, përdorte /tmp/remote_code_loader.lock për të shmangur kopjet e dyfishta dhe kontrollonte vazhdimisht raw[.]githubusercontent[.]com/letters9813/pythonclient-test/main/domain[.]txt për command server aktual të sulmuesit. Më pas kërkonte dhe ekzekutonte një payload të ri çdo orë. Wiz tha se file përmbante vetëm vlera fillestare testimi përpara se GitHub ta hiqte rreth orës 13:30 UTC. Wiz e përshkroi përdorimin e njëkohshëm të .pth dhe sitecustomize.py si kombinimin e parë të dokumentuar të këtyre dy metodave të Python startup në malware aktiv.

Më pas, Wiz vëzhgoi përdorimin e kredencialeve të vjedhura të AWS instance-role nga sisteme CI runner të komprometuara, të cilat ndërtojnë dhe testojnë automatikisht software, si edhe nga Kubernetes nodes. Aktiviteti filloi afërsisht 4,5 orë pasi u transmetuan sekretet. Midis orës 16:20 dhe 17:01 UTC, lidhjet nga 168.100.8[.]57 dhe 165.227.201[.]8 kontrolluan kredencialet me sts:GetCallerIdentity dhe më pas thirrën bedrock:ListFoundationModels dhe ListModels. Wiz tha se kjo sekuencë përputhej me LLMjacking, përdorimin e paautorizuar të cloud access të një organizate tjetër për të konsumuar artificial intelligence services. Në një numër të vogël environments, sulmuesi listoi gjithashtu AWS roles, users dhe access credentials, si dhe kontrolloi llogaritë dhe audit-trail settings.

LiteLLM e kishte ndryshuar më parë procesin e vet të release pas një incidenti tjetër në mars 2026. Këto masa përfshinin zhvendosjen e releases në një private repository, bërjen e Docker release tags immutable që të mos mund të ricaktoheshin dhe nënshkrimin kriptografik të images. Megjithatë, më 19 tetor, maintainers zgjeruan përkohësisht release permissions për dy inxhinierë të brendshëm që duhej të publikonin çdo ditë backports të korrigjimeve të bugs për klientët. Sulmuesi kishte siguruar tri grupe GitHub command-line credentials të zhvilluesve, duke përfshirë një që mund të niste GitHub workflows.

Sipas hetimit të LiteLLM, një kredencial që i përkiste një GitHub organisation owner u përdor për të çaktivizuar branch protections dhe për të futur me detyrim ndryshime keqdashëse në projekt. Më pas sulmuesi ekzekutoi workflow kundrejt një repository me emër të ngjashëm, Berri-AI/litellm, në vend të repository legjitim BerriAI/litellm. Kjo bëri që paketat dhe images e komprometuara të kalonin përmes procesit të nënshkrimit dhe publikimit të projektit.

LiteLLM tha se kishte vëzhguar raste në të cilat Claude Code vendoste GitHub CLI OAuth token të një përdoruesi në një response body. Një OAuth token është një kredencial llogarie i ripërdorshëm që i lejon software-it të veprojë me permissions të dhëna nga përdoruesi. Si rrjedhojë, nëse response bodies regjistroheshin, token mund të shfaqej në logs të LiteLLM. Maintainers gjetën gjithashtu një user account të papritur, me pamje të padëmshme, në një deployment të brendshëm të LiteLLM që mund të arrihej nga interneti publik. Ata dyshojnë se sulmuesi hyri në atë sistem dhe mori GitHub credentials nga logs e tij. Mbetet e paqartë se si deployment u bë publik dhe si u sigurua access. LiteLLM ka sugjeruar se mund të jetë përfshirë një vulnerability e korrigjuar së fundmi, por hetimi për root cause po vazhdon.

Përdorimi i një file .pth ngjan me teknikën e vërejtur në sulmin e marsit që iu atribuua TeamPCP, por Socket tha se provat e disponueshme nuk vërtetojnë një lidhje. Socket vuri në dukje dallime në RSA public keys kriptografike të integruara, në implementimin e vjedhjes së të dhënave dhe në sjelljen e backdoor. Gjithashtu mbetet e paverifikuar nëse kredencialet e vjedhura gjatë incidentit të marsit kontribuuan në komprometimin e tetorit.

Organizatat që ekzekutuan LiteLLM 1.107.0 duhet ta heqin atë, të shkëputin host-et e prekura nga sistemet e tjera, të kërkojnë tri files keqdashëse Python, të bllokojnë domain e mbledhjes së të dhënave dhe të hetojnë çdo ekzekutim të /codepy. Të gjitha kredencialet që mund të arriheshin nga një environment i prekur duhet të revokohen dhe të zëvendësohen, duke përfshirë sekretet e cloud, të zhvilluesve dhe ato të ruajtura në browser. JFrog këshilloi rindërtimin e sistemeve të prekura dhe verifikimin e saktë të Python wheel, që është file i instalueshëm i paketës, në vend që të supozohet se një source repository i pastër garanton një artifact të publikuar të pastër. Endor Labs rekomandoi gjithashtu shqyrtimin e network records dhe fiksimin e container image sipas digest, një identifikues i pandryshueshëm për përmbajtjen e saktë të image, në vend të një tag që mund të ndryshohet.

Për organizatat që kanë nevojë për ndihmë me reagimin më të gjerë të infrastrukturës ndaj incidenteve të këtij lloji, AEU-I ofron IT, infrastrukturë dhe konsulencë me sigurinë si përparësi.

Disponueshëm edhe në: EnglishDeutschItaliano