Атака Шай-Хулуд: Как червь в цепочке поставок украл $58 млн у крипто-разработчиков и пользователей
В канун Рождества 2025 года, когда большая часть криптомира была на каникулах, злоумышленники внедрили вредоносное обновление в расширение Trust Wallet для Chrome. В течение 48 часов из 2 520 кошельков исчезло 8,5 миллионов долларов. Сид-фразы тысяч пользователей были незаметно похищены под видом рутинных телеметрических данных. Но это не было изолированным инцидентом — это стало кульминацией атаки на цепочку поставок, которая неделями распространялась через экосистему крипторазработки.
Кампания Shai-Hulud, названная в честь песчаных червей из «Дюны», представляет собой самую агрессивную атаку на цепочку поставок npm в 2025 году. Она скомпрометировала более 700 npm-пакетов, заразила 27 000 репозиториев GitHub и раскрыла примерно 14 000 секретов разработчиков в 487 организациях. Общий ущерб: более 58 миллионов долларов в украденной криптовалюте, что делает эту атаку одной из самых дорогостоящих для разработчиков в истории криптографии.
Анатомия червя в цепочке поставок
В отличие от типичного вредоносного ПО, требующего от пользователей загрузки сомнительных программ, атаки на цепочку поставок отравляют инструменты, которым разработчики уже доверяют. Кампания Shai-Hulud превратила в оружие npm — менеджер пакетов, который обеспечивает работу большинства разработок на JavaScript, включая почти каждый криптокошелек, DeFi-фронтенд и Web3-приложение.
Атака началась в сентябре 2025 года с первой волны, в результате которой было украдено около 50 миллионов долларов в криптовалюте. Но именно «Второе пришествие» в ноябре продемонстрировало истинную изощренность операции. С 21 по 23 ноя бря злоумышленники скомпрометировали инфраструктуру разработки крупных проектов, включая Zapier, ENS Domains, AsyncAPI, PostHog, Browserbase и Postman.
Механизм распространения был элегантным и пугающим. Когда Shai-Hulud заражает легитимный npm-пакет, он внедряет два вредоносных файла — setup_bun.js и bun_environment.js, которые запускаются с помощью preinstall-скрипта. В отличие от традиционного вредоносного ПО, которое активируется после установки, эта полезная нагрузка запускается до завершения установки и даже в случае её сбоя. К тому времени, когда разработчики понимают, что что-то не так, их учетные данные уже украдены.
Червь идентифицирует другие пакеты, поддерживаемые скомпрометированными разработчиками, автоматически внедряет вредоносный код и публикует новые зараженные версии в реестре npm. Такое автоматизированное распространение позволило вредоносному ПО расти в геометрической прогрессии без прямого вмешательства злоумышленников.