Тихий взрыв в сердце вашего AI стека
Представьте, что фундамент вашего дома за ночь превратился в сахар. Примерно это произошло 23 марта 2026 года с двумя версиями LiteLLM — популярнейшей библиотекой, которую тысячи разработчиков используют для работы с GPT, Claude, Llama и десятками других моделей.
Версии 1.82.7 и 1.82.8 были скомпрометированы. В пакет на PyPI под видом официального обновления попал вредоносный код. Если вы установили LiteLLM в эти дни, ваш сервер мог уже отправить ключи API, токены аутентификации и конфигурации на внешний сервер.
На момент 24.03.2026 официальная команда LiteLLM уже удалила пакеты 1.82.7 и 1.82.8 с PyPI и выпустила чистый патч. Но тысячи инсталляций по всему миру остаются уязвимыми. Проблема не в исходном коде на GitHub, а в скомпрометированном пакете в репозитории.
1 Диагностика: ваш проект под ударом?
Не гадайте. Откройте терминал прямо сейчас.
# Перейдите в директорию вашего проекта
cd /path/to/your/project
# Активируйте виртуальное окружение, если используете
source venv/bin/activate # или аналогичная команда
# Проверьте установленную версию LiteLLM
python -c "import litellm; print(f'Установлена версия LiteLLM: {litellm.__version__}')"
Если терминал выводит 1.82.7 или 1.82.8 — немедленно остановите все процессы, которые используют эту библиотеку. Серьезно. Выключите демоны, остановите Docker-контейнеры, приостановите задачи в очереди (Celery, RQ).
2 Немедленная изоляция и ротация ключей
Предположим худшее: ваши credentials утекли. Действуйте по этому плану.
- Отзовите ВСЕ ключи API, которые могли быть переданы через LiteLLM: OpenAI, Anthropic (Claude), Google Vertex, AWS Bedrock, Azure OpenAI. Каждый.
- Смените пароли и токены к любым внутренним системам, если они хранились в конфиге рядом с LiteLLM.
- Проверьте логи вашего приложения и системные логи на предмет подозрительных исходящих подключений за последние 48 часов. Ищите домены, которые не относятся к официальным AI-провайдерам.
Для детальной оценки рисков и процедуры ротации загляните в наш специальный материал — Критическая уязвимость в LiteLLM 1.82.8.
3 Чистое обновление до безопасной версии
Нельзя просто сделать pip install --upgrade litellm. Скомпрометированный пакет может оставить следы. Нужна хирургическая чистка.
# 1. Принудительно удалите текущую версию
pip uninstall litellm -y
# 2. Очистите кэш pip (важно!)
pip cache purge
# 3. Установите последнюю подтвержденную безопасную версию.
# На 24.03.2026 это версия 1.82.9 или новее.
# Всегда проверяйте официальный GitHub на предмет последних рекомендаций.
pip install litellm==1.82.9
| Версия | Статус | Рекомендация |
|---|---|---|
| 1.82.7, 1.82.8 | Скомпрометирована | Немедленно удалить |
| 1.82.9 | Безопасна | Установить |
| 1.83.0 и выше (на 24.03.2026) | Безопасна | Рекомендуется к установке |
Типичные ошибки, которые все совершают
- Забывают про контейнеры. Обновили код на хосте, а 15 Docker-образов по-прежнему содержат старый слой с уязвимой версией. Пересоберите все образы с нуля.
- Не очищают кэш pip. Без
pip cache purgeследующийpip installможет достать скомпрометированный пакет из локального кэша. - Игнорируют косвенные зависимости. Ваш
requirements.txtможет не содержать явной ссылки на LiteLLM, но она может быть зависимостью другого пакета. Используйтеpip list | grep litellmво всех окружениях.
Что делать, если обновление ломает окружение?
Бывает. Новая версия библиотеки может конфликтовать с другими пакетами. Ваша задача — безопасность, а не совместимость. Алгоритм:
- Заморозьте работу с AI-функционалом в продакшене.
- Разверните изолированное тестовое окружение.
- Восстановите безопасную версию LiteLLM (1.82.9) и проверьте, не ломает ли она вашу логику. Если ломает — ищите проблему в своем коде или обновляйте зависимости.
- Никогда не откатывайтесь на скомпрометированные версии 1.82.7/1.82.8. Это хуже, чем просто выключить функционал.
Если проблемы со стабильностью всего AI стека вам знакомы, возможно, стоит посмотреть на альтернативные решения для инференса, например, vLLM 0.14.0, или погрузиться в сравнение локальных инструментов.
Вопросы, которые вы стеснялись задать
Мы не используем LiteLLM в продакшене, только в скриптах для исследований. Это критично?
Да. Если в вашем исследовательском ноутбуке есть доступ к корпоративным API-ключам, они могли утечь. Ротация ключей и очистка окружения обязательны.
Пакет устанавливали через GitHub, а не через PyPI. Мы в безопасности?
Скорее всего, да. Атака была на этапе публикации пакета в PyPI. Установка напрямую с GitHub (pip install git+https://...) должна быть безопасна. Но проверьте хэш коммита — он должен соответствовать официальному репозиторию.
Как в будущем избегать подобных проблем?
1. Используйте pip с флагом --hash для проверки целостности пакетов.
2. Рассмотрите использование приватного PyPI-зеркала (например, Sonatype Nexus или JFrog Artifactory) с политиками сканирования на уязвимости.
3. Внедрите автоматическое сканирование зависимостей (dependabot, renovatebot) и мониторинг безопасности (OSSF Scorecard).
И последнее. Эта история — не про баг в коде. Это про доверие к цепочке поставок программного обеспечения (software supply chain). Сегодня это LiteLLM, завтра — любая другая библиотека из вашего requirements.txt. Пересмотрите свои процессы. Сейчас.