Back to Blog

Еженедельный обзор инцидентов безопасности Web3 | 16–22 февраля 2026 г.

Code Auditing
February 25, 2026
7 min read

За прошедшую неделю (16–22 февраля 2026 года) компания BlockSec обнаружила и проанализировала три инцидента с атаками, совокупные предполагаемые потери составили ~$6,22 млн. В таблице ниже приведена сводка по этим инцидентам, подробный анализ каждого случая представлен в соответствующих подразделах.

Дата Инцидент Тип Предполагаемые потери
2026/02/16 Инцидент Moonwell Неверная конфигурация ~$1,78 млн
2026/02/19 Инцидент PearlDriver Арифметическое переполнение ~$40,3 тыс.
2026/02/21 Инцидент IoTex Компрометация ключа ~$4,4 млн

1. Инцидент Moonwell

Краткое описание

16 февраля 2026 года протокол Moonwell на сети Base был атакован вследствие неверной конфигурации оракула, что привело к образованию безнадёжного долга на сумму около $1,78 млн. Проблема возникла при исполнении предложения MIP-X43: оракулу cbETH на сети Base был ошибочно назначен источник данных с курсом обмена cbETH/ETH вместо составного оракула, учитывающего цену ETH/USD. В результате оракул сообщал цену cbETH около $1,12 вместо реальной рыночной стоимости около $2 200. Боты-ликвидаторы немедленно изъяли 1 096,317 cbETH, погасив при этом минимальный долг, прежде чем лимиты были снижены для прекращения эксплойта.

Предыстория

Moonwell — протокол кредитования, работающий в нескольких сетях. 16 февраля 2026 года было исполнено предложение MIP-X43. Целью этого предложения была активация контрактов-обёрток Chainlink OEV (Oracle Extractable Value) во всех оставшихся основных и изолированных рынках на сетях Base и Optimism, расширяя покрытие за пределы трёх первоначальных источников данных, активированных в MIP-X38. Обёртки OEV разработаны для того, чтобы протокол мог извлекать ценность в ходе ликвидаций, опирающихся на цены оракула, при этом сохраняя надлежащие стимулы для ликвидаторов.

Анализ уязвимости

Уязвимость была вызвана ошибкой конфигурации в конструкторе ChainlinkOracleConfigs.sol. Для сети Base в отношении cbETH предложение настроило оракул как "cbETHETH_ORACLE" (источник данных с курсом обмена cbETH/ETH) вместо правильного составного оракула, объединяющего этот курс с ценой ETH/USD. Когда обёртка OEV была развёрнута и подключена в качестве источника данных через setFeed() на ChainlinkOracle, протокол начал использовать сырой курс обмена (cbETH/ETH ≈ 1,12) как цену cbETH в долларах США. Это привело к огромному расхождению между сообщаемой ценой (~$1,12) и реальной рыночной стоимостью (~$2 200–$2 400), что означало занижение стоимости залога cbETH приблизительно в 2 200 раз.

Анализ атаки

  1. 16 февраля 2026 года в 02:01 UTC+8 завершилось исполнение MIP-X43, активировав неверно настроенный оракул cbETH в сети Base.

  2. Боты-ликвидаторы, отслеживающие протокол, немедленно обнаружили расхождение в ценах и выполнили ликвидацию [залоговых позиций] cbETH.

  1. В течение нескольких минут ликвидаторы изъяли 1 096,31 cbETH, что привело к образованию безнадёжного долга около $1,78 млн на затронутых рынках.

Заключение

Этот инцидент был в конечном счёте вызван ошибкой конфигурации при развёртывании MIP-X43 протокола Moonwell: cbETH в сети Base ошибочно получил источник данных с курсом обмена cbETH/ETH вместо правильного составного оракула. Эта неверная конфигурация позволила быстро вывести значительное количество залога cbETH.

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


2. Инцидент PearlDriver

Краткое описание

