Вредоносные релизы LiteLLM затронули более 2100 организаций
Кампания TeamPCP добралась до PyPI
В середине марта две вредоносные версии открытого AI-шлюза LiteLLM примерно на 40 минут появились в репозитории PyPI. Инцидент стал частью масштабной атаки на цепочку поставок, начавшейся со взлома сканера Trivy от Aqua Security.
Специалисты CloudSEK проанализировали массив из примерно 434 000 файлов, захваченных злоумышленниками, и обнаружили потенциальное воздействие на более 2500 организаций. Среди них — NVIDIA, Cisco, Deloitte, Volkswagen, FedEx, Siemens и X Corp. Окончательный список пострадавших всё ещё уточняется.
Файлы, попавшие в руки исследователей, представляют собой логи и украденные данные, а не результаты опроса компаний. CloudSEK подчёркивает: это именно информация, похищенная атакующими, а не просто список тех, кто мог бы пострадать.
Опубликован публичный поисковый инструмент, где по названию организации или домену можно проверить предполагаемую степень компрометации. Каждой записи присвоен уровень уверенности: High или Medium.
Что именно попало под удар
Проблемные пакеты — версии 1.82.7 и 1.82.8 — находились в PyPI 24 марта с 10:39 UTC около 40 минут. Затем репозиторий поместил их в карантин, однако разработчики рекомендуют считать подозрительными любые установки, выполненные в тот день до 16:00 UTC.
Опасность версии 1.82.8 заключалась в файле litellm_init.pth. Python обрабатывает его при запуске интерпретатора, поэтому вредоносный код выполнялся всегда, когда в окружении стартовал любой Python-процесс, даже если сама библиотека LiteLLM не импортировалась.
Собранные данные — переменные окружения, SSH-ключи, облачные учётные данные, токены Kubernetes, пароли баз данных — отправлялись на контролируемый атакующими домен models.litellm[.]cloud.
Мы получили эти файлы из источников разведывательных данных. Это не просто список организаций, а захваченная добыча и логи, принадлежащие именно этой кампании.
Аналитики Unit 42 отметили, что полезная нагрузка также читала переменные окружения с API-ключами моделей, включая OPENAI_API_KEY и ANTHROPIC_API_KEY. Таким образом, под угрозой оказались не только инфраструктурные секреты, но и доступ к коммерческим AI-сервисам.
Связь со взломом Trivy и рекомендации
Инцидент с LiteLLM — прямое продолжение атаки на Trivy, которую Google отслеживает как UNC6780. После неполной ротации учётных данных злоумышленники сохранили доступ и 19 марта принудительно внедрили вредоносные коммиты в 76 из 77 тегов trivy-action и все семь тегов setup-trivy, а также выпустили заражённый релиз Trivy 0.69.4.
Уязвимость получила идентификатор CVE-2026-33634 и 26 марта была добавлена в каталог эксплуатируемых уязвимостей CISA. Теперь в записи CVE указаны и версии LiteLLM с 1.82.7 по 1.82.8.
Как именно вредоносные релизы попали в PyPI — вопрос остаётся спорным. Версия CloudSEK указывает на отравленную сборку, тогда как отчёт LiteLLM говорит о прямой загрузке в обход CI/CD, а Unit 42 связывает всё с кражей токенов публикации после взлома Trivy. В CloudSEK парируют: это не конкурирующие версии, а разные стадии одной атаки.
ФБР в рекомендациях FLASH-20260702-01 призвало организации немедленно сменить секреты CI/CD, токены публикации и облачные учётные данные, которые могли быть доступны в период компрометации. Ведомство также советует отказываться от долгоживущих токенов в пользу временных.
Конкретные шаги для проверки:
- Проверить, не устанавливались ли версии LiteLLM 1.82.7 или 1.82.8 в промежутке с 10:39 до 16:00 UTC 24 марта.
- Ротировать все секреты, к которым эти системы имели доступ.
- Поискать в GitHub-организациях репозитории с именами tpcp-docs или docs-tpcp — индикаторы кампании из списка ФБР.
Проверять репозитории нужно внимательно: вредонос создавал их с префиксом tpcp-docs- и грузил украденные данные как релизный актив с тегом data-<timestamp>. Поиск по точному совпадению имени может не дать результата.
Читайте также: Что такое компьютерный вирус и как он заражает системы
Источник: The Hacker News
