Исследователи Amazon говорят о беспрецедентном «затоплении» реестра пакетами, но у этой кампании есть примечательная особенность: злоумышленники не пытались красть учётные данные, внедрять шифровальщики или устанавливать классическое вредоносное ПО. Их целью была скрытая добыча криптотокенов.
Первые подозрительные пакеты система Amazon Inspector обнаружила ещё в конце октября, пишет Securitylab. К 7 ноября команда насчитала уже несколько тысяч подозрительных публикаций, а к 12 ноября количество вредоносных артефактов превысило 150 тысяч. Пакеты распространялись через несколько разработческих учётных записей, что указывало на тщательную подготовку злоумышленников и тщательную координацию.
Все они были связаны с так называемой tea.xyz — децентрализованной платформой, которая распределяет вознаграждения разработчикам открытого ПО с помощью токена TEA. Токен используется внутри экосистемы для начисления бонусов, стейкинга и управления проектом. Атака была выстроена так, чтобы злоумышленники получали выплаты от tea.xyz за счёт активности, которую имитировали опубликованные ими пакеты.
В отличие от типичных атак на npm за последние месяцы, здесь не внедрялись вредоносные модули для кражи секретов или взлома систем разработчиков. Злоумышленники пошли другим путём: они создали саморазмножающуюся схему, когда один опубликованный пакет автоматически генерировал новые и немедленно размещал их в реестре. Каждая такая публикация увеличивала активность, за которую начислялись TEA. Таким образом злоумышленники получили способ автоматически наращивать «объём работы» под видом вкладов в open source и выводить токены в свои кошельки.
Каждый пакет также содержал файл tea.yaml, который привязывал его к конкретным криптовалютным адресам, контролируемым атакующими. Важно сказать, что люди, которые случайно устанавливали или анализировали эти пакеты, не получали никакой вредоносной нагрузки, но непреднамеренно участвовали в пополнении кошельков злоумышленников.
Чтобы уменьшить влияние этой кампании, Amazon координировала действия с Open Source Security Foundation (OpenSSF), передавая найденные вредоносные пакеты в соответствующий репозиторий OpenSSF. В среднем каждый новый пакет получал идентификатор MAL-ID в течение 30 минут. Отдельное вредоносное ПО в этих публикациях отсутствовало, но угроза заключалась в другом: низкокачественный контент, массово генерируемый ради прибыли, перегружает реестр, потребляет вычислительные ресурсы, хранилище и трафик, а также снижает доверие разработчиков к инфраструктуре, на которой держится значительная часть современного ПО.
Исследователи предупреждают, что успешность искусственного начисления токенов может спровоцировать аналогичные злоупотребления в других системах, где участники получают вознаграждения за участие в программах. Это создаёт риск появления новых серий автоматической сборки пакетов в других репозиториях, включая те, где вознаграждение может быть косвенным — например, привязано к спонсорствам или конкурсам.