«Цепочка поставок — самое уязвимое звено в современной разработке. Один компрометированный пакет может уничтожить миллионы приложений.»
— Брюс Шнайер, эксперт по кибербезопасности
В ноябре 2025 года криптоиндустрия столкнулась с одной из самых масштабных цепочек компрометации: хакеры взломали популярные пакеты в репозитории NPM (Node Package Manager) и внедрили вредоносный код в библиотеки, используемые Ethereum Name Service (ENS), MetaMask, Phantom и десятками других криптопроектов. Атака затронула более 140 000 репозиториев на GitHub и угрожает тысячам веб-приложений по всему миру.
Исследователи из Sonatype и Snyk обнаружили, что атака развивалась по двум направлениям:
postcss, cross-fetch и web3-eth-abi, с именами, отличающимися на один символ (например, postcs вместо postcss).Вредоносный скрипт срабатывал при запуске приложения и выполнял следующие действия:
Особую опасность представлял факт, что код был обфусцирован и не вызывал подозрений при поверхностном аудите. Только глубокий анализ выявлял сетевые вызовы к доменам вроде cloudflare[.]workers[.]dev/api.
Согласно отчёту ReversingLabs, в зону риска попали:
ethr.Хотя основные продукты не пострадали напрямую, десятки форков, агрегаторов и сторонних DApp уже содержали вредоносный код. Один из скомпрометированных пакетов, web3-wallet-core, имел более 1,2 млн недельных загрузок.
NPM ввёл двухфакторную аутентификацию (2FA) для мейнтейнеров в 2023 году, но многие разработчики до сих пор не активировали её. Кроме того, злоумышленники использовали:
Как заявил представитель Sonatype: «Система NPM построена на доверии. Один скомпрометированный разработчик — и весь экосистема под угрозой.»
npm audit, snyk test или socket.dev.package-lock.json) и закрепляйте хэши версий.Сообщество уже работает над решениями:
Кроме того, NPM анонсировал план по внедрению обязательной 2FA для всех публичных пакетов к концу 2026 года.
Атака на NPM — не просто технический инцидент. Это напоминание: в мире, где приложение зависит от сотен внешних библиотек, единственная точка отказа — доверие. Пока разработчики не начнут проверять каждую зависимость как потенциальную угрозу, такие атаки будут повторяться — всё чаще и всё масштабнее.
Как сказал Виталик Бутерин: «Безопасность в Web3 — это не функция. Это культура. И она начинается с первого npm install.»
Потому что в цепочке поставок слабейшее звено — всегда человек.
