Популярная Python-библиотека LiteLLM оказалась заражена вредоносным кодом. Версия 1.82.8, опубликованная на PyPI, содержала скрипт, который автоматически запускался при старте Python — даже если разработчик не писал import litellm.
Механизм атаки изящен и неприятен. В колесо пакета был вшит файл litellm_init.pth. Python автоматически исполняет .pth-файлы из директории site-packages при каждом запуске интерпретатора. Полезная нагрузка была дважды закодирована в base64 — чтобы не попасться при простом поиске по коду.
Скрипт собирал всё, до чего мог дотянуться: переменные окружения со всеми API-ключами и токенами, SSH-ключи, учётные данные AWS, GCP, Azure, Kubernetes, Docker, Git, конфиги баз данных, историю терминала, крипто-кошельки и SSL-сертификаты. Собранные данные шифровались AES-256, ключ сессии — 4096-битным RSA, и всё это уходило на сервер models.litellm.cloud — домен, имитирующий официальный litellm.ai.
Атака затрагивает не только локальные машины разработчиков, но и CI/CD-пайплайны, Docker-контейнеры и продакшн-серверы. LiteLLM широко используется как прокси и маршрутизатор к различным LLM-провайдерам, поэтому на машинах с ним почти гарантированно лежат ключи к OpenAI, Anthropic, Azure OpenAI и десяткам других сервисов.
Версия 1.82.8 уже удалена с PyPI. Если она была установлена в вашей среде, необходимо немедленно ротировать все секреты — ключи API, SSH, облачные учётные данные. Проверить заражение можно командой: найти файл litellm_init.pth в директории site-packages.
Атака обнаружена 24 марта 2026 года исследователем безопасности, который опубликовал полный технический разбор в трекере BerriAI на GitHub. Команда проекта пока не прокомментировала, как именно был скомпрометирован их PyPI-аккаунт или CI/CD-пайплайн.