Чотири пакети AsyncAPI у npm містять завантажувач ботнету Miasma

Компрометація AsyncAPI npm-пакетів: Виявлено атаку програмного забезпечення

Socket виявив атаку на програмне забезпечення з використанням скомпрометованих npm-пакетів AsyncAPI, що розповсюджують завантажувач ботнету Miasma. Команда дослідження загроз компанії виявила, що версії пакетів у просторі імен @asyncapi містять зашифрований імплант першої стадії.

Занепокоєння щодо безпеки у AsyncAPI

Компрометовані пакети, такі як @asyncapi/generator-helpers@1.1.1, @asyncapi/generator-components@0.7.1, @asyncapi/generator@3.3.1 та @asyncapi/specs (версії 6.11.2 і 6.11.2-alpha.1), виявлено як загрозу зі шкідливим кодом. Аналіз показав, що попередні версії цих пакетів були чистими від первинних підписів загрози.

Стратегія обходу та вихідний код

Основна особливість атаки – її стратегія евакуації: шкідливий код вбудований безпосередньо у легітимні файли джерел, а не у життєвий цикл пакету. Після завантаження інфікованого модуля активується імплант, створюючи процес під завісою, що завантажує наступну стадію. Протягом цієї фази стандартні блокатори інсталяційного скрипту абсолютно безсильні.

Три етапи розгортання

Розгортається атака у три етапи: перший – імплант, другий – завантажувач, який завантажує файл sync.js, а третій – розшифрування вантажу Miasma. Завантажувач виконує обгортку для розшифровки з використанням HKDF-SHA256 і AES-256-GCM, активуючи шифрований контент.

Необхідні дії для захисту

Організації, що використовують інструменти AsyncAPI, повинні перевірити свої дерева залежностей на наявність вказаних версій і позбутись від них. Безпекові команди повинні перевірити журнали аудиту GitHub для змін, що призвели до випуску з комітом 3eab3ec9304aa26081358330491d3cfeb55cc245. Автоматизовані інструменти можуть виявити ознаки компрометації, але реальні дії лежать на плечах внутрішніх команд безпеки.