В популярной библиотеке для Node.js обнаружен бэкдор

Вернуться к Blog

В популярной библиотеке для Node.js обнаружен бэкдор

В популярной библиотеке для Node.js обнаружен бэкдор

Бэкдор использовался для кражи закрытых ключей от криптовалютных кошельков Copay.

В одной из зависимостей библиотеки Event-Stream, используемой во многих крупных проектах, обнаружен вредоносный код, предназначенный для хищения криптовалюты и проведения атак на связанные с виртуальными средствами сервисы.

Event-Stream – чрезвычайно популярная библиотека, число ежедневных загрузок которой из репозитория NPM насчитывает около 2 млн. Примерно три месяца назад создатель библиотеки Доминик Тарр (Dominic Tarr) из-за отсутствия времени и интереса передал доступ к репозиторию Event-Stream и право публикации в NPM другому разработчику — Right9ctrl, который практически сразу добавил в библиотеку пакет Flatmap-Stream 0.1.1, содержавший вредоносный код.

Бэкдор использовался для кражи закрытых ключей от криптовалютных кошельков Copay, разработанных компанией BitPay, занимающейся обработкой биткойн-платежей. Судя по всему, Right9ctrl использовал украденные ключи для опустошения кошельков. Вредоносный код подменял функцию Credentials.getKeys, используемую для получения расшифрованных ключей в мобильной и декстопной версиях приложения Copay. При наличии в кошельке криптовалюты Bitcoin и Bitcoin Cash связанные с кошельками ключи и используемые для их дешифрования пароли отправлялись на подконтрольный злоумышленникам сервер copayapi.host. Пользователи могут провести проверку системы на уязвимость к атаке с помощью команды «npm ls event-stream flatmap-stream». Если в выводе фигурирует библиотека « flatmap-stream@0.1.1 », значит, система скомпрометирована.

Предположительно, уязвимыми являются все версии Copay, представленные в сентябре, октябре и ноябре текущего года. Команда BitPay уже выпустила версию Copay 5.2.2 без привязки к Event-Stream и Flatmap-Stream. В настоящее время вредоносная версия пакета Flatmap-Stream и версия Event-Stream 3.3.6 удалены из NPM, однако в репозитории доступны «чистые» версии Event-Stream. Полный список проектов, так или иначе связанных с Event-Stream и производными библиотеками, доступен здесь .

Поделиться этим постом

Вернуться к Blog