24 марта 2026, 18:45
Атака на цепочку поставок: litellm 1.82.7 и 1.82.8 на PyPI содержат стилер credentials

24 марта 2026 года две версии Python-библиотеки litellm (1.82.7 и 1.82.8) на PyPI были опубликованы с вредоносным кодом, выполняющим кражу SSH-ключей, облачных credentials, секретов Kubernetes и программный интерфейс-ключей. Набор модулей используется как единый шлюз к LLM-провайдерам (OpenAI, Anthropic, Bedrock и др.) и набирает около 97 млн загрузок в месяц.
Как это обнаружили
Атаку выявили при анализе инцидента: у разработчика litellm оказался транзитивной зависимостью MCP-плагина в Cursor. Хост стал недоступен из-за форк-бомбы — бага в самой малвари: .pth-файл рекурсивно порождал дочерние процессы, что привело к исчерпанию ресурсов системы. По оценке исследователей FutureSearch, без этого бага атака могла бы дольше оставаться незамеченной.
Обе версии опубликованы на PyPI в 10:39–10:52 UTC без соответствующих тегов и релизов в GitHub. Исходный код репозитория остался чистым — вредоносный код был внедрён в артефакт при публикации, что делает его невидимым при стандартном code review.
Как работает малварь
Релиз 1.82.8 содержит файл litellm_init.pth (34 628 байт). Python автоматически исполняет .pth-файлы при каждом запуске интерпретатора — срабатывание происходит без какого-либо import litellm. Релиз 1.82.7 использует обфусцированный payload в proxy/proxy_server.py, исполняемый при импорте модуля.
Payload работает в три стадии:
1. Сбор данных. Скрипт извлекает SSH-ключи и конфиги, .env-файлы, credentials AWS/GCP/Azure, kubeconfig, пароли БД, историю shell, файлы крипто-кошельков, переменные окружения. Дополнительно выполняются запросы к cloud metadata endpoints (IMDS).
2. Эксфильтрация. Данные шифруются (AES-256-CBC + RSA-4096, hardcoded открытый ключ) и отправляются на models.litellm[.]cloud — адрес сайта, не относящийся к официальной инфраструктуре litellm.
3. Закрепление и латеральное движение. При наличии Kubernetes service account token малварь читает все секреты кластера и создаёт привилегированные поды alpine:latest в kube-system с монтированием хост-ФС. Бэкдор устанавливается как ~/.config/sysmon/sysmon.py с регистрацией systemd user service — локально и на каждой ноде кластера.
Что проверить и сделать
# Проверить установленную версию pip show litellm # Найти следы в кеше uv find ~/.cache/uv -name "litellm_init.pth" # Проверить наличие бэкдора ls ~/.config/sysmon/sysmon.py ls ~/.config/systemd/user/sysmon.service
В Kubernetes: проверить поды с именем node-setup-* в namespace kube-system.
Если установлена релиз 1.82.7 или 1.82.8 — удалить пакет и очистить кеш:
pip uninstall litellm rm -rf ~/.cache/uv # или: pip cache purge
Версия для отката: 1.82.6 (опубликована 22 марта; в соответствии с отчёту Endor Labs, является последней незатронутой версией).
Все credentials на затронутой машине следует считать скомпрометированными и ротировать: SSH-ключи, токены AWS/GCP/Azure, kubeconfig, программный интерфейс-ключи из .env, пароли БД. Отдельно рекомендуется проверить CI/CD-пайплайны и Docker-образы, собиравшиеся с pip install litellm без пина версии за последние двое суток.
Контекст: кампания TeamPCP
В соответствии с отчётам Wiz и Endor Labs, атака на litellm предположительно является частью продолжающейся кампании группировки TeamPCP. По данным Endor Labs, каждый скомпрометированный средство открывал доступ к credentials, использованным в следующей атаке:
19 марта — компрометация Trivy (Aqua Security), 75 из 76 тегов
trivy-actionперезаписаны21–23 марта — компрометация KICS/Checkmarx GitHub Action, OpenVSX-расширений; распространение CanisterWorm в npm (64+ пакета)
24 марта — litellm на PyPI
Во всех задокументированных инцидентах фигурирует одна схема шифрования (AES-256 + RSA-4096) и один RSA-публичный ключ. По данным профиля группировки, опубликованного компанией Flare, TeamPCP действует как минимум с декабря 2025 года.
GitHub Issue #24512 в репозитории litellm был закрыт мейнтейнером как «not planned»; ветка обсуждения заполнена сотнями однотипных комментариев. По оценке исследователей FutureSearch, подобное поведение может свидетельствовать о компрометации аккаунта мейнтейнера.
Индикаторы компрометации (IoC)
Домен C2:
models.litellm[.]cloudВредоносный файл:
litellm_init.pthSHA-256:
ceNa7wMJnNHy1kRnNCcwJaFjWX3pORLfMh7xGL8TUjgБэкдор:
~/.config/sysmon/sysmon.pyK8s-поды:
node-setup-*в namespacekube-system
Источники
Читают сейчас

5 часов назад
Claude Code нашел 23-летний дефект в Linux
Николас Карлини, исследователь из Anthropic, рассказал на конференции [un]prompted 2026, что с помощью Claude Code обнаружил несколько удаленно эксплуатируемых уязвимостей в ядре Linux. Одна из них —
6 часов назад
OpenAI приобрела популярное бизнес-шоу
Организация OpenAI приобрела популярное ток-шоу технологической индустрии TBPN — Technology Business Programming Network. Ведущим шоу станет главный политический стратег OpenAI Крис Лехейн. Ознакомить
6 часов назад
Microsoft раскритиковали за принудительное включение Edge при запуске в тестах Windows 11
Пользователей возмутило, что Microsoft тестирует новые методы продвижения Edge как браузера по умолчанию в Windows 11. В критику компании включилась и коалиция браузеров. Читать далее

6 часов назад
Claude не хватает серверов — но Anthropic сознательно не торопится закупать новые
Anthropic столкнулась с острым дефицитом серверных мощностей: спрос на Claude растет быстрее, чем компания наращивает инфраструктуру. По данным The Information и Axios, нехватка GPU уже приводит к сбо
6 часов назад
Telegram усилит защиту опросов от накрутки ботов
Основатель Telegram Павел Дуров объявил, что в мессенджере появятся дополнительные механизмы для борьбы с накруткой голосов в опросах. Об этом он сообщил в комментариях к одному из публичных опросов о