К содержимому
RU UA
CoinGecko · обновлено —
Новости

Взлом моста Symbiosis: как депозит в 330 сатоши дал выпуск 46,1 млрд syBTC

Редакция Crypto Digest 6 мин чтения

Цены и курсы в тексте — на момент публикации: 03.10.2026, 10:40

Взлом моста Symbiosis: как депозит в 330 сатоши дал выпуск 46,1 млрд syBTC

Кроссчейн-мосты — это место, где чужие ошибки в коде стоят дороже всего, потому что расплачиваются за них не разработчики, а поставщики ликвидности и обычные держатели обёрнутых токенов. 11 сентября 2026 года это правило подтвердилось ещё раз: мост Bitcoin Bridge протокола Symbiosis, который занимается кроссчейн-свопами, был атакован. Мосты остаются самым уязвимым звеном в криптовалютах, и список известных взломов продолжает расти.

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

11 сентября 2026 года, около 04:28 UTC, был атакован мост Bitcoin Bridge протокола Symbiosis. Серия из 12 транзакций выпуска прошла примерно за 4 минуты. В схеме были задействованы сети Bitcoin, BNB Smart Chain, Ethereum и Rootstock.

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

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

Как строка в поле данных превратилась в права администратора

Первая ошибка — про права доступа. Декодер брал ответ на вопрос «кто отправитель» не из самой транзакции, а из поля данных, которое отправитель пишет сам. Это как если бы охранник на входе не проверял пропуск, а просто спрашивал посетителя, кем тот является, и верил ответу на слово.

Атакующий вписал в поле данных идентификатор администратора портала — и получил его полномочия. Не взломал ключи, не подобрал пароль, не обошёл криптографию. Он просто заявил о себе то, что ему было удобно, и система это приняла.

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

Почему комиссия стала подарком

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

Разберём на пальцах. У любого числа есть не только величина, но и знак: плюс или минус. Величина говорит «сколько», знак говорит «в какую сторону». Когда вы вычитаете из баланса расход, знак имеет значение не меньшее, чем сама сумма.

Сумма выпуска считалась в мосте как «депозит минус комиссия» — без проверки, что комиссия не меньше нуля и что выпуск не больше депозита. Пока комиссия положительная, всё логично: 330 − 10 = 320. Но если комиссия отрицательная, вычитание отрицательного числа превращается в сложение: 330 − (−100) = 330 + 100 = 430. Минус на минус даёт плюс.

Именно это и произошло, только в промышленном масштабе. Депозит атакующего составил 330 сатоши (около $0,25). Комиссия — отрицательное число порядка 4,6 квинтиллиона сатоши. Формула послушно сложила одно с другим, и итогом стал выпуск около 46,1 млрд syBTC.

Показательно, что по отдельности ни одна из двух ошибок не привела бы к краже. Без прав администратора нельзя было бы выставить отрицательную комиссию. Без ошибки со знаком даже администраторские полномочия не дали бы возможности выпустить больше, чем внесено. Сработало только сочетание.

И ещё одно наблюдение, которое стоит запомнить: 46,1 млрд syBTC — это номинально больше $46 млрд и примерно в 2000 раз больше, чем вообще может существовать биткоинов. Код не смутило и это.

Почему ущерб не $46 млрд, а $770 тыс.

Цифра в 46,1 млрд syBTC выглядит катастрофой, но реальный ущерб ограничила ликвидность. Выпустить синтетический токен — это одно, а обменять его на что-то ценное — совсем другое.

Во всех пулах с syBTC (в парах с BTCB, WBTC, cbBTC, RBTC) было всего 11,26 syBTC. Столько реальных активов там стояло, и больше атакующий забрать не мог, сколько бы «бумажных» токенов у него ни было на балансе. Потери составили 9,97 BTC, около $770 тыс. (по оценке SlowMist — $775 тыс.).

Через пул Uniswap v4 в сети Ethereum атакующий получил около 4,39 WBTC, обменял их примерно на 137 ETH (около $336 тыс.) и отправил в миксер Tornado Cash.

Здесь и лежит главный практический вывод: для держателя обёрнутых токенов важна не заявленная эмиссия, а то, сколько настоящей ликвидности стоит за ней в пулах. Именно она определяет, чем закончится любой сбой.

Что сделала команда

Реакция Symbiosis была быстрой. Bitcoin Bridge заморожен в течение часа; остальные маршруты (EVM, TRON, TON) не пострадали.

Команда вывела около 15,2 BTC резервов портала на защищённый мультиподписной кошелёк — их атакующий забрать не успел. Отдельно стоит отметить: в части новостей ошибочно писали, что 15 BTC «вернул хакер». Это не так, средства вывела команда.

11 сентября Symbiosis предложила атакующему 20% за возврат средств до 13 сентября — он не ответил; затем те же 20% были предложены любому, кто поможет вернуть деньги. Объявлено о подготовке компенсации поставщикам ликвидности. Мост отключён на переработку кода, а обмен BTC в интерфейсе Symbiosis переведён на сторонние протоколы Chainflip и THORChain, который недавно отказался блокировать похитителей с биржи Bitget.

Чек-лист

Если вы пользуетесь мостами и кроссчейн-свопами

  • Узнайте, есть ли у протокола пауза и как быстро её включают: смотрите, отключался ли мост при прошлых инцидентах и за сколько минут.
  • Проверьте, есть ли лимиты выпуска и вывода — на одну транзакцию и на период времени.
  • Посмотрите, опубликованы ли аудиты и работает ли программа вознаграждений за найденные ошибки.
  • Оцените, сколько ликвидности реально стоит в пулах синтетических токенов (syBTC и подобных): именно она определяет размер потерь при сбое.
  • Не держите крупные суммы в обёрнутых токенах дольше, чем это нужно для конкретной операции.

Если вы пишете или проверяете такой код

  • Проверяйте знак и границы любых числовых параметров: комиссия ≥ 0, выпуск ≤ депозита.
  • Берите права только из подписи транзакции, никогда из пользовательских данных.
  • Ставьте лимит выпуска на транзакцию и в единицу времени.
  • Настраивайте сигнал тревоги на аномальную сумму: выпуск, отличающийся от депозита на порядки, должен останавливать процесс.

История с Symbiosis — не про гениального хакера и не про сломанную криптографию. Это история про две строки кода: одну, где права взяли не из подписи, и вторую, где не проверили знак числа. По отдельности каждая из них выглядит мелочью, вместе они дали выпуск на 46,1 млрд syBTC. Ущерб в $770 тыс. оказался ограничен не защитой протокола, а всего лишь тем, сколько денег лежало в пулах. Проверять знаки, границы и источники прав нужно до того, как это сделает кто-то другой.

Нашли ошибку в тексте? Выделите её мышкой и нажмите Ctrl + Enter

Материал носит информационный характер и не является инвестиционной рекомендацией.

График биткоина Живые данные · открыть →

Рыночный будильник и дайджест — без регистрации →

Читать дальше

Комментарии

Комментариев пока нет — будьте первым.