19 февраля 2026 года контракт бондинговой кривой NLAMM проекта PearlDriver в сети BSC был атакован, что повлекло потери около $40,3 тыс. Первопричиной стало непроверяемое арифметическое переполнение в функции buy(), позволившее злоумышленнику выпустить огромное количество игровых токенов практически бесплатно, а затем продать их в пулы ликвидности PearlDEX.

Предыстория

PearlDriver использует бондинговую кривую NLAMM (нелинейный автоматизированный маркет-мейкер) для выпуска токенов. Пользователи могут приобретать игровые ресурсные токены через функцию buy(), где стоимость покупки в стейблкоинах вычисляется по формуле: cost = amount * currentPrice.

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

Анализ уязвимости

Первопричиной стало арифметическое переполнение при вычислении платежа в стейблкоинах. Вся функция buy() была обёрнута в блок unchecked, отключающий встроенную защиту Solidity от переполнения. В результате умножение, используемое для вычисления стоимости покупки, не вызывало откат при превышении максимального значения целого числа. Вместо этого значение переполнялось и возвращалось к значительно меньшему числу, резко снижая требуемый платёж.

Таким образом, злоумышленник смог заплатить почти ноль, выпустив при этом огромное количество токенов, которые были немедленно сброшены в пары ликвидности DEX для слива USDT.

Анализ атаки

В одной транзакции злоумышленник использовал уязвимую функцию buy() для пяти активов (IRON ORE, COAL, WOOD, SAND и CLAY), применяя одну и ту же схему атаки. Рассмотрим первый актив в качестве примера:

  1. Злоумышленник указал чрезвычайно большое количество при вызове buy(). Из-за непроверяемой арифметики вычисление amount * currentPrice переполнилось и вернулось к значению, близкому к нулю, потребовав оплаты всего 0,0053 USDT (менее ~$0,01). Несмотря на ничтожную стоимость, контракт выпустил огромное количество IRON ORE для злоумышленника — конкретно 7,03 × 10⁵⁸ токенов.

  2. Злоумышленник немедленно обменял часть выпущенных IRON ORE в соответствующей паре ликвидности PearlDEX, получив 7 805,55 USDT (~$7 805,56).

Та же последовательность «переполнение и сброс» была применена к четырём другим активам, что привело к сливу ликвидности из каждой пары актив-USDT и суммарной прибыли свыше $40 тыс.

Заключение

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

Хотя непроверяемая арифметика может быть уместна в строго контролируемых сценариях, её применение в финансовой логике, непосредственно определяющей суммы платежей, может создавать значительный риск. Для снижения подобных рисков разработчикам следует тщательно проверять все арифметические операции и соблюдать осторожность при рассмотрении отключения встроенных проверок переполнения Solidity 0.8+, особенно в путях кода, влияющих на ценообразование или переводы.


3. Инцидент IoTex

Краткое описание

21 февраля 2026 года мост ioTube проекта IoTeX подвергся атаке в результате компрометации ключа владельца валидатора Ethereum. Злоумышленник получил право собственности на контракт Validator, а затем захватил контроль над контрактами TokenSafe и MintPool, чтобы вывести ~$4,4 млн из резервов моста и выпустить более 400 млн токенов CIOTX. Похищенные резервы были обменяны и частично переведены в Bitcoin. По информации проекта, около 355 млн выпущенных токенов CIOTX были навсегда заблокированы или заморожены.

Предыстория

Скомпрометированный ioTube является кросс-чейн мостовой инфраструктурой IoTeX, соединяющей IoTeX Layer 1 с другими сетями, в частности с Ethereum. На стороне Ethereum архитектура моста строится вокруг контракта Validator (т.е. TransferValidatorWithPayload), который верифицирует межсетевые расчётные сообщения и управляет дочерними контрактами-минтерами. К ним относятся TokenSafe, хранящий резервные активы моста, и MintPool, обладающий правом выпуска определённых токенов, таких как CIOTX.

