Злоумышленники внедрили стилер и бэкдор в LiteLLM 1.107.0
21 октября 2026 года злоумышленники скомпрометировали LiteLLM 1.107.0, внедрив вредоносный код в опубликованные колёса PyPI и официальный образ Docker. Директива data = cook в файле pyproject.toml привела к тому, что инструмент сборки Rust/Python maturin включил в артефакты каталог cook/, созданный в скомпрометированной среде. В исходном репозитории и дистрибутиве исходного кода этого каталога не было, поэтому злоумышленник смог изменить скомпилированные артефакты, не затрагивая видимый исходный код.
Файлы вредоносной сборки
Пакет устанавливал в каталог site-packages Python три вредоносных файла. cook.pth автоматически импортировал cook.py при каждом запуске Python. Обфусцированный cook.py содержал стилер: при первом запуске он создавал файл-маркер /tmp/.pc_once_72129118c59f5636c0bb, чтобы предотвратить повторное выполнение.
Инъекция в sitecustomize.py выполняла роль троянской программы. Она запускала фоновый демон, который использовал файл /tmp/remote_code_loader.lock для предотвращения запуска дублирующих экземпляров и каждый час опрашивал инфраструктуру злоумышленников. Демон получал домен C2 из репозитория GitHub и загружал Python-код с конечной точки /codepy. Код выполнялся с привилегиями процесса Python и мог использоваться для выполнения произвольных команд, дальнейшего хищения данных, развёртывания файлов, перемещения внутри компании и установки дополнительных полезных нагрузок.
Собираемые данные и действия для организаций
Стилер собирал:
- системную информацию;
- пароли и историю браузера;
- учётные данные Firefox;
- ключи SSH;
- историю командной строки;
- учётные данные облачных сервисов и метаданные экземпляров;
- секреты Docker и Kubernetes;
- учётные данные CI/CD;
- токены инструментов разработчика;
- учётные данные Git и менеджеров пакетов;
- ключи GPG и TLS;
- переменные окружения;
- содержимое базы данных LiteLLM, включая API-ключи провайдеров и конфигурации моделей.
Собранные данные шифровались встроенным публичным ключом RSA-4096 и отправлялись методом HTTP POST на управляемый злоумышленниками адрес www.litellm.dev/healthcheck.
Организациям, установившим litellm==1.107.0 или использовавшим затронутый образ Docker либо связанные с ним теги, рекомендуется считать учётные данные скомпрометированными, изучить sentinel- и lock-файлы, обновить раскрытые секреты, а также проверить затронутые хосты и рабочие нагрузки. Впоследствии PyPI, реестры Docker и репозиторий атакующих на GitHub удалили выявленные артефакты.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



