Атаки на цепочки поставок программного обеспечения существуют уже несколько десятилетий, но в марте 2026 года произошло кое-что показательное: злоумышленники взломали популярный Python-пакет

Скомпрометированными оказались версии
Дальше начинается самое неприятное. Вредоносный код эксплуатирует известную особенность Python: скрипты, прописанные в
Обнаружили вредонос почти случайно. В коде содержалась ошибка, которая превращала машину жертвы в «форк-бомбу» — бесконечный цикл дочерних процессов, от которого система просто падала. Именно этот сбой и привлёк внимание исследователей из FutureSearch. Если бы не баг в собственном коде злоумышленников, атака могла бы работать куда дольше незамеченной.
Payload делал именно то, чего и следовало ожидать от промышленного шпионажа: вытягивал конфигурации AWS, GCP и Azure, сбрасывал переменные среды, целенаправленно искал
Здесь стоит остановиться на концептуальном противоречии, которое этот инцидент обнажает особенно чётко. Индустрия безопасности AI сегодня активно обсуждает prompt injection, отравление данных для обучения, model inversion и сложные техники джейлбрейка LLM. Это реальные угрозы, с ними нужно работать. Но пока все смотрели на горизонт в поисках хитроумных AI-специфичных атак, кто-то просто угнал аккаунт мейнтейнера и залил заражённый пакет в публичный реестр. Классика 2005 года, только с пометкой «AI ecosystem» в названии жертвы.
Автоматизированные CI/CD-пайплайны, которые мгновенно подтягивают последнюю версию зависимостей, в этой ситуации сыграли роль механизма самораспространения. Чем быстрее организация обновляла
Для команд, у которых среды обновлялись начиная с 24 марта 2026 года, действия должны быть однозначными. Ротация учётных данных немедленно: SSH-ключи, токены облачных провайдеров, пароли баз данных. Пакет
Долгосрочно проблема упирается в гигиену секретов и практики работы с зависимостями. Хранить долгоживущие учётные данные в переменных среды или держать незашифрованные
Инцидент с
litellm, который за месяц до инцидента скачали более 95 миллионов раз. Один только предшествующий день принёс 3 408 615 загрузок. Масштаб поражения оказался огромным, а вектор атаки при этом был откровенно старым. 
Изображение носит иллюстративный характер
Скомпрометированными оказались версии
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» появилось в названиях пакетов. Векторы атак не изменились. Изменилась привлекательность мишени.