Анализ уязвимости

Первопричиной стала компрометация закрытого ключа владельца контракта Validator. Поскольку мост полагался на один EOA без защиты мультиподписью или временной блокировкой, обладание этим ключом давало полный административный контроль. Используя функцию upgrade() контракта, злоумышленник передал право собственности на контракты TokenSafe и MintPool на подконтрольный ему адрес. Это позволило напрямую снимать резервные активы моста и несанкционированно выпускать большие объёмы CIOTX.

Анализ атаки

  1. Компрометация ключа владельца контракта Validator в сети Ethereum, получение административного контроля.

  2. Использование контракта Validator для передачи права собственности на контракты TokenSafe и MintPool.

  1. Вывод ~$4,4 млн в резервных активах (USDC, USDT, WBTC, WETH, BUSD и др.) из TokenSafe и выпуск более 400 млн CIOTX через MintPool.

  2. Обмен похищенных резервных токенов и перевод в другие сети.

Заключение

Этот инцидент представляет собой классический пример компрометации ключа как единой точки отказа. Вся безопасность моста на стороне Ethereum держалась на одном EOA с полными административными полномочиями и без защиты мультиподписью или временной блокировкой. Как только закрытый ключ EOA был скомпрометирован, контроль над критически важными компонентами моста был фактически утрачен.

Этот случай наглядно демонстрирует риски централизованного административного управления и подчёркивает важность распределения полномочий по обновлению и хранению через более надёжные механизмы управления.


О компании BlockSec

BlockSec — поставщик полного стека услуг в области безопасности блокчейна и криптовалютного комплаенса. Мы создаём продукты и сервисы, помогающие клиентам проводить аудит кода (включая смарт-контракты, блокчейн и кошельки), перехватывать атаки в режиме реального времени, анализировать инциденты, отслеживать незаконные средства и выполнять обязательства по ПОД/ФТ на протяжении всего жизненного цикла протоколов и платформ.

BlockSec опубликовала несколько научных работ по безопасности блокчейна на престижных конференциях, сообщила о нескольких атаках нулевого дня на DeFi-приложения, предотвратила несколько взломов, спасла более 20 миллионов долларов и обеспечила безопасность активов на миллиарды в криптовалюте.

Sign up for the latest updates
Информационный бюллетень — июнь 2026 г.
Security Insights

Информационный бюллетень — июнь 2026 г.

Отчёт за июнь 2026: три крупнейших инцидента с общими потерями ~$22M. Honeypot атака опустошила MEV-бот на ~$15M. Уязвимости Aztec rollup привели к потере ~$4.35M. Ошибка Ed25519 в SecondFi раскрыла ключи 374 кошельков (~$2.4M).

~$4M потеряно: эксплойты Taiko и SecondFi | Еженедельник BlockSec
Security Insights

~$4M потеряно: эксплойты Taiko и SecondFi | Еженедельник BlockSec

Отчёт за 22–28 июня 2026: два инцидента, ~$4,1М потерь. Эксплойт Taiko: утечка ключа SGX + неполная политика аттестации → подделка L2-доказательств. SecondFi: уязвимость Ed25519 (нонс без секрета) → восстановление приватных ключей Cardano.

~$18 млн потеряно: jaredFromSubway, Aztec и другие | Еженедельник BlockSec
Security Insights

~$18 млн потеряно: jaredFromSubway, Aztec и другие | Еженедельник BlockSec

Еженедельный отчёт о безопасности блокчейна (15–21 июня 2026): 3 инцидента в Ethereum и BNB Chain, ~$18,3M потерь. Атака на MEV-бот jaredFromSubway (~$15M): бот одобрял свои активы недоверенным контрактам. Злоумышленник создал фиктивные токены и пулы. Также: эксплойт Aztec — отсутствие ограничения равенства в ZK-схеме.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit