---(---)$0.00(0.00%)
---(---)$0.00(0.00%)
---(---)$0.00(0.00%)

Атака на цепочку поставок в NPM: 1,07 миллиарда загрузок

Опубликовано: September 8, 2025|Последнее обновление: September 8, 2025

Поделиться

Поделиться

Атака на цепочку поставок в NPM: 1.07 миллиардов загрузок затрагивает утилиты экосистемы, широко используемые в JavaScript-проектах и криптовалютных веб-приложениях. В результате полезная нагрузка выступает в роли крипто-клиппера, перехватывая веб-ответы и транзакции кошельков и подменяя адреса.

Баннер Weex

Масштаб и поверхность атаки

В отчете подробно описывается весь вредоносный код и его особенности. По сути, мы имеем дело с угрозой беспрецедентного масштаба, поскольку вредоносные сборки были целенаправленно опубликованы для основополагающих утилит, которые находятся глубоко в деревьях зависимостей веб-проектов. Это не нишевые библиотеки, а чрезвычайно популярные строительные блоки, от которых транзитивно зависят почти все современные конвейеры сборки фронтендов и бэкендов. Среди них:

  • chalk с примерно 300 миллионами еженедельных загрузок

  • strip-ansi - около 261 миллиона

  • color-convert - около 193 миллионов

  • color-name - около 191 миллиона

  • is-core-module - около 69 миллионов

  • error-ex около 47 миллионов

  • has-ansi около 12 миллионов

Механика полезной нагрузки: Пассивная подмена адресов и активный перехват транзакций

На первом этапе проверяется наличие window.ethereum, что означает наличие расширений кошелька, таких как MetaMask. Если таковых нет, то используется пассивный вектор: скрипт подменяет нативные fetch и XMLHttpRequest, перехватывает все веб-ответы и сканирует текст с помощью регулярных выражений на предмет криптоадресов для Bitcoin, Ethereum, Solana, Tron, Litecoin и Bitcoin Cash.

Найдя адрес, код проверяет, принадлежит ли он злоумышленнику, и, если нет, выбирает "наиболее похожий" из заранее составленного злоумышленником списка с помощью расстояния Левенштейна и подменяет содержимое ответа на лету. Это значительно повышает скрытность для пользователя: адрес визуально близок к оригиналу, а подмена происходит на сетевом уровне до того, как интерфейс получит доступ к данным.

Если кошелек обнаружен, появляется еще более опасный вектор. Функции запроса/отправки кошелька исправлены таким образом, чтобы перехватывать данные транзакции до подписания. При вызове такой функции, как eth_sendTransaction, полезная нагрузка изменяет поля назначения в памяти, вставляя строго жестко закодированный адрес злоумышленника. Полученный сценарий особенно коварен для невнимательных проверок: пользователь может увидеть правильный адрес в пользовательском интерфейсе, но подписать транзакцию с подмененным получателем, и средства попадут к злоумышленнику.

Примечательно, что в логике пассивной подмены для Ethereum есть дополнительная стелс-мера: если кошелек активен, адреса ETH не переписываются по этому пути, что снижает риск заметного несоответствия при одновременной работе активного сценария.

Среди задействованных адресов на Ethereum - 0xFc4a4858bafef54D1b17697bfb5c52F4c166976. На уровне артефактов кода обращают на себя внимание такие имена функций, как _0x20669a, отвечающая за подмену адресов, и runmask, инициирующая перехват методов кошелька, что может упростить обнаружение при ретроспективном анализе сборки.

Заключение

Очень показательная ситуация - даже небольшая библиотека в узле дерева зависимостей может стать точкой входа для компрометации всей экосистемы. Для этого необходимо провести фундаментальную инвентаризацию зависимостей и конвейеров сборки, использовать npm ci для воспроизводимых сборок и временно закрепить известные безопасные версии переходных пакетов.

В противном случае, пока не появятся объявления о проверке и обновления от крупных криптовалютных игроков, лучше не совершать никаких транзакций. Оставайтесь с нами и получайте последние обновления в криптовалютной и блокчейн-индустрии.

Содержимое этой статьи предоставлено исключительно в информационных и образовательных целях и не является финансовой, инвестиционной или торговой рекомендацией. Все действия, основанные на этой информации, вы предпринимаете на свой страх и риск. Мы не несем ответственности за финансовые потери, убытки или последствия, возникшие в результате использования этого контента. Всегда проводите собственное исследование и консультируйтесь с квалифицированным финансовым советником перед принятием инвестиционных решений. Читать далее

Mindpillar logo

Learn how to trade
with clarity, not confusion

Start Here

Trading education is not financial advice, and offers no guaranteed outcomes. Please visit the website for full terms and conditions

Dewald photo

FBI Probes $250K Crypto Scam Targeting Trump Donor

July 7, 2025

Previous Article

PayPal to Launch Its “Super App” For Crypto Soon

July 29, 2021

Next Article

Alexandros image

Alexandros

Меня зовут Александрос, и я ярый сторонник принципов и технологий Web3. Я рад вносить вклад в просвещение людей о происходящем в криптоиндустрии, особенно о развитии технологий блокчейна, которые делают всё это возможным, и о том, как они влияют на глобальную политику и регулирование.


Unlock Up to $1,000 Reward

Start Trading

10% Bonus + Secret Rewards

Start Trading
Velto: The Exchange-Level DeFi Experience for Smart Traders