Ваш AI-стек уже слил ключи от инфраструктуры: что случилось с litellm

Атаки на цепочки поставок программного обеспечения существуют уже несколько десятилетий, но в марте 2026 года произошло кое-что показательное: злоумышленники взломали популярный Python-пакет litellm, который за месяц до инцидента скачали более 95 миллионов раз. Один только предшествующий день принёс 3 408 615 загрузок. Масштаб поражения оказался огромным, а вектор атаки при этом был откровенно старым.
Ваш AI-стек уже слил ключи от инфраструктуры: что случилось с litellm
Изображение носит иллюстративный характер

Скомпрометированными оказались версии 1.82.7 и 1.82.8. Если в вашей среде пакет обновлялся 24 марта 2026 года или позже — считайте, что инфраструктура уже была под контролем посторонних. Атакующие сначала захватили учётные записи мейнтейнеров проекта, затем обошли стандартные протоколы GitHub для релизов и залили отравленные версии напрямую в PyPI. Никаких экзотических zero-day. Просто угнанный аккаунт и прямой доступ к реестру пакетов.
Дальше начинается самое неприятное. Вредоносный код эксплуатирует известную особенность Python: скрипты, прописанные в .pth-файлах, запускаются в момент старта интерпретатора — до того, как разработчик вообще что-либо импортирует. Файл litellm_init.pth запускался автоматически. Не нужно было явно вызывать библиотеку. Достаточно того, что Python просто запустился в среде, где стоял заражённый пакет.
Обнаружили вредонос почти случайно. В коде содержалась ошибка, которая превращала машину жертвы в «форк-бомбу» — бесконечный цикл дочерних процессов, от которого система просто падала. Именно этот сбой и привлёк внимание исследователей из FutureSearch. Если бы не баг в собственном коде злоумышленников, атака могла бы работать куда дольше незамеченной.
Payload делал именно то, чего и следовало ожидать от промышленного шпионажа: вытягивал конфигурации AWS, GCP и Azure, сбрасывал переменные среды, целенаправленно искал .env-файлы. В Kubernetes-окружениях сценарий разворачивался агрессивнее — обнаруживались токены сервисных аккаунтов, после чего происходила кража секретов из всех пространств имён, побег из контейнера и установка персистентных бэкдоров прямо на хост-узлы. Аномальные привилегированные поды появлялись с паттерном имён node-setup- в пространстве имён kube-system. Зашифрованные данные уходили на сервер атакующих через домен checkmarx.zone — намеренно похожий на легитимный бренд, чтобы проскочить через DNS-фильтры.
Здесь стоит остановиться на концептуальном противоречии, которое этот инцидент обнажает особенно чётко. Индустрия безопасности AI сегодня активно обсуждает prompt injection, отравление данных для обучения, model inversion и сложные техники джейлбрейка LLM. Это реальные угрозы, с ними нужно работать. Но пока все смотрели на горизонт в поисках хитроумных AI-специфичных атак, кто-то просто угнал аккаунт мейнтейнера и залил заражённый пакет в публичный реестр. Классика 2005 года, только с пометкой «AI ecosystem» в названии жертвы.
Автоматизированные CI/CD-пайплайны, которые мгновенно подтягивают последнюю версию зависимостей, в этой ситуации сыграли роль механизма самораспространения. Чем быстрее организация обновляла litellm, тем быстрее разворачивался вредонос. Навязчивая идея «всегда иметь самый свежий патч» при отсутствии карантина для новых версий фактически автоматизирует атаку на стороне жертвы.
Для команд, у которых среды обновлялись начиная с 24 марта 2026 года, действия должны быть однозначными. Ротация учётных данных немедленно: SSH-ключи, токены облачных провайдеров, пароли баз данных. Пакет litellm удалить, найти и убрать litellm_init.pth, очистить кэши пакетного менеджера. SOC-командам нужно проверить наличие sysmon.service, файлов /tmp/pglog и /tmp/.pg_state. В Kubernetes — аудит kube-system на паттерн node-setup-. Весь исходящий трафик на checkmarx.zone и models.litellm.cloud блокировать немедленно.
Долгосрочно проблема упирается в гигиену секретов и практики работы с зависимостями. Хранить долгоживущие учётные данные в переменных среды или держать незашифрованные .env-файлы на продакшн-дисках — значит передавать инфраструктуру любому, кто получит доступ к процессу. Реестры с открытым исходным кодом вроде PyPI работают на принципе хрупкого доверия: публикует тот, у кого есть права на аккаунт, а не тот, кто заслуживает доверия по существу. Пиннинг зависимостей к криптографическим хэшам, карантин обновлений перед деплоем и поведенческий мониторинг в рантайме — это не перестраховка, а базовая гигиена. TrendAI в своих продуктах Cloud Risk and Exposure Management и Code Security, а также в Container Security и Vision One XDR предлагает инструменты как для статического анализа на стадии сборки, так и для поведенческого детектирования в рантайме. Двухуровневый подход здесь не прихоть: один слой не успевает закрыть то, что пропускает другой.
Инцидент с litellm наглядно показывает, что AI-стек — это прежде всего программный стек со всеми его унаследованными рисками. Отчёты «The DevOps minefield» и «The hidden danger of environment variables» описывали эти угрозы задолго до того, как слово «AI» появилось в названиях пакетов. Векторы атак не изменились. Изменилась привлекательность мишени.


Новое на сайте

20984Уязвимость SonicOS может обходить SAML-аутентификацию и MFA 20983Как злоумышленники использовали доступ Qubole к AWS для кражи данных? 20982ИИ-агенты вскрыли данные экстренных служб Тайваня 20981Почему LNbits попросила операторов отключить серверы? 20980Холодильники под атакой: киберсбой может испортить продукты и кровь 20979Как пароль admin:admin открыл доступ к автомобилям? 20978PapRAT: три пути проникновения в сети южной Азии 20977Кража или спасение: что произошло с кошельками Keplr? 20976Что известно о деле бывшего инженера OpenAI Альфозана? 20975Критические уязвимости Langflow открывают путь к серверу 20974Почему уязвимость WordPress CVE-2026-119977 уже требует срочного обновления? 20973Как cwpdoor выполняет команды на серверах CWP, не оставляя записей в логах? 20972Как DNS-подмена превратила Sogou в канал для шпионажа? 20971Уязвимость в Paint исправили — почему Windows Update не поможет? 20970Как понять, защищён ли Android от ноябрьских уязвимостей?
Ссылка