В NPM-пакет coa, насчитывающий 9 млн загрузок в неделю, внедрено вредоносное ПО

Злоумышленникам удалось получить контроль над NPM-пакетом coa и выпустить обновления 2.0.3, 2.0.4, 2.1.1, 2.1.3 и 3.1.3, включающие вредоносные изменения. Пакет coa, предоставляющий функции для разбора аргументов командной строки, насчитывает около 9 млн загрузок в неделю и используется в качестве зависимости у 159 других NPM-пакетов, включая react-scripts и vue/cli-service. Администрация NPM уже удалила выпуск с вредоносными изменениями и заблокировала публикацию новых версий до возвращения доступа к репозиторию основного разработчика.

Атака была совершена через взлом учётной записи разработчика проекта. Добавленные вредоносные изменения аналогичны тем, что использовались в совершённой две недели назад атаке на пользователей NPM-пакета UAParser.js, но ограничились атакой только на платформу Windоws (в блоках загрузки для Linux и macOS оставлены пустые заглушки). На систему пользователя с внешнего хоста загружался и запускался исполняемый файл для выполнения майнинга криптовалюты Monero (использовался майнер XMRig) и устанавливалась библиотека для перехвата паролей.

При формировании пакета с вредоносным кодом была допущена ошибка, которая вызывала сбой при установке пакета, поэтому проблема была оперативно выявлена и распространение вредоносного обновления было блокировано на ранней стадии. Пользователем следует убедиться, что у них установлена версия coa 2.0.2 и желательно добавить в package.json своих проектов привязку к рабочей версии на случай повторной компрометации.

Release. Ссылка here.