Нулевая подпись и сжигающий токен: два взлома за три дня на $9,14 млн
14.07.2026 | CoinKyt Company

11 и 13 июля 2026 года аналитики «КоинКит» зафиксировали два инцидента с суммарным ущербом около $9,14 млн. Природа атак принципиально разная: в Bonzo Finance злоумышленник обманул криптографический верификатор с помощью нулевых значений и завысил цену залога в триллионы раз. В пуле PHX/WBNB использовал встроенную механику сжигания токенов, чтобы временно исказить резервы пула и вывести почти весь WBNB. Оба случая объединяет одно: системы доверяли данным, которые следовало проверять строже.

 


Bonzo Finance: нулевая подпись прошла проверку — и залог в несколько долларов превратился в $9 млн кредита


Дата:
11 июля 2026

Сеть:
Hedera Mainnet

Ущерб:
~$9,05 млн


Что произошло


Bonzo Finance — кредитный протокол в сети Hedera. Как и большинство подобных платформ, он позволяет вносить токены как залог и брать под них кредит в других активах. Размер доступного кредита зависит от стоимости залога — а стоимость берётся из ценового оракула.


Оракул — это система, которая сообщает смарт-контракту актуальные рыночные цены. Bonzo Finance использовал оракул Supra в режиме pull: это значит, что цены не поступают автоматически, а загружаются по запросу — вместе с криптографической подписью, подтверждающей их подлинность. Подпись должна быть выдана комитетом Supra, и только при наличии действительной подписи контракт должен принимать обновление цены.


Злоумышленник нашёл способ обойти эту проверку, не имея никакой настоящей подписи.


1️⃣ Небольшой залог. Атакующий внёс в Bonzo Lend всего 250 токенов SAUCE — на тот момент это стоило несколько долларов.


2️⃣ Поддельное обновление цены. Вместо настоящей криптографической подписи злоумышленник передал в верификатор оракула значение [0, 0] — буквально два нуля. Публичный ключ выбранного идентификатора комитета тоже разрешился в нулевую точку. Верификатор Supra не проверил, что подпись и ключ являются допустимыми, ненулевыми точками криптографической группы.


Математическое равенство, которое должна проверять система («подпись верна, если выполняется такое-то уравнение»), при нулевых входных данных оказалось формально верным — это особенность математики на эллиптических кривых, где операции с нулевой точкой дают предсказуемые результаты. Системный контракт Hedera вернул положительный результат, верификатор Supra принял его за подтверждение подлинной подписи — и записал в блокчейн цену SAUCE, завышенную примерно на 12 порядков. Реальная цена составляла около 0,2 HBAR — переданное значение было выше в триллионы раз.


3️⃣ Кредит под фантомный залог. Bonzo Lend получил ложную цену и рассчитал по ней стоимость залога. 250 SAUCE, стоивших несколько долларов, стали выглядеть как залог фантастической ценности. Под него злоумышленник вывел 6 634 528 USDC и 34 518 389 WHBAR (токенизированная версия нативной криптовалюты сети Hedera) — суммарно около $9,05 млн.


Отдельный адрес воспользовался той же ложной ценой и забрал ещё около $1 млн — но впоследствии связался с командой Bonzo, представился белым хакером и заявил о намерении вернуть средства.


Почему это стало возможным


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


В результате нулевые значения прошли через верификацию как настоящие — и система доверия протокола к ценовым данным рухнула полностью.


Движение средств


После вывода средств из Hedera активы были переведены через межсетевые мосты в сеть Ethereum, обменяны на ETH и консолидированы на адресе 0xaf20d792a19fd42dcf697ceba6100291d96dd93e. Оттуда все средства ушли в миксер Tornado Cash.

 


PHX/WBNB: механика сжигания токенов сбила с толку пул — и $89,6 тыс. ушли через временный перекос резервов


Дата:
13 июля 2026

Сеть:
BNB Smart Chain

Ущерб:
~156,21 WBNB (~$89,6 тыс.)

Транзакция:
0xb5a64c9c43da7b817b2450149b55cb542697d9a676b2f8a89ec748b37f821ebe


Что произошло


Пул PHX/WBNB на PancakeSwap — это автоматизированная торговая площадка, где цена обмена рассчитывается по соотношению двух токенов в пуле: PHX и WBNB (обёрнутый BNB — стандартная версия нативной монеты сети для использования в смарт-контрактах). Пул хранит внутренние резервы — записи о том, сколько каждого токена у него есть. Функция sync() обновляет эти записи, приравнивая их к фактическому балансу.


Токен PHX имел встроенную механику: при каждой продаже PHX контракт автоматически сжигал часть токенов прямо с баланса пула. Это изменяло фактический баланс PHX в пуле — но внутренние резервы пула об этом не знали до следующего вызова sync().


Злоумышленник использовал именно этот временной разрыв.


1️⃣ Флэш-лоан и накачка пула. Атакующий взял мгновенный кредит и временно увеличил запас WBNB в пуле — это создало искажённое соотношение токенов.


2️⃣ Продажа PHX со сжиганием. Злоумышленник провёл продажу PHX в пул. Контракт токена автоматически сжёг часть PHX прямо с баланса пула и вызвал sync() — обновил внутренние резервы. Но к этому моменту ещё не всё поступившее PHX было зачислено обратно: контракт сначала уменьшал баланс через сжигание и обновлял резервы, а только потом зачислял оставшееся. Получился краткий момент, когда пул «думал», что у него меньше PHX, чем будет на самом деле.


3️⃣ Вывод WBNB через перекошенные резервы. В результате следующая операция обмена — поступление PHX после зачисления — воспринималась пулом как новая оплата за обмен, хотя в действительности это было просто «догоняющее» зачисление. Это позволило злоумышленнику вывести почти весь WBNB из пула.


4️⃣ Возврат кредита. После погашения флэш-лоана на адресе злоумышленника осталось около 156,21 WBNB — чистый ущерб пула.


Почему это стало возможным


Ошибка — в порядке операций в логике комиссии PHX. Правильная последовательность: сначала зачислить всё поступившее, потом обновить резервы. Здесь было наоборот: резервы обновлялись в момент, когда зачисление ещё не завершилось. Это создавало временное расхождение между фактическим состоянием пула и тем, что пул считал своим балансом — и именно это расхождение злоумышленник использовал для вывода.


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


Движение средств


После получения ~156 WBNB на адрес злоумышленника 0xf61FF6CD361561aC0274a7d3D197C79310bDEE61 средства разделились: часть ушла в миксер Tornado Cash напрямую в сети BNB Smart Chain, часть была переброшена в сеть Ethereum и также отправлена в Tornado Cash.

 


Заключение


В Bonzo Finance верификатор оракула принял нулевые значения как настоящую криптографическую подпись — потому что никто не проверил базовое условие: являются ли входные данные вообще допустимыми. Итог — $9 млн под залог токенов стоимостью в несколько долларов.


В PHX/WBNB неправильный порядок двух операций — обновление резервов до завершения зачисления — дал злоумышленнику окно для манипуляции. Итог — $89,6 тыс. выведены через временный перекос пула.


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


Команда «КоинКит» продолжает отслеживать движение средств по обоим инцидентам.