До вмісту
RU UA
CoinGecko · оновлено —
Новини криптовалют

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

Редакція Crypto Digest 5 хв читання

Ціни та курси в тексті — на момент публікації: 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

Матеріал має інформаційний характер та не є інвестиційною рекомендацією.

Індекс страху та жадоби Живі дані · відкрити →

Ринковий будильник і дайджест — без реєстрації →

Читати далі

Коментарі

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