Недоліки управління X100 призвели до втрати $6 млн через миттєвий кредит

By: cryptoslate.com|28.10.2026 02:10:15
0
Поширити
copy
Оцінити в GoogleОцінити в Google

Зловмисник отримав два місця в управлінні X100, токен-проекті з казначейством, що управляється Сенатом, і затвердив транзакцію казначейства, погасивши миттєвий кредит в одній транзакції блокчейну 24 жовтня.

На Arkadiko, протоколі кредитування, де користувачі позичають під заставу сховищ, голосування тривалістю приблизно п’ять днів закінчилося на два дні раніше, надавши зловмисному контракту повноваження над активами сховища. Люди купували голосувальні токени незадовго до вирішального голосування, і пропозиція набула чинності, коли голосування закрилося.

Ці інциденти виявляють різні прогалини між вкладенням грошей, правом голосу та виконанням затвердженої дії. Токени X100 повинні бути заблоковані на рік, тому тривала блокування токенів може накласти витрати без затримки повноважень.

Тим часом, тривале голосування може надати сповіщення, одночасно допускаючи пізні покупки. Жодне з них автоматично не створює часу для реагування після того, як рішення стає виконуваним.

Заблокована частка X100 надала негайні повноваження

Контракт Freezer X100 утримує заморожені токени X і постачає частку, що використовується для ранжування кандидатів у Сенат. Умови блокування тривають один, три або п’ять років, але право на участь у Сенаті використовує кількість, що наразі заморожена, без мінімального віку частки.

У першій атаці 24 жовтня два допоміжні контракти кожен заморозили 19,000.000001 X на термін один рік. Вони зареєструвалися, увійшли в рейтинг і надали два підтримуючих голоси, які виконали пропозицію 7. Вони завершили частку, голоси та виконання в одній транзакції.

Крайній термін управління не передбачав обов’язкового періоду очікування. Поки пропозиція залишалася відкритою, більшість з нині ранжованих місць Сенату могла уповноважити виконання. Утримання двох з трьох місць надало допоміжним особам достатньо влади для негайних дій.

Затверджений обмін надіслав 400,000 токенів X казначейства в створений зловмисником пул. Freezer отримав лише 35.675313 USDT, а зловмисник потім вилучив токени з цього пулу та продав X, щоб отримати готівку для погашення.

Частка залишалася замороженою, поки готівка з вилучення казначейства та продажу токенів фінансувала погашення, тому зловмисник не потребував спочатку відновлювати куплену частку.

Атака позичила близько 1.94 мільйона USDT і погасила основну суму плюс її премію. Після погашення близько 4.75 мільйона USDT дійшли до першого остаточного отримувача.

Учасник ChainBounty Філіппарк узгодив 4.848 мільйона USDT, виплачених трьом обраним отримувачам. Ця підсумкова сума не включає нерозпродані X та їх змінну вартість, вимірюючи обрані виплати.

Freezer також зберіг значне обмеження: після виконання його баланс X повинен був покривати загальну суму, яку користувачі заморозили. Захист цієї кількості заблокованого капіталу не захищав ліквідність зовнішнього пулу або ринкову вартість токена.

Голосування Arkadiko допустило пізні гроші

Пропозиція 12 Arkadiko була подана о 20:35 UTC 17 жовтня і виконана о 16:04 UTC 22 жовтня. Його контракт управління надав зовнішньому пропоненту інтервал голосування в 720 блоків Bitcoin, що зазвичай описується як п’ять днів.

Правила вимагали 0.25% від допустимого постачання DIKO для пропозиції, 5% участі для досягнення кворуму та більше голосів "так", ніж "ні". Обчислення постачання віднімало DIKO, що утримується в контракті початкового розподілу.

Ці пороги та правила голосування не вимагали, щоб власники токенів утримували токени до пропозиції. Гаманець пропонента здійснив обмін о 15:03:46 UTC 22 жовтня та голосування о 15:06:47. Він зобов’язався близько 4.573 мільйона DIKO. Пропозиція закрилася з такою ж кількістю голосів "так" та нульовими голосами "ні".

Bitquery оцінює покупки голосувальних токенів приблизно в $51,000. Його відстеження також вказує, що 77% STX, надісланих до голосувального гаманця, походять з попереднього збору StackSwap.

