Популярную ИИ-библиотеку LiteLLM заразили бэкдором через PyPI

Популярную ИИ-библиотеку LiteLLM заразили бэкдором через PyPI

Популярную ИИ-библиотеку LiteLLM заразили бэкдором через PyPI

В экосистеме ИИ-разработки всплыла неприятная история: исследователи из Endor Labs обнаружили, что популярная Python-библиотека LiteLLM, у которой больше 95 млн загрузок в месяц, была скомпрометирована в репозитории PyPI. Через заражённые версии злоумышленники распространяли многоступенчатый бэкдор.

Речь идёт о версиях 1.82.7 и 1.82.8. Причём в официальном GitHub-репозитории проекта такого вредоносного кода не было.

Проблема возникла именно в пакетах, опубликованных в PyPI: туда попал файл с закладкой, который декодировал и запускал скрытую нагрузку сразу после импорта библиотеки.

Во второй заражённой версии, 1.82.8, схема стала ещё жёстче. Пакет устанавливал .pth-файл в директорию site-packages, из-за чего вредоносный код мог запускаться вообще при любом старте Python, даже если сам LiteLLM никто не импортировал.

После запуска зловред начинал искать самое ценное: SSH-ключи, токены AWS, GCP и Azure, секреты Kubernetes, криптокошельки и другие конфиденциальные данные. Если заражение происходило в контейнерной или кластерной среде, вредонос пытался двигаться дальше по инфраструктуре, в том числе через развёртывание привилегированных подов на узлах Kubernetes.

Для закрепления на хосте атакующие, как сообщается, ставили systemd-бэкдор sysmon.service, который регулярно связывался с командным сервером и мог получать новые команды или дополнительные вредоносные модули.

Специалисты считают, что за атакой стоит группировка TeamPCP, которая в последнее время явно разошлась: до этого её уже замечали в инцидентах, затронувших GitHub Actions, Docker Hub, npm и OpenVSX.

Украденные данные, по информации исследователей, шифровались и отправлялись на сервер атакующих. Для маскировки использовались домены, внешне похожие на легитимные, например models.litellm[.]cloud и checkmarx[.]zone.

Сейчас разработчикам и DevOps-командам советуют как можно быстрее проверить окружение. Последней известной чистой версией LiteLLM считается 1.82.6. Если в системе использовались 1.82.7 или 1.82.8, нужно проверить наличие файла litellm_init.pth, артефактов вроде ~/.config/sysmon/sysmon.py и сервиса sysmon.service.

CodeScoring запустила собственное хранилище программных артефактов Save

Компания CodeScoring представила собственное хранилище артефактов CodeScoring.Save. Решение предназначено для хранения и распространения пакетов, библиотек, контейнерных образов и других компонентов, используемых в разработке ПО.

Save ориентировано на корпоративный сегмент и компании любого масштаба, которым необходим предсказуемый и отказоустойчивый репозиторий артефактов.

Об этом Anti-Malware рассказал руководитель разработки продуктов CodeScoring Дмитрий Ключников на конференции CodeScoring Masters. По его словам, разработка Save велась на языке Go с прицелом на современные Kubernetes-среды и стандарты безопасной разработки.

«Мы привлекли к тестированию доверенных партнёров и заказчиков, готовых проверять решение на практике с самых ранних этапов. Их регулярная обратная связь помогает нам калибровать архитектуру и функциональность Save под реальные рыночные требования», — рассказал Дмитрий Ключников.

Хранилище артефактов используется разработчиками как централизованная точка для получения, хранения и распространения компонентов ПО. В эту категорию входят, например, Sonatype Nexus Repository, JFrog Artifactory и Harbor. При этом Save поставляется с готовым инструментом автоматической миграции с открытых репозиториев.

CodeScoring.Save рассчитано одновременно на размещение собственных артефактов и работу с внешними репозиториями через прокси. В продукте заявлена поддержка Maven, npm, NuGet, PyPI, Go Modules, Docker/OCI, DEB, RPM и RAW-файлов.

Save разработано на Go, разворачивается в Kubernetes и поставляется через Helm. В систему встроены ролевая модель, отдельные аккаунты для автоматизированных систем, аудит систем, аудит действий пользователей и API. Вычислительная часть приложения отделена от слоя хранения, что позволяет масштабировать их независимо.

Одной из особенностей нового продукта разработчики называют встроенную работу с безопасностью артефактов. Безопасность заложена в архитектурную основу продукта: интеграция с CodeScoring.OSA позволяет проверять компоненты с использованием данных платформы CodeScoring. Таким образом, базовую информацию о найденных проблемах можно будет получать непосредственно в хранилище.

При этом CodeScoring не собирается привязывать новое хранилище к покупке основной платформы.

«Это абсолютно отделяемое решение. Оно может продаваться вместе с CodeScoring, а может продаваться отдельно», — подчеркнул Дмитрий Ключников.

Продукт поставляется как самостоятельное локальное решение для развёртывания в инфраструктуре заказчика. Ключевые корпоративные возможности включены в базовую функциональность продукта. Запуск собственного репозитория усиливает возможности всей платформы безопасной разработки CodeScoring.

Сейчас OSA Proxy и Save решают разные задачи. OSA Proxy проверяет пакеты и манифесты, которые разработчики получают из внешних репозиториев, по заданным политикам безопасности. Save отвечает прежде всего за хранение и распространение самих артефактов.

Тесная интеграция с модулем OSA обеспечивает соблюдение политик безопасности и блокировку опасных компонентов непосредственно на уровне репозитория.

«Интеграция модулей позволит выстроить бесшовный контроль: Save становится единой доверенной точкой входа, предотвращая попадание вредоносных пакетов в контур разработки», — рассказал Ключников.

По его словам, наличие собственного хранилища позволяет разработчикам CodeScoring не зависеть от набора данных и возможностей интеграции, которые предоставляют сторонние системы управления репозиториями.

Ещё одним направлением развития продукта станет работа с моделями искусственного интеллекта как с отдельным типом артефактов.

На первом этапе речь идёт о хранении и распространении моделей. Среди экосистем, поддержку которых рассматривают разработчики, Дмитрий Ключников назвал Hugging Face.

«В первую очередь мы рассматриваем базовый функционал — именно хранение и дистрибуцию моделей», — пояснил он.

Более сложные возможности, в том числе инфраструктура для обучения моделей, пока находятся на стадии изучения спроса.

CodeScoring также планирует сертифицировать Save с учётом российских требований безопасной разработки.

Параллельно разработчики ориентируются и на зарубежные практики, связанные с подтверждением происхождения и целостности программных артефактов.

Таким образом, после запуска Save линейка CodeScoring выйдет за пределы анализа и проверки сторонних компонентов: компания добавляет собственную инфраструктуру для их хранения и распространения.

RSS: Новости на портале Anti-Malware.ru