Уязвимость в платформе marimo превратилась в канал поставки нового бэкдора через HuggingFace

information security

Критическая уязвимость в нишевой платформе для интерактивных Python-блокнотов marimo стала катализатором для сложной кибератаки, в ходе которой злоумышленники развернули ранее неизвестный вариант бэкдора, используя репутацию популярной платформы для машинного обучения HuggingFace. Специалисты по кибербезопасности зафиксировали, как всего за несколько дней после публикации информации об уязвимости эксплойты к ней использовали десятки уникальных IP-адресов по всему миру, что подчёркивает стремительную эволюцию угроз для инфраструктуры искусственного интеллекта и машинного обучения.

Описание

Инцидент начался с раскрытия 8 апреля 2026 года критической уязвимости типа "удалённое выполнение кода до аутентификации" (pre-auth RCE) в платформе marimo, получившей идентификатор CVE-2026-39987. Уже через 9 часов 41 минуту исследователи из Sysdig Threat Research Team (TRT) зафиксировали первые попытки эксплуатации. Однако настоящая волна атак пришлась на период с 11 по 14 апреля. За эти четыре дня одиннадцать уникальных исходных IP-адресов из десяти стран сгенерировали 662 события эксплуатации уязвимости. Активность варьировалась от простой проверки возможности выполнения кода до многочасовых интерактивных сессий, включавших извлечение учётных данных, попытки установки обратных оболочек, латеральное перемещение и развёртывание вредоносного программного обеспечения.

Одним из наиболее распространённых действий после успешного взлома стал сбор учётных данных. Злоумышленники выполняли команды для извлечения переменных окружения, искали файлы конфигурации, такие как ".env" или "docker-compose.yml", а также пытались получить SSH-ключи и строки подключения к базам данных. Целью явно был сбор ценных ключей доступа к облачным сервисам (AWS, OpenAI) и внутренним системам для их последующей продажи или использования в других атаках. Наиболее технически продвинутый оператор из Германии провёл серию из 195 событий, пытаясь установить обратную оболочку более чем 15 различными методами, перебирая порты и утилиты. Когда прямые методы не сработали, атакующий переключился на латеральное перемещение, используя найденные в переменных окружения строки подключения к PostgreSQL.

Как сообщили исследователи Sysdig TRT, этот оператор успешно подключился к базе данных-"приманке" (honeytrap) и начал её активное исследование, выполняя команды для перечисления схем, таблиц и конфигурационных параметров. Аналогичным образом другой злоумышленник, используя учётные данные из того же файла ".env", получил доступ к экземпляру Redis и методично просканировал все 16 виртуальных баз данных, извлекая ключи, включая токены сессий и кэшированные данные. Этот переход от попыток удалённого доступа к компрометации связанных сервисов демонстрирует структурированный подход и наличие чёткого плана действий у опытных операторов.

Наиболее значимым событием этой волны атак стало развёртывание вредоносного программного обеспечения. Атакующий из Гонконга использовал скомпрометированный сервер marimo для выполнения команды, которая загружала и запускала скрипт-дроппер с домена, принадлежащего HuggingFace Spaces. Полезной нагрузкой оказался ранее не документированный вариант бэкдора NKAbuse. Изначально описанный в 2023 году, NKAbuse представляет собой программу удалённого доступа, написанную на Go и использующую децентрализованную блокчейн-сеть NKN для управления командным центром (C2), что осложняет его отслеживание и блокировку.

Новый вариант, получивший имя "kagent", маскируется под легитимный инструмент для Kubernetes, что помогает ему оставаться незамеченным в среде разработки. Дроппер, размещённый на HuggingFace Space с названием "vsccode-modetx" (явная опечатка от "VS Code"), реализует кросс-платформенную установку с механизмами закрепления в системе через systemd, crontab или LaunchAgents для macOS. Сам Space не содержал моделей машинного обучения, а использовался исключительно для хостинга вредоносных файлов, что является новым вектором злоупотребления доверенными платформами в сфере ИИ.

Этот инцидент наглядно демонстрирует несколько тревожных трендов в кибербезопасности. Временной промежуток между публикацией уязвимости и её активной эксплуатацией продолжает сокращаться, достигая считанных часов даже для нишевого ПО. Инфраструктура искусственного интеллекта и машинного обучения становится приоритетной целью для атакующих из-за высокой ценности данных и уровня доступа, которые могут получить злоумышленники через рабочие станции разработчиков и учёных. Кроме того, доверенные платформы, такие как HuggingFace, GitHub или Docker Hub, всё чаще используются в качестве плацдарма для распространения вредоносного кода, поскольку они изначально обладают безупречной репутацией в глазах систем безопасности.

Защита от подобных угроз требует смещения акцента с исключительно сигнатурных методов на поведенческий анализ, который может выявить аномальную активность, такую как попытки латерального перемещения или подключения к блокчейн-сетям. Регулярная ротация критических учётных данных и API-ключей, а также строгий инвентаризационный учёт всех интернет-ориентированных инструментов, особенно в сфере ИИ/МО, являются необходимыми мерами базовой гигиены безопасности. Этот случай служит напоминанием, что в современной облачной среде компрометация одного, даже периферийного, сервиса может открыть путь ко всей инфраструктуре организации.

Индикаторы компрометации

IPv4

  • 111.90.145.139
  • 120.227.46.184
  • 159.100.6.251
  • 160.30.128.100
  • 160.30.128.96
  • 160.30.128.97
  • 160.30.128.98
  • 160.30.128.99
  • 185.187.207.193
  • 185.188.61.216
  • 185.225.17.176
  • 203.10.98.186
  • 38.147.173.172
  • 45.147.97.11
  • 60.249.14.39
  • 92.208.115.60

Domains

  • bskke4.dnslog.cn

URLs

  • https://vsccode-modetx.hf.space/
  • https://vsccode-modetx.hf.space/install-linux.sh
  • https://vsccode-modetx.hf.space/kagent

SHA256

  • 25e4b2c4bb37f125b693a9c57b0e743eab2a3d98234f7519cd389e788252fd13
  • 27c62a041cc3c88df60dfceb50aa5f2217e1ac2ef9e796d7369e9e1be52ebb64
  • f2960805f89990cb28898e892bbdc5a2f86b6089c68f4ab7f2f5e456a8d0c21d
Комментарии: 0