Група хакерів, відома як TeamPCP, скомпрометувала пакет LiteLLM у сховищі PyPI та опублікувала шкідливі версії в останні дні. Бібліотека Python, яка діє як об’єднувач доступу до кількох великих постачальників мовних моделей через єдиний API, зафіксувала понад 95 мільйонів завантажень за останній місяць і перевищує 3,4 мільйона завантажень щодня. Версії 1.82.7 і 1.82.8 містили шкідливий код, здатний збирати конфіденційні облікові дані та встановлювати механізми збереження в уражених середовищах. Especialistas виявив інцидент 24 березня 2026 року, і скомпрометовані версії були швидко видалені з PyPI.
LiteLLM служить загальним шлюзом для інтеграції служб штучного інтелекту в проекти розробки. Імпорт Qualquer ураженого модуля викликав приховане корисне навантаження. Endor Labs докладно зазначив, що шкідливий код було впроваджено в певні файли в пакеті, включаючи proxy_server.py і файл .pth, який автоматично запускається під час запуску інтерпретатора Python.
- Негайна перевірка інсталяцій версій 1.82.7 або 1.82.8 у локальних середовищах і конвеєрах CI/CD.
- Термінова ротація всіх відкритих ключів SSH, хмарних токенів і секретів.
- Перевірка артефактів, таких як підозрілі файли .pth і замасковані служби systemd.
Механізм впровадження шкідливого коду
Зловмисники вставили корисне навантаження в кодуванні base64 у файл litellm/proxy/proxy_server.py у скомпрометованих версіях. Корисне навантаження Essa декодується та виконується кожного разу, коли модуль імпортується. Версія 1.82.8 також додала файл litellm_init.pth, який гарантує автоматичне виконання кожного разу, коли запускається середовище Python, розширюючи сферу атаки навіть без прямого використання бібліотеки.
Корисне навантаження виконується за чітко визначеною послідовністю з трьох кроків. Primeiro, виконує розпізнавання системи за допомогою таких команд, як ім’я хоста, whoami, uname та ip-адреса. Потім він збирає різні облікові дані, включаючи ключі SSH, хмарні конфігурації для AWS, GCP і Azure, маркери служби Kubernetes, файли .env, облікові дані бази даних, приватні ключі TLS і дані гаманця криптовалюти. Нарешті, він намагається переміщатися вбік на кластерах Kubernetes шляхом розгортання привілейованих модулів на кожному вузлі.
Деталі облікових даних і секретної крадіжки
Групи інфокрадиків варіанту TeamPCP Cloud Stealer збирали дані в зашифрований файл tpcp.tar.gz. Файл Esse надсилається до контрольованої зловмисником інфраструктури в домені models.litellm.cloud. Служба systemd, замаскована як «служба Telemetria Sistema», підтримує періодичний зв’язок із checkmarx.zone для завантаження додаткових корисних даних і забезпечення постійності.
Розробники, які використовують LiteLLM у конвеєрах штучного інтелекту або програмах, які мають доступ до кількох постачальників LLM, стикаються з підвищеним ризиком викриття. Атака успадковує технічну схожість із попереднім компрометуванням сканера Aqua Security Trivy, також віднесеного до тієї ж групи. Relatos вказує на те, що відбулося сотні тисяч вилучення даних, хоча точні цифри залишаються під незалежною перевіркою.
Попередні атаки групи TeamPCP
TeamPCP уже зафіксувала проект Trivy і пов’язані компоненти Aqua Security найближчим часом. Послідовність інцидентів Essa демонструє зосередженість на інструментах, широко поширених у ланцюжку розробки програмного забезпечення, особливо тих, які інтегровані з потоками CI/CD і хмарними середовищами. Група також досліджувала кластери Kubernetes зі скриптами, які розрізняють поведінку за географічним регіоном.
Встановлена постійність включає бекдор systemd, який автоматично отримує додаткові двійкові файли. Analistas спостерігав спроби повністю стерти системи в певних виявлених конфігураціях, тоді як в інших випадках фокус залишається на тихому зборі секретів.
Рекомендовані заходи для постраждалих організацій
Організаціям слід перевірити журнали встановлення та негайно оновити до версії 1.82.6 або новішої, яка вважається чистою. Передача всіх секретів і токенів, знайдених на потенційно уражених пристроях, є пріоритетною дією для обмеження шкоди. Busca для підозрілих файлів, як-от ~/.config/sysmon/sysmon.py, /tmp/pglog, і rogue pods у просторі імен kube-system допомагає виявити залишкові компромети.
Моніторинг вихідного трафіку до доменів, пов’язаних із зловмисниками, доповнює початкові дії. Especialistas підтверджує, що регулярна ротація облікових даних значно знижує ризик каскадних атак у ланцюжку постачання програмного забезпечення. Співробітники служби безпеки Equipes повинні перевірити середовище Kubernetes на предмет несанкціонованого руху вбік.
Технічний аналіз постійного корисного навантаження
Бекдор, встановлений як служба користувача systemd, підтримує зв’язок із віддаленим сервером для отримання подальших інструкцій. Архітектура Essa дозволяє зловмисникам з часом розширювати контроль над зараженими системами. Механізм ексфільтрації шифрує дані перед надсиланням, що ускладнює виявлення під час передачі.
Розробники, які підтримують залежності Python у спільних середовищах або контейнерах, повинні перевіряти історію останніх інсталяцій. Популярність LiteLLM у проектах штучного інтелекту збільшує потенційне охоплення інциденту в сучасних екосистемах розвитку.
Оновлення щодо видалення шкідливих версій
Версії 1.82.7 і 1.82.8 було вилучено з PyPI після виявлення проблеми. Mantenedores проекту видав сповіщення безпеки та вказівки для користувачів. Співтовариство безпеки слідкує за цією справою, щоб визначити можливі впливи на сховища, які тимчасово залежать від LiteLLM.
Дослідники продовжують аналізувати зразки зловмисного програмного забезпечення, щоб виявити нові варіанти чи додаткові дії. Usuários, який встановив уражені версії, повинен розглядати всі облікові дані, наявні в їхніх системах, як потенційно незахищені.
