Злом Thetanuts: застаріле сховище коштувало протоколу $2,1 млн
DeFi-сектор знову зіткнувся з інцидентом, який нагадує про «токсичні активи» в блокчейні. Цього разу об'єктом атаки став протокол децентралізованих опціонів Thetanuts Finance. Зловмисники вивели близько $2,1 млн зі сховища, яке команда проєкту давно не використовувала. Однак, як це часто буває, білі хакери оперативно втрутилися та повернули приблизно $2 млн.
Деталі атаки: «сплячий» контракт і помилка в діленні
Експлойт торкнувся смарт-контракту, який Thetanuts припинили підтримувати кілька років тому. В офіційній заяві команда підкреслила, що цей контракт жодним чином не пов'язаний з поточними продуктами та працюючою інфраструктурою. Тим не менш, він залишався активним у мережі, що й стало точкою входу для атакуючого.
Фахівці з безпеки виявили, що корінь проблеми — помилка у функції ділення цілих чисел (integer division) у внутрішній логіці карбування токенів. Через особливості округлення при обчисленні депозиту формула почала видавати нуль. Це дозволило хакеру карбувати опціонні токени в необмеженій кількості без внесення реальної застави. Фактично, зловмисник створив токени з повітря, а потім обміняв їх на ліквідні активи.
За даними аналітиків, хакер уже конвертував $105 000 у USDC на приблизно 60 ETH. У гаманці атакуючого все ще залишаються опціонні токени на суму близько $34 000, які поки не були обготівковані.
Тренд на «зомбі-контракти»
Інцидент з Thetanuts — частина тривожної тенденції. Ми спостерігаємо серію атак на забуті або застарілі смарт-контракти, які продовжують працювати навіть після припинення офіційної підтримки. Раніше аналогічні зломи сталися на Aztec Connect (втрата $2,1 млн) та Raydium (втрата $1,3 млн із застарілих пулів ліквідності). Це доводить: залишити контракт «гнити» в мережі — означає залишити двері відкритими для зловмисників.
Думка експерта: Цей випадок — суворе нагадування для всіх DeFi-команд. Мало просто «відключити» підтримку старого контракту. Якщо він залишається в блокчейні, він все ще становить загрозу. Процедура «виведення з експлуатації» повинна включати повне блокування або знищення контракту. Інакше старий код може стати «бомбою уповільненої дії» для всієї екосистеми.