Релиз LiteLLM 1.107.0 на PyPI содержал стилер и загрузчик

Версия LiteLLM 1.107.0 была скомпрометирована на PyPI: во все семь опубликованных колёс для разных платформ попали три несанкционированных файла, которые копировались в среду Python при установке. Исходный код пакета на Python не меняли, подмену внесли через модифицированную конфигурацию сборки Maturin. Файлы .pth и sitecustomize.py выполняются при запуске Python, поэтому вредоносные нагрузки срабатывали при запуске Python, pip, тестов, Jupyter или прокси LiteLLM, даже если пакет не импортировали.

Сбор данных и удалённое выполнение кода

Полезная нагрузка cook, обозначенная как privcollect, собирала учётные данные и файлы cookie браузера, ключи SSH и GPG, закрытые сертификаты, учётные данные облачных и разработческих сервисов, конфигурации Kubernetes и Docker, секреты CI/CD и Vault, переменные окружения доступных процессов, историю команд в оболочке и базе данных, а также учётные данные для множества инструментов ИИ для написания кода. На хостах с прокси LiteLLM, где была задана переменная DATABASE_URL, она пыталась извлечь из базы данных учётные данные провайдеров и конфигурации моделей.

Собранные данные шифровались с помощью AES-256-CBC, а ключ шифрования оборачивался в RSA-4096. Затем данные упаковывались в архив tar и отправлялись по HTTP на www.litellm.dev/healthcheck с жёстко заданным заголовком X-Token. Сбор повторялся при каждом запуске Python до успешной отправки данных.

Вторая полезная нагрузка использовала sitecustomize.py для создания отсоединённого демона в Linux и macOS. Демон получал блокировку в /tmp/remote_code_loader.lock, затем каждый час извлекал имя узла из репозитория GitHub letters9813/pythonclient-test, загружал /codepy и выполнял его содержимое с помощью функции Python exec(). В Windows функциональность демона отсутствовала, но стиллер учётных данных продолжал работать.

Индикаторы и действия на затронутых системах

Потенциальными индикаторами компрометации могут служить:

  • файлы cook.pth и cook.py, а также несанкционированные файлы sitecustomize.py в каталоге site-packages;
  • файл /tmp/.pc_once_72129118c59f5636c0bb и файл блокировки загрузчика;
  • соединения с доменом litellm.dev и репозиторием атакующего на GitHub;
  • запросы, путь которых заканчивается на /codepy.

Для затронутых систем указаны следующие действия:

  • завершить работу загрузчика;
  • удалить файлы полезной нагрузки;
  • переустановить LiteLLM версии 1.106.2 или другую проверенную чистую версию;
  • расследовать сетевую активность;
  • обновить все учётные данные, доступные с данного хоста.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Об этом также писали: socket.dev, safedep.io.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии:

Как мы обрабатываем данные: политика обработки персональных данных