Вредоносный код в библиотеке LiteLLM: что нужно знать разработчикам

Исследователи безопасности из компании SafeDep обнаружили серьезную угрозу в экосистеме Python. В репозитории PyPI была опубликована скомпрометированная версия библиотеки LiteLLM под номером 1.107.0. Этот пакет содержал скрытый бэкдор и функционал для кражи учетных данных, что ставит под удар разработчиков, использующих данный инструмент в своих проектах.

Как работает угроза

Вредоносный код активируется автоматически при запуске любого процесса Python на хосте, даже если сама библиотека LiteLLM не была импортирована. Это происходит благодаря внедрению специальных файлов в директорию site-packages. Злоумышленники использовали хитрую схему: в конфигурационный файл сборки maturin была добавлена команда, копирующая скрытую папку с вредоносным содержимым в финальную версию пакета.

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

  • Пароли из популярных браузеров (Chromium, Firefox).
  • Ключи SSH и история командных оболочек (bash, zsh, PowerShell).
  • Облачные учетные данные (AWS, Azure, Google Cloud, Docker, Kubernetes).
  • Файлы с секретами разработки (.pem, .key, .pfx) и токены CI/CD систем.
  • Данные инструментов для работы с ИИ, включая Cursor, Claude Desktop, VS Code и другие.

Последствия и рекомендации

Анализ показал, что официальный исходный код на GitHub не содержит этих вредоносных вставок. Вероятно, злоумышленники получили доступ к частному конвейеру сборки (CI/CD) компании BerriAI, что позволило им сформировать и подписать «отравленные» файлы. При этом версии 1.106.2, а также релиз-кандидаты 1.107.0rc1 и rc2 остаются безопасными.

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

Источник: safedep.io

Leave a Comment