Обзор крупнейшей NPM-атаки в истории: что это такое и при чем тут крипта

cryptonews.ru發佈於 2025-04-09更新於 2025-09-10

8 сентября произошла крупнейшая в истории атака на NPM-инфраструктуру, направленная на пользователей криптовалют. Она могла затронуть миллиарды пользователей по всему миру, однако сообщество разработчиков вовремя обнаружило угрозу. GetBlock AML Research простым языком объясняет, что такое NPM и почему злоумышленники выбрали этот инструмент для взлома.

Что такое NPM

NPM — это крупнейший в мире каталог (библиотека) готовых программных «деталей» для разработчиков. Представьте себе магазин с миллионами маленьких деталей, из которых программисты собирают свои приложения. Вместо того чтобы каждый раз писать все с нуля, они берут эти готовые «кирпичики» и быстро строят программы и сервисы.

Эти «детали» называются пакетами. Их может создавать любой разработчик и выкладывать в общий доступ. Другие программисты используют эти пакеты в своих проектах — например, в сайтах, мобильных приложениях или даже в программах, связанных с криптовалютами.

И тут появляется связь с криптовалютами. Большая часть современных криптовалютных кошельков, бирж и других сервисов написана на языках программирования, где активно используют NPM-пакеты. Если злоумышленник внедрит вредоносный код в один из таких пакетов, то все программы, которые используют эту «деталь», тоже окажутся зараженными.

В случае с недавней атакой хакеры встроили код, который подменял криптовалютные адреса. То есть когда человек пытался отправить деньги, вместо его настоящего адреса незаметно подставлялся чужой — кошелек злоумышленников.

Как простая ошибка при сборке помогла обнаружить атаку

Все началось с непонятной ошибки при автоматической сборке в CI/CD-пайплайне, которую заметил один из разработчиков:

ReferenceError: fetch is not defined

Эта на первый взгляд мелкая ошибка оказалась первым признаком сложной атаки. Ошибка была прослежена до ее источника в небольшой зависимости error-ex. При дальнейшем расследовании оказалось, что в пакет был внедрен вредоносный код. В нем было обнаружено упоминание подозрительной функции checkethereumw, что сразу вызвало недоумение у разработчиков.

Злоумышленник встроил вредоносное ПО, предназначенное для обнаружения и кражи криптовалюты. Ошибка fetch возникла из-за того, что окружение Node.js было достаточно старым и не имело этой функции. В более новых системах атака могла бы пройти совершенно незаметно.

Масштаб воздействия на экосистему

Получив контроль над аккаунтом разработчика qix, злоумышленник опубликовал вредоносные обновления для ряда фундаментальных утилит JavaScript, включая:

  • chalk: ~300 млн загрузок в неделю
  • strip-ansi: ~261 млн загрузок в неделю
  • color-convert: ~193 млн загрузок в неделю
  • color-name: ~191 млн загрузок в неделю
  • error-ex: ~47 млн загрузок в неделю
  • simple-swizzle: ~26 млн загрузок в неделю
  • has-ansi: ~12 млн загрузок в неделю

Это не нишевые библиотеки, а важнейшие «строительные блоки», глубоко встроенные в зависимости множества проектов.

Разбор вредоносного кода: атака в два этапа

Внутри зараженных пакетов скрывался продвинутый крипто-клиппер, использующий двухуровневую схему кражи средств.

Вектор атаки 1: Пассивная подмена адресов

Код сначала проверял наличие объекта window.ethereum, который добавляют браузерные кошельки вроде MetaMask. Если кошелек не обнаруживался, запускался «пассивный» режим.

Вредоносный код заменял встроенные функции браузера для сетевых запросов, чтобы перехватывать все входящие и исходящие данные. Внутри были списки кошельков хакера для Bitcoin (BTC), Ethereum (ETH), Solana (SOL), Tron (TRX), Litecoin (LTC) и Bitcoin Cash (BCH).

Особая изощренность заключалась в том, что программа не просто подставляла случайный адрес из списка, а выбирала тот, который максимально похож на настоящий. Для этого использовался алгоритм Левенштейна, измеряющий «сходство строк». Благодаря этому замена выглядела настолько правдоподобно, что жертва могла ее не заметить.

Вектор атаки 2: Активное вмешательство в транзакции

Если кошелек все же обнаруживался, запускалась вторая, более опасная часть кода. Она перехватывала функции самого кошелька (например, sendTransaction).

Когда пользователь пытался провести операцию, код незаметно подменял адрес получателя на заранее заданный адрес атакующих. Транзакция затем отправлялась на подтверждение. Если пользователь не проверял адрес вручную, он сам подписывал перевод средств мошенникам.

Трекинг похищенных средств

Несмотря на масштабы атаки и миллиардные загрузки вредоносных файлов, злоумышленник получил лишь 0.1 ETH (около $430 по курсу на момент публикации статьи), которые хранятся на адресе:

