Червь Miasma заразил 20 npm-пакетов LeoPlatform
24 июня 2026 года экосистема npm LeoPlatform подверглась атаке с использованием варианта червя Miasma. Инцидент начался с компрометации npm и GitHub токенов одного из сопровождающих, после чего в репозитории быстро были опубликованы зараженные версии 20 npm-пакетов.
По данным отчета, злоумышленники также использовали рабочие процессы GitHub Actions, замаскированные под Dependabot. Такие workflow были внедрены как минимум в три репозитория, связанные с компрометированной учетной записью.
Как распространялось заражение
Вредоносные обновления затронули пакеты организации LeoPlatform / LeoInsights. Их удалось идентифицировать по файлу binding.gyp, который запускал загрузку вредоносного кода в процессе установки. Такой подход позволял атаке избегать обнаружения сканерами скриптов жизненного цикла.
Все зараженные пакеты имели одинаковый SHA256 hash. При этом полезная нагрузка была зашифрована с использованием уникальных значений ROT и ключей AES-128-GCM, однако базовая функциональность оставалась одинаковой во всех пакетах.
К числу наиболее загружаемых затронутых пакетов относились:
- leo-logger
- leo-sdk
- leo-aws
Совокупно они имели около 13 600 загрузок в неделю. В то же время четыре других пакета, поддерживаемых тем же оператором, остались незатронутыми — вероятно, из-за отсутствия стабильной версии релиза.
Тактики, использованные в атаке
Метод заражения опирался на несколько ключевых приемов. Вредоносные package.json содержали зависимость от Bun, а именно версии ^1.3.13. Она предназначалась для случаев, когда первоначальный процесс установки завершался неудачей.
Иными словами, злоумышленники выстроили механизм, который должен был обеспечить выполнение несанкционированного кода независимо от среды установки.
В репозиториях GitHub скомпрометированных сопровождающих находились поддельные рабочие процессы, использовавшие легитимные действия и одновременно извлекавшие несанкционированный код. Такой workflow эксплуатировал широкие разрешения, включая возможность записи id-token, что потенциально могло позволить злоумышленнику получить учетные данные для публикации в npm.
Что делал worm Miasma
При анализе полезная нагрузка worm продемонстрировала возможности, аналогичные тем, что были задокументированы в более ранних исследованиях. Это указывает на потенциальную способность к краже учетных данных и другим вредоносным действиям.
Примечательно, что регулярные выражения в полезной нагрузке предполагали извлечение конфиденциальной информации, включая:
- токены аутентификации;
- закрытые ключи;
- данные, связанные с GitHub;
- данные, связанные с AWS;
- сведения из различных инструментов конфигурации кода.
Тем самым червь усиливал свой самораспространяющийся характер сразу на нескольких платформах, включая GitHub, AWS и инструменты конфигурации кода.
Вывод
Этот инцидент подчеркивает значительные риски, связанные с компрометацией учетных записей разработчиков, а также необходимость строгих практик безопасности при управлении пакетами и workflow в GitHub. В условиях, когда атака может распространяться через доверенные инструменты сборки и публикации, особое значение приобретают контроль токенов, аудит GitHub Actions и ограничение привилегий в цепочке поставки программного обеспечения.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



