Атаки на цепочку поставок искусственного интеллекта продолжают набирать обороты. На этот объектом злоумышленников стал официальный клиент компании Mistral для языка Python, размещённый в репозитории PyPI. Версия 2.4.6 пакета mistralai содержит скрытый вредоносный код, который при импорте библиотеки автоматически запускает цепочку заражения на системах под управлением Linux. Исследователи из Microsoft Threat Intelligence уже опубликовали предупреждение для всех, кто использует этот пакет в своих проектах.
Описание
Речь идёт об атаке, направленной на кражу учётных данных разработчиков и администраторов. Вредоносная функция встроена в файл mistralai/client/__init__.py. Как только программист импортирует библиотеку в свой код, код проверяет, работает ли хост на Linux. Если условие выполняется, устанавливается переменная окружения MISTRAL_INIT, после чего происходит загрузка второго компонента с удалённого сервера по адресу hxxps://83[.]142[.]209[.]194/transformers.pyz. Полученный файл сохраняется как /tmp/transformers.pyz и сразу выполняется.
Выбор имени далеко не случаен. Файл transformers.pyz имитирует одноимённую экосистему от Hugging Face, которая широко используется в задачах машинного обучения. Для разработчиков и системных администраторов такое название выглядит привычным, что позволяет вредоносному коду оставаться незамеченным. После запуска второй этап payload (полезной нагрузки) начинает сбор учётных записей, ключей доступа и токенов, хранящихся на заражённой машине.
Особую опасность подчёркивают эксперты Microsoft: кража токенов в средах искусственного интеллекта и DevOps способна открыть злоумышленникам доступ к облачным платформам, репозиториям моделей и внутренним сервисам. Один скомпрометированный хост может стать точкой входа для более масштабного проникновения в инфраструктуру.
Вредоносное программное обеспечение содержит и необычную логику, связанную с географией. Оно явно избегает выполнения на системах с русскоязычной средой, то есть в России атака, скорее всего, не сработает. Однако для машин, которые находятся в Израиле или Иране, предусмотрен деструктивный сценарий. С вероятностью один к шести запускается команда rm -rf /. По сути, это попытка уничтожить всю файловую систему, превратив заражение из кражи данных в полноценную диверсию. Такой подход позволяет принести максимальный ущерб в определённых регионах, а не только собрать информацию.
Помимо основного файла /tmp/transformers.pyz злоумышленники пытаются закрепиться в системе. Microsoft отмечает, что на скомпрометированных хостах стоит искать наличие скрипта pgmonitor[.]py и служебного модуля systemd с именем pgsql-monitor.service. Эти элементы являются частью инструментария атакующих. Они обеспечивают устойчивость к перезагрузке и позволяют поддерживать постоянный канал для сбора данных.
Данная атака продолжает серию аналогичных инцидентов, когда в популярные пакеты для разработчиков на языке Python встраивают многоэтапные вредоносные компоненты. Цель всегда одна - заполучить учётные данные и затем использовать их для перемещения по облачным или контейнерным средам, включая кластеры Kubernetes. Злоупотребив доверием к таким каналам распространения, как PyPI, и замаскировав вредоносные файлы под привычные компоненты машинного обучения, атакующие заметно повышают свои шансы проникнуть в чувствительную инфраструктуру.
Что делать специалистам? Microsoft рекомендует считать любую среду, где мог быть установлен или импортирован пакет mistralai версии 2.4.6, потенциально скомпрометированной. В первую очередь необходимо изолировать Linux-хосты, на которых присутствовал пакет с бэкдором. Особое внимание стоит уделить узлам непрерывной интеграции и развёртывания (CI/CD), узлам обучения нейронных сетей и общим шлюзам разработки.
Сетевые и защитные экраны нужно обновить таким образом, чтобы блокировать любой исходящий трафик на IP-адрес 83[.]142[.]209[.]194. Параллельно следует проверить исторические журналы на предмет ранее установленных соединений с этим IP, так как это может указывать на более раннюю компрометацию. Охотникам за угрозами стоит активно искать файлы /tmp/transformers.pyz, pgmonitor[.]py и сервис pgsql-monitor.service - их наличие является конкретным маркером атаки.
Учитывая, что payload ориентирована именно на кражу учётных данных, организациям нужно исходить из худшего сценария: все секреты, доступные с заражённых машин, уже украдены. В рамках реагирования на инцидент следует немедленно заменить все потенциально скомпрометированные ключи API, облачные токены, пароли к базам данных, ключи SSH и секреты CI/CD. Дополнительно стоит усилить контроль за учётными записями, внедрить строгую изоляцию сервисов и следовать принципу минимальных привилегий, чтобы в будущем ограничить радиус взрыва от подобных атак на цепочку поставок.
Этот случай ещё раз напоминает: даже официальные и широко используемые библиотеки не застрахованы от внедрения вредоносного кода. Разработчикам и командам безопасности необходимо внимательно отслеживать обновления, применять механизмы проверки целостности пакетов и оперативно реагировать на предупреждения вендоров. Атаки на цепочку поставок становятся всё более изощрёнными, и только комплексная защита способна минимизировать их последствия.
Индикаторы компрометации
IPv4
- 83.142.209.194
URLs
- https://83.142.209.194/transformers.pyz