Mastodon Mastodon Mastodon Mastodon

Компрометація PyPI‑пакетів і репозиторіїв Microsoft у кампанії Miasma

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

Microsoft підтвердила тимчасове видалення низки репозиторіїв на GitHub у межах розслідування інциденту, пов’язаного з компрометацією відкритих проєктів компанії. Як повідомляється, до коду було впроваджено інформаційний стилер, націлений на робочі станції розробників та середовища CI/CD. Інцидент є частиною масштабної кампанії з атаки на ланцюг постачання програмного забезпечення, що отримала кодову назву Miasma. Розробникам, які використовують перелічені нижче пакети PyPI, а також open-source-проєкти Microsoft на GitHub, необхідно негайно перевірити свої залежності та провести аудит секретів у залучених середовищах.

Реакція Microsoft та масштаб інциденту

За даними представника Microsoft, частину репозиторіїв було відновлено після перевірки, тоді як інші можуть залишатися недоступними до завершення розслідування. Компанія повідомила обмежене коло клієнтів, які могли завантажити вміст із скомпрометованих репозиторіїв, і заявила про готовність зв’язатися з постраждалими через офіційні канали підтримки у разі потреби в додаткових діях.

Серед уражених проєктів, за наявними даними, опинився пакет durabletask — бібліотека на Python, яку було скомпрометовано для доставки інформаційного стилера, орієнтованого на Linux-системи. Microsoft охарактеризувала свої дії як заходи із захисту клієнтів та екосистеми загалом.

Еволюція методів доставки корисного навантаження

Згідно з дослідженням Socket, кампанія активно розвивається і включає кілька хвиль: Mini Shai-Hulud, Miasma і Hades. Найновіша хвиля додатково зачепила 23 пакети на PyPI, причому зловмисники експериментують із різними механізмами доставки шкідливого коду.

Ранні версії шкідливих пакетів використовували виконувані .pth-хуки автозавантаження для запуску середовища Bun і виконання обфускованого JavaScript-стилера. У нових варіантах застосовуються принципово інші підходи:

  • Троянізовані нативні розширення .abi3.so — стилер запускається під час імпорту пакета в Python-проєкт
  • Модифікований .pth-завантажувач — шукає корисне навантаження _index.js за шляхами в sys.path замість включення його безпосередньо до дистрибутива (wheel)

Розділення завантажувача та корисного навантаження, на думку дослідників Socket, суттєво ускладнює виявлення під час статичного аналізу, оскільки кожен компонент окремо виглядає менш підозріло. Крім того, аналіз корисного навантаження Miasma виявив здатність запускати автоматичне виконання коду під час відкриття репозиторію в IDE або інструментах розробки з підтримкою ШІ.

Окремої уваги заслуговує виявлена в біоінформатичних пакетах техніка обходу ШІ-сканерів: у блочні коментарі JavaScript вбудовано змагальну ін’єкцію промптів, здатну ввести в оману автоматизовані системи аналізу та ШІ-асистентів аналітиків. Цю техніку раніше описували дослідники StepSecurity.

Скомпрометовані пакети

Кампанія охоплює три категорії шкідливих пакетів: бібліотеки для біоінформатики, пакети з тематикою ШІ та Model Context Protocol (MCP), а також тайпсквотингові імітації популярних бібліотек. Повний список скомпрометованих версій, за даними дослідників:

  • Біоінформатика: dreamgen 1.8.1, embiggen 0.11.97, ensmallen 0.8.101, gpsea 0.9.14, phenopacket-store-toolkit 0.1.7, ppkt2synergy 0.1.1, pyphetools 0.9.120
  • ШІ та MCP: instructor-mcp 1.15.2/1.15.3, langchain-core-mcp 1.4.2/1.4.3, openai-mcp 2.41.1/2.41.2, ray-mcp-server 0.2.1, tiktoken-mcp 0.13.1/0.13.2
  • Тайпсквотинг та інші: rsquests 2.34.3 (імітація requests), tlask 3.1.4 і rlask 3.1.7 (імітація flask), mem8 6.0.1, mflux-streamlit 0.0.3/0.0.4, orchestr8-platform 3.3.2

Вибір цілей не випадковий. Біоінформатичні бібліотеки використовують у наукових робочих процесах — графовому навчанні, фенотипуванні пацієнтів, роботі з фенопакетами. Пакети з тематикою MCP експлуатують зростальний інтерес до інтеграції мовних моделей із зовнішніми інструментами. Тайпсквотингові пакети розраховані на помилки введення під час встановлення через pip install.

Оцінка впливу

Незалежно від методу доставки, кінцева мета шкідливого коду однакова: збирання секретів (токенів, ключів API, облікових даних) з робочих станцій розробників та зі середовищ CI/CD з подальшою ексфільтрацією до публічного репозиторію GitHub. Це створює каскадний ризик: скомпрометовані секрети відкривають доступ до продуктивних систем, хмарної інфраструктури та внутрішніх сервісів організацій.

Найбільшого ризику зазнають:

  • Наукові та дослідницькі організації, що використовують біоінформатичні бібліотеки Python
  • Команди розробки, які експериментують з інтеграцією MCP та мовних моделей
  • Будь-які проєкти з автоматизованим встановленням залежностей без верифікації хешів

Рекомендації щодо реагування

  1. Перевірте залежності: проведіть аудит файлів requirements.txt, pyproject.toml та lock-файлів на наявність перелічених пакетів і версій. Використовуйте pip list та pip show <package> для перевірки встановлених версій
  2. Ротація секретів: якщо будь-який із зазначених пакетів було встановлено у вашому середовищі, негайно змініть усі токени, ключі API та облікові дані, доступні з цього середовища, включно із секретами CI/CD
  3. Перевірте репозиторії Microsoft: якщо ви клонували або використовували open-source-проєкти Microsoft з GitHub останніми тижнями, дочекайтеся офіційного повідомлення від Microsoft або перевірте статус конкретних репозиторіїв
  4. Посильте контроль залежностей: впровадьте перевірку хешів пакетів під час встановлення (pip install --require-hashes), використовуйте інструменти аналізу складу ПЗ (SCA) та обмежте автоматичне встановлення неперевірених пакетів у CI/CD
  5. Перевірте наявність .pth-файлів і .abi3.so: у віртуальних середовищах Python виконайте пошук підозрілих .pth-файлів і нативних розширень .abi3.so, які могли бути встановлені шкідливими пакетами

Як зазначив дослідник Socket Кирило Бойченко, гілка Hades кампанії Shai-Hulud і Miasma являє собою швидко зростаючу атаку на ланцюг постачання, а не ізольований інцидент з окремим пакетом. Розділення завантажувача та корисного навантаження у варіанті langchain-core-mcp демонструє, що зловмисники цілеспрямовано адаптують методи для обходу наявних засобів виявлення. Пріоритетна дія — аудит залежностей і ротація всіх секретів у середовищах, де могли бути встановлені перелічені пакети.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.