Перейти к содержимому
sNews Новости из мира IT и не только!
Новости

LiteLLM PyPI compromised: malicious package 1.107.0 steals credentials via supply chain attack

21 октября 2026 года в PyPI опубликовали вредоносный релиз LiteLLM 1.107.0, который крал SSH-ключи, токены облачных провайдеров и данные браузеров.

Рейтинг 4.4 62 оценки
Векторная иллюстрация атаки на цепочку поставок библиотеки LiteLLM в репозитории PyPI.

21 октября 2026 года около 11:39 UTC в репозиторий PyPI загрузили релиз LiteLLM 1.107.0, в который внедрили вредоносный код. Все семь wheel-файлов для macOS, Linux, musl Linux и Windows содержали три дополнительных файла, отсутствовавших в исходном sdist и теге v1.107.0 на GitHub. Официальный Docker-образ litellm/litellm:1.107.0 также оказался скомпрометирован.

Как работал вредоносный код в LiteLLM PyPI

Файл cook.pth запускал cook.py при старте любого интерпретатора Python через механизм site. Скрипт размером около 61 КБ извлекал пароли и куки из Chromium и Firefox, SSH- и GPG-ключи, учётные данные AWS, Azure, GCP, Kubernetes, Docker, CI/CD-систем, а также переменные окружения других процессов. Данные шифровались AES-256-CBC и RSA-OAEP, затем отправлялись на http://www.litellm.dev/healthcheck.

sitecustomize.py создавал фоновый процесс, который каждый час проверял GitHub-репозиторий letters9813/pythonclient-test на наличие домена C2 и выполнял произвольный код. Stealer работал независимо от backdoor. Атака затронула все платформенные сборки, но не исходный код в репозитории.

PyPI удалил релиз примерно в 13:20–13:40 UTC. Docker Hub и GHCR также убрали затронутые теги. По данным JFrog и SafeDep, это уже второй инцидент с LiteLLM в 2026 году.

Хронология и последствия компрометации LiteLLM PyPI

Аккаунт letters9813 и домен litellm.dev зарегистрировали 13 октября. Мёртвая точка для C2 настроена 18 октября. Легитимная версия 1.106.2 вышла в 10:44 UTC. Вредоносные wheel-файлы собрали между 11:20 и 11:37, загрузили в 11:39–11:40. LiteLLM подтвердила инцидент около 06:32 PDT и рекомендовала считать скомпрометированными все учётные данные, извлечённые на машинах с установленным пакетом.

Инфографика таймлайна компрометации версий LiteLLM от легитимной 1.106.2 до версии 1.107.0.
Хронология подмены легитимного пакета LiteLLM вредоносной версией 1.107.0 на PyPI.

Проект еженедельно скачивают около 23 миллионов раз. Безопасными остаются версии 1.106.2, 1.107.0rc1 и rc2. Инъекция произошла на этапе сборки wheel или в релиз-пайплайне, что подтверждают записи provenance и отсутствие вредоносного кода в sdist. Пользователи enterprise-репозиториев не пострадали.

Сообщество отслеживает развитие событий в GitHub issue #47826. Разработчикам рекомендуют проверить установленные версии, ротировать токены и обновить сканеры зависимостей. Полные детали компрометации пайплайна релиза пока не опубликованы.

Частые вопросы

Какие версии LiteLLM безопасны после атаки на PyPI?

Безопасными признаны 1.106.2, 1.107.0rc1 и 1.107.0rc2. Все wheel-файлы версии 1.107.0 удалены из PyPI.

Что именно крал вредоносный код из LiteLLM PyPI?

Скрипт извлекал SSH/GPG-ключи, пароли браузеров, токены AWS, Azure, GCP, Kubernetes, CI/CD-систем и данные из таблиц LiteLLM.

Как распространялся backdoor в релизе 1.107.0?

Через cook.pth, cook.py и sitecustomize.py, добавленные только в wheel-сборки. Код запускался при старте Python без явного импорта пакета.

Нужно ли ротировать токены после установки LiteLLM 1.107.0?

Да. LiteLLM официально рекомендовала считать все извлечённые учётные данные скомпрометированными и выполнить ротацию.

Комментарии

Комментариев пока нет. Будьте первым!

Оставить комментарий