Популярный пакет Python LiteLLM был скомпрометирован в рамках атаки на цепочку поставок программного обеспечения, которая привела к внедрению похитителя учетных данных и бэкдора, согласно сообщениям SafeDep, Socket, StepSecurity и Upwind.
Компрометация затронула LiteLLM версии 1.107.0, распространяемую через пакеты PyPI и образы Docker. Пакет Python был помещен в карантин в Python Package Index (PyPI), а вредоносные образы Docker удалены.
Оливер Йенсен, директор по безопасности LiteLLM, сообщил, что расследование инцидента продолжается, и команда все еще пытается отследить первоначальный вектор атаки, с помощью которого злоумышленник опубликовал вредоносный релиз.
«Мы установили, что вредоносные действия были совершены через учетные записи трех инженеров на GitHub, предположительно, с использованием украденных токенов OAuth GitHub CLI», — сказал Йенсен. «Злоумышленник использовал учетную запись одного пользователя для запуска процесса выпуска проекта, а учетную запись другого пользователя — для его утверждения. Все токены, задействованные в этой атаке, были отозваны».
«Мы еще не установили механизм, с помощью которого злоумышленник получил соответствующие токены, поэтому пока не можем утверждать, что дальнейшего доступа к этим учетным записям GitHub не было. В качестве временной меры мы удалили всех, кроме одного (не затронутого) пользователя, из нашей организации GitHub».
Отдельно LiteLLM сообщила, что обновила публичные реестры, чтобы удалить любые доверенные ссылки на свою организацию GitHub, предотвратив тем самым дальнейшую публикацию вредоносных пакетов.
Анализ вредоносной версии показал, что она оснащена для сбора облачных учетных данных, приватных ключей, данных браузера и файлов аутентификации для инструментов разработки ИИ. Затронуты следующие пакеты:
«Первый полезный груз — это похититель учетных данных под названием privcollect», — заявила StepSecurity. «Второй полезный груз запускает фоновый демон, который каждый час проверяет скрытый канал на GitHub и выполняет любой код Python, который предоставляет злоумышленник».
Вредоносное ПО запускается через Python еще до импорта LiteLLM с помощью файла пути (`cook.pth`), который предназначен для автоматического выполнения кода при запуске интерпретатора. Стоит отметить, что такое же поведение наблюдалось при компрометации LiteLLM, произошедшей в рамках атак на цепочку поставок TeamPCP ранее в марте.
Файл `cook.pth` содержит одну строку: `import cook`, которая, в свою очередь, запускает полезный груз сборщика учетных данных. Это включает сбор облачных токенов, учетных записей разработчиков и приватных ключей, файлов JSON с учетными данными для инструментов ИИ, данных браузера, связанных с Chromium и Firefox, а также переменных среды.
Вредоносное ПО также способно нацеливаться на развертывания LiteLLM с целью извлечения сохраненных учетных данных прокси и конфигурации модели. Собранные данные упаковываются в TAR-архив, сжатый GZIP, и отправляются на `litellm[.]dev/healthcheck` посредством HTTP POST-запроса.
Кроме того, вредоносное ПО предназначено для чтения содержимого текстового файла (`domain.txt`), расположенного в репозитории GitHub (`github[.]com/letters9813`), проверки наличия в нем домена и, если он есть, запуска того же похитителя, а затем выполнения HTTP GET-запроса к `
Пользователям, загрузившим вредоносную версию, рекомендуется отозвать и заменить скомпрометированные учетные данные из чистой среды и зафиксировать версию 1.106.2 по дайджесту.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Ravie Lakshmanan




