Реестр npm накрыла волна из 150 000 мусорных пакетов — крупнейшая кампания по выкачиванию крипто-токенов в истории открытого ПО

Реестр npm накрыла волна из 150 000 мусорных пакетов — крупнейшая кампания по выкачиванию крипто-токенов в истории открытого ПО

Каждый пакет содержал tea.yaml для вывода наград злоумышленникам.

image

В экосистеме npm обнаружили одну из крупнейших атак на цепочку поставок за всю историю открытых репозиториев. Исследователи Amazon говорят о беспрецедентном «затоплении» реестра пакетами, но у этой кампании есть примечательная особенность: злоумышленники не пытались красть учётные данные, внедрять шифровальщики или устанавливать классическое вредоносное ПО. Их целью была скрытая добыча криптотокенов.

Первые подозрительные пакеты система Amazon Inspector обнаружила ещё в конце октября. В работе использовались новые правила детектирования и вспомогательные ИИ-инструменты. К 7 ноября команда насчитала уже несколько тысяч подозрительных публикаций, а к 12 ноября количество вредоносных артефактов превысило 150 тысяч. Пакеты распространялись через несколько разработческих аккаунтов, что указывало на тщательную подготовку злоумышленников и тщательную координацию.

Все они были связаны с так называемой tea.xyz — децентрализованной платформой, которая распределяет вознаграждения разработчикам открытого ПО с помощью токена TEA. Токен используется внутри экосистемы для начисления бонусов, стейкинга и управления проектом. Атака была выстроена так, чтобы злоумышленники получали выплаты от tea.xyz за счёт активности, которую имитировали опубликованные ими пакеты.

В отличие от типичных атак на npm за последние месяцы, здесь не внедрялись вредоносные модули для кражи секретов или взлома систем разработчиков. Злоумышленники пошли другим путём: они создали саморазмножающуюся схему, когда один опубликованный пакет автоматически генерировал новые и немедленно размещал их в реестре. Каждая такая публикация увеличивала активность, за которую начислялись TEA. Таким образом злоумышленники получили способ автоматически наращивать «объём работы» под видом вкладов в open source и выводить токены в свои кошельки.

Каждый пакет также содержал файл tea.yaml, который привязывал его к конкретным криптовалютным адресам, контролируемым атакующими. Важно сказать, что люди, которые случайно устанавливали или анализировали эти пакеты, не получали никакой вредоносной нагрузки, но непреднамеренно участвовали в пополнении кошельков злоумышленников.

Чтобы уменьшить влияние этой кампании, Amazon координировала действия с Open Source Security Foundation (OpenSSF), передавая найденные вредоносные пакеты в соответствующий репозиторий OpenSSF. В среднем каждый новый пакет получал идентификатор MAL-ID в течение 30 минут. Отдельное вредоносное ПО в этих публикациях отсутствовало, но угроза заключалась в другом: низкокачественный контент, массово генерируемый ради прибыли, перегружает реестр, потребляет вычислительные ресурсы, хранилище и трафик, а также снижает доверие разработчиков к инфраструктуре, на которой держится значительная часть современного ПО.

Исследователи предупреждают, что успешность искусственного начисления токенов может спровоцировать аналогичные злоупотребления в других системах, где участники получают вознаграждения за активность. Это создаёт риск появления новых серий автоматической генерации пакетов в других репозиториях, включая те, где вознаграждение может быть косвенным — например, привязано к спонсорствам или рейтингам.

Amazon, разумеется, рекомендует проверять свои разработки средствами Amazon Inspector, но в целом подход остаётся универсальным: удалять неработающие пакеты, следить за происхождением зависимостей и укреплять цепочку поставок. Среди базовых мер — использование SBOM (программных ведомостей о составе ПО) и изоляция CI/CD-конвейеров, чтобы массовая генерация мусорных пакетов не проникла в рабочие процессы.