0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976

Интересный факт: 0.1 ETH были получены от одного пользователя с доменным именем leonard.eth (0xFD89d3831C6973fB5BA0b82022142b54AD9e8d46).

Визуализация: MistTrack

Граф связей одного из адресов хакера

Полный список кошельков злоумышленника опубликован на GitHub.

Как защитить свои проекты: срочные меры для разработчиков

Несмотря на то, что часть зараженных версий уже удалена из NPM, некоторые могут оставаться доступными. Поэтому:

  • используйте функцию overrides в package.json;
  • это позволит принудительно закрепить безопасные версии пакетов во всем проекте.

После внесения изменений необходимо удалить папку node_modules и файл package-lock.json, затем заново выполнить установку зависимостей (npm install), чтобы сформировать чистый lock-файл.

你可能也喜歡

加密独角兽 Blockstream 深陷严重欺诈始末

今年以来,比特币先驱Adam Back及其创立的Blockstream频繁引发争议。本月初,调查账号NatInfoSec发布长文,指控Blockstream发行的比特币矿业票据(BMN)可能存在严重问题。 指控核心包括:1. **算力与兑付能力存疑**:根据BMN的兑付义务,Blockstream需运营远超其公开显示的算力(约15 EH/s),但未在公开渠道找到相匹配的矿场、电力或算力证据。票据条款允许其以任意来源的BTC进行兑付,透明度不足。2. **高收益与高风险**:相关票据提供高达20%的固定年化收益,在波动剧烈的挖矿行业中难以持续,资金来源成疑。3. **关键人物前科与披露问题**:Blockstream矿业业务的重要关联方、Exacore CEO Christopher Cook曾被判邮件欺诈罪,但此前未在发行文件中披露,其背景陈述也存在夸大。4. **牵连BSTR上市计划**:质疑者担心BMN的潜在风险可能波及Adam Back关联的、正筹备SPAC上市的Bitcoin Standard Treasury Company(BSTR),尽管其法律独立性尚不明确。 BitMEX Research随后发表评论,承认Cook的前科属实且高收益令人担忧,但认为其他部分指控证据不足或存在误导,例如BMN与BSTR在法律上可能独立。社区争论焦点集中于Blockstream矿场算力的**可验证性**——投资者能否独立核查支撑收益的真实挖矿活动。 目前,围绕BMN仍存在几个关键疑问:实际发行规模与责任边界、矿场算力是否足以支撑兑付、近20%固定收益的具体来源、兑付资金的链上可验证性,以及Cook的实际角色。Blockstream尚未对此作出系统性回应。尽管指控有待最终证实,但BMN产品在透明度、风险披露和收益合理性方面,确实存在需要厘清的空间。

marsbit2 小時前

加密独角兽 Blockstream 深陷严重欺诈始末

marsbit2 小時前

加密独角兽 Blockstream 深陷严重欺诈始末

今年以来,比特币先驱Adam Back及其创办的Blockstream频陷争议。年初,美国司法部文件披露Jeffrey Epstein曾通过关联基金投资Blockstream;四月,《纽约时报》将其列为中本聪有力候选人;同时,其关联的比特币财库公司BSTR正筹划通过SPAC上市。 然而,本月初调查账号NatInfoSec发布长文,指控Blockstream旗下挖矿票据(BMN)存在严重问题。文章核心质疑包括:1. **算力与兑付能力存疑**:根据BMN兑付义务,Blockstream需运营20 EH/s以上算力,但其仪表盘显示实际仅15 EH/s,且公开渠道(如电网记录、矿池数据)未见匹配的大规模矿场证据。BMN条款允许其以任意来源的BTC兑付,缺乏透明度。2. **高收益与高风险**:BMN票据承诺的年化收益高达近20%,在波动剧烈的挖矿行业中难以持续,且部分到期本金滚入更高收益新票据,引发庞氏担忧。3. **关键人物前科与披露问题**:负责矿业的Exacore公司CEO Christopher Cook曾因邮件欺诈被判刑,此记录未在BMN文件中披露,其“NASA任职”经历亦被指夸大。4. **关联BSTR/SPAC的潜在风险**:文章质疑Cook的前科及BMN巨额负债未在BSTR上市文件中披露,可能存在治理与责任边界不清问题。 对此,BitMEX Research认为部分指控证据不足,例如BMN与BSTR法律结构独立,Cook非BSTR董事故无强制披露义务。但社区争论焦点集中于**算力与收益的可验证性**:投资者能否独立核实支撑BMN兑付的真实矿场算力与BTC来源? 目前Blockstream尚未系统回应。事件凸显BMN产品在规模、收益来源、资产验证及关键人员披露方面仍需澄清,其高固定收益在周期性强的挖矿行业中风险显著。

链捕手3 小時前

加密独角兽 Blockstream 深陷严重欺诈始末

链捕手3 小時前

交易

現貨
合約
活动图片