Зловмисник зобов’язався фінансами через кілька транзакцій та дат, тому випадок Arkadiko суттєво відрізняється від одноразового позичання та погашення X100. Пізня покупка була ключовою, оскільки вона стала використовуваною голосувальною силою під час вже відкритого голосування.

Коли голосування закінчилося, зміни були виконані. Не було окремого періоду очікування між цим рішенням і отриманням контрактом своїх повноважень.

Схвалений шкідливий контракт не мав авторизації виклику в своїх функціях виведення та емісії USDA. Пропозиція 12 зареєструвала його як контракт для операцій з сейфом з правом емісії. Успішні виклики видалили sBTC о 16:06 UTC та stSTX о 16:09, через кілька хвилин після активації.

Bitquery оцінює втрати Arkadiko приблизно в 1,09 мільйона доларів: приблизно 780 000 доларів stSTX, 135 000 доларів sBTC та 173 000 доларів STX, отриманих шляхом продажу незабезпеченого USDA. Нападник X100 діяв в одній транзакції, незважаючи на річну блокування токенів, тоді як Arkadiko виконав дії після голосування без окремої затримки.

У своїй відповіді 22 жовтня Arkadiko заявив, що він відключив шкідливий контракт і призупинив управління, викуп застави та ліквідації. Він зазначив, що постраждалі сейфи stSTX та sBTC не можуть бути змінені, оскільки їхня застава була недоступна.

О 07:57 UTC 27 жовтня була виконана пропозиція 14, "AIP 32.2 -- Відновлення операцій сейфу", що встановило вхід для операцій сейфу на легітимний контракт Arkadiko v1-3.

Вихідне вікно потребує виходу

Вимога старої частки або використання голосової сили з попереднього знімка могла б запобігти тому, щоб нові токени кваліфікувалися негайно, тоді як затримка виконання відокремила б схвалення від руху активів.

Якщо кожна відповідна дія повинна була проходити через цю затримку, точна послідовність X100 не могла б фінансувати себе і повернути позику в одній транзакції.

Нападник, що використовує капітал на більш тривалий термін, міг би почекати, але обмеження на те, що можуть робити схвалені контракти, залишаються окремим питанням.

Документація з управління OpenZeppelin описує історичну голосову силу та затримки виконання як окремі механізми.

Застосування цього розрізнення до цих інцидентів робить тест питанням про те, коли новий капітал отримує повноваження, що може рухати це повноваження, і скільки часу залишається до виконання.

Заморожений X X100 не міг би зазвичай бути розморожений до завершення його блокування, тому затримка виконання не стерла б це обмеження на виведення.

Легітимна функція закриття сейфу Arkadiko забезпечує умовний вихід: активний власник повертає борг, сплачує стабільні збори та виводить заставу, коли операції дозволені. Це вимагає необхідних коштів та доступної застави.

Пропозиція приблизно п’яти днів пропонувала попереднє повідомлення про запропоновану зміну. Остаточне голосування відбулося набагато пізніше, і закриття негайно активувало контракт. Вважати все голосування гарантованим вікном для виведення після схвалення затушить, коли небезпека стала виконуваною.

Ціна --

--
--
--

Цей контент надано лише для загальних інформаційних цілей і не є фінансовою, інвестиційною, юридичною чи податковою консультацією. Події, нагороди, онлайн-акцій або пов’язану інформацію, згадана тут, не слід розглядати як рекомендацію, прохання чи запрошення до купівлі, продажу, торгівлі чи інших операцій з криптоактивами. Криптоактиви є дуже волатильними та можуть призвести до збитків. Доступність послуг, продуктів WEEX та пов’язаних із ними подій може відрізнятися залежно від регіону. Ви несете відповідальність за забезпечення відповідності вашої участі чинному місцевому законодавству та нормативним актам.

Вам також може сподобатися

Найновіші статті

Більше

Нещодавні лістинги монет на WEEX

iconiconiconiconiconiconiconicon
Підтримка клієнтів:@weikecs
Співпраця:@weikecs
Кількісна торгівля та маркетмейкінг:bd@weex.com
VIP-програма:support@weex.com