Вредоносный код из npm лишает пользователей криптовалюты.
Специалисты Socket сообщили о крупной атаке на цепочку поставок популярной библиотеки @solana/web3.js, доступной через npm. Вредоносные версии 1.95.6 и 1.95.7, которые содержали код для кражи приватных ключей, использовались для опустошения криптовалютных кошельков разработчиков и пользователей.
@solana/web3.js — это npm-библиотека для работы с JavaScript SDK платформы Solana, используемая при создании приложений на Node.js и веб-сайтов. Проблемные версии уже удалены из реестра npm, однако их популярность вызывает серьёзные опасения — библиотека еженедельно скачивается более 350 000 раз.
В версию 1.95.7 хакеры добавили функцию «addToQueue», которая через поддельные заголовки CloudFlare отправляла приватные ключи на сервер управления («sol-rpc[.]xyz»). Сервер на данный момент недоступен.
Эксперты предполагают, что контроль над аккаунтами разработчиков библиотеки мог быть получен через фишинговую атаку. Хакеры скомпрометировали учётную запись с правами на публикацию, что позволило загрузить вредоносные версии, которые были модифицированы для кражи приватных ключей и вывода средств из приложений, работающих с ключами напрямую.
Атака затронула проекты, обновлённые в период с 15:20 до 20:25 UTC 2 декабря 2024 года, при этом не были затронуты некастодиальные кошельки, так как они не раскрывают приватные ключи во время транзакций. Пользователям рекомендуется срочно обновить библиотеку до версии 1.95.8 и при необходимости заменить скомпрометированные ключи.
Компания Anza подтвердила компрометацию учетной записи для публикации библиотеки, что позволило хакерам украсть средства. Ущерб оценивается от $130 000 до $160 000. Однако большинство крупных кошельков и приложений, включая Phantom, Coinbase, Exodus, не пострадали, так как не использовали уязвимые версии.
Разработчикам рекомендуется сменить ключи программ, серверов и мультиподписей, если есть подозрения на утечку. Инцидент не затрагивает протокол Solana, а касается исключительно JavaScript-библиотеки, использующей приватные ключи.
Ладно, не доказали. Но мы работаем над этим