«Цепочка поставок программного обеспечения — новая линия фронта в кибервойне.»
— Брюс Шнайер, эксперт по кибербезопасности
В декабре 2025 года исследователи из Revoke.cash и SlowMist обнаружили массовую волну атак на криптопроекты через уязвимость в популярной библиотеке React. Злоумышленники внедряют вредоносный JavaScript-код в легитимные веб-сайты DeFi, NFT-маркетплейсы и кошельки, перенаправляя пользователей на фишинговые страницы или автоматически подписывая транзакции на кражу средств. Основной вектор атаки — скомпрометированные npm-пакеты, используемые в сборке фронтенда. По данным CertiK, за последние две недели пострадало более 120 проектов, а общий ущерб превысил $4,2 млн.
Схема поражает своей простотой и эффективностью:
react-hook-forms вместо react-hook-form).npm install.bundle.js — финальный JavaScript-файл, загружаемый в браузер пользователя.Особенно коварно, что код работает только на устройствах с подключённым Web3-провайдером — обычные пользователи и тестировщики могут ничего не заметить.
React — самая популярная фронтенд-библиотека в мире. Более 68% всех криптосайтов используют её для построения интерфейсов. Это делает экосистему npm мишенью №1:
Среди скомпрометированных пакетов декабря 2025 года:
web3-utils-liteeth-wallet-connectorsolana-react-hooksdefi-ui-kit-proПри нажатии «Отправить» или «Своп», скрипт заменяет адрес получателя на кошелёк хакера. Пользователь видит легитимный экран MetaMask, но средства уходят не туда.
Сайт имитирует запрос на подтверждение доступа к токенам. После подписания злоумышленник получает разрешение approve и может вывести любые активы в любой момент.
Появляется модальное окно: «Ваш кошелёк уязвим! Нажмите здесь для защиты». При клике запускается транзакция на создание кошелька в контролируемом контракте — все будущие активы попадают к хакеру.
Убедитесь, что пакет опубликован официальной организацией (например, @metamask, @solana). Избегайте пакетов от пользователей с нулевой историей.
Команды npm audit, npm ls и инструменты вроде Snyk или Socket.dev помогают выявить подозрительные или устаревшие зависимости.
Добавьте хэш-суммы для всех внешних скриптов в HTML — браузер откажется загружать изменённый код.
Используйте Revoke.cash Scanner или Blockaid для анализа финального bundle.js на наличие известных сигнатур дрийнеров.
Атаки через npm — часть глобального тренда:
colors.js похитил $1,3 млн.web3modal-pro атаковал 78 NFT-сайтов.solana-wallet-ui украл $2,1 млн за неделю.По данным OpenSSF, 74% всех инцидентов в Web3 в 2025 году связаны с цепочкой поставок ПО — а не с уязвимостями в смарт-контрактах.
Классические аудиты (например, от OpenZeppelin) проверяют только смарт-контракты. Фронтенд остаётся «слепой зоной». Злоумышленники этим и пользуются — ведь даже самый безопасный контракт бессилен, если пользователь подпишет транзакцию на фальшивом сайте.
Как отметил исследователь из Revoke.cash: «Вы можете потратить $500 000 на аудит, но проиграть $5 млн из-за одного npm-пакета, скачанного стажёром.»
Эксперты предсказывают рост спроса на:
Уязвимость в React — на самом деле не в React, а в экосистеме, построенной вокруг него. Она напоминает: в современном Web3 безопасность — это не только код контракта, но и каждая строка фронтенда, каждый пакет в node_modules, каждый клик разработчика в терминале.
Как сказал Брюс Шнайер: «Атакующие больше не ломают замки. Они входят через открытую дверь.» И в 2025 году этой дверью часто становится npm install.
