Зафиксирована публикация в репозитории PyPI вредоносного выпуска библиотеки LiteLLM, насчитывающей 23 млн загрузок в неделю, а также подстановка вредоносного кода в официальный Docker-образ проекта. Это не первый подобный инцидент с LiteLLM — в марте этого года атакующие уже публиковали вредоносные выпуски после перехвата учётных данных сопровождающего. На этот раз атакующие разместили версию LiteLLM 1.107.0, в которую был встроен вредоносный код для организации удалённого выполнения команд, а также поиска и отправки учётных данных, ключей и токенов доступа.
Вредоносный код был подставлен на этапе сборочного процесса без компрометации git-репозитория. После установки вредоносный код активируется до импорта LiteLLM через установку файлов cook.pth, cook.py и sitecustomize.py в директорию с библиотеками Python. Данные файлы запускаются при каждом выполнении Python в системе без необходимости совершения пользователем каких-либо действий.
Вначале Python запускает файл cook.pth, в котором имеется только одна строка «import cook» для импорта скрипта cook.py, собирающего учётные данные. Далее импортируется скрипт sitecustomize.py, применяемый для фоновой загрузки внешнего кода (параметры загрузки определяются по ссылке «raw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txt»). Вредоносный код в обоих скриптах сжат через zlib и закодирован методом Base64. Индикатором компрометации может служить появление в системе файлов «/tmp/.pc_once_*» и «/tmp/remote_code_loader.lock».
После активации файл cook.py выполняет сканирование параметров подключения к облачным сервисам, репозиториям и системам непрерывной интеграции (AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub CLI, Vault, Terraform, Packer), учётных записей разработчиков, параметров подключения к Git, настроек npm и PyPI, файлов с переменными окружения, закрытых ключей для SSH, PGP и TLS, настроек AI-инструментов, браузерных БД c Cookie, хранимыми данными и историей, информации о процессах и переменных окружения. Обнаруженные данные шифруются с использованием алгоритмов AES-256-CBC + RSA-4096 и отправляются в форме проверочного запроса на сайт litellm.dev, созданный злоумышленниками.
Джерело: opennet.ru
