X100 та Arkadiko: аналіз атак на управління — чому блокування та тривалі цикли голосування не спрацювали?

By: foresightnews.pro|30.10.2026 08:01:31
0
Поширити
copy
Оцінити в GoogleОцінити в Google

Управління криптопроектами потребує буферних механізмів.

Автор: Ліам Акіба Райт

Переклад: Чоппер, Foresight News

Нещодавні дві атаки на управління виявили однакові конструктивні недоліки. Зловмисники захопили два місця в управлінні проекту X100 в екосистемі Ethereum, 24 жовтня через одну он-chain транзакцію схвалили переказ з фонду, одночасно завершивши повернення позики.

Кредитний протокол Arkadiko дозволяє користувачам закладати активи фонду для отримання позик. Голосування за управління, яке тривало 5 днів, було завершено достроково, зловмисники купили токени напередодні закінчення голосування, щоб взяти участь у голосуванні. Після схвалення зловмисного пропозиції не було періоду охолодження, контракт негайно захопив активи фонду.

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

Токени X100 заблоковані, але негайно отримують права управління

Контракт Freezer X100 управляє замороженими токенами X, частка стейкінгу визначає рейтинг кандидатів у комітет управління, терміни блокування поділяються на 1 рік, 3 роки, 5 років, але контракт не має вимог до мінімального терміну володіння токенами. Під час атаки 24 жовтня два допоміжні контракти заклали по 19000.000001 токенів X, вибравши річне блокування. Вони зареєструвалися, увійшли до рейтингу комітету управління та віддали ключові два голоси, що дозволило виконати пропозицію номер 7. Вся операція була завершена в одній транзакції.

Цей механізм управління не має обов'язкового періоду очікування: під час відкритої фази пропозиції більшість місць у комітеті управління може безпосередньо уповноважити виконання. Зловмисники контролювали 2 з 3 місць і вже мали негайний доступ до прав виконання. Після схвалення пропозиції 400000 токенів X були переведені до новоствореного пулу зловмисника, контракт Freezer отримав лише 35.675313 USDT. Зловмисник потім вивів токени з пулу, продав X за кошти, щоб повернути позику.

Токени стейкінгу залишалися заблокованими, зловмисник не потребував розблокування частки стейкінгу, лише викрав активи з фонду, а кошти від продажу токенів використав для повернення. Після завершення атаки, повернення основної суми + відсотків, приблизно 4.75 мільйона USDT надійшли на фінальну адресу отримувача. Учасник ChainBounty Філіппарк відстежив ці кошти, ця сума ще не враховує невикористані токени X та їх коливну вартість, лише статистику відстежуваних переказів.

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

Arkadiko: кошти, що входять наприкінці голосування, можуть брати участь у голосуванні

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

Правила вимагають, щоб пропонент мав 0.25% від відповідної кількості токенів DIKO (управлінських токенів Arkadiko), а рівень участі у голосуванні досягав 5%, щоб вважатися кворумом, голоси «за» повинні перевищувати голоси «проти», щоб пройти. Обчислення обігу виключає токени DIKO з початкового розподілу. Правила контракту не вимагають, щоб голосуючі мали токени до подання пропозиції. Гаманець зловмисника купив токени о 15:03 UTC 22 жовтня і завершив голосування о 15:06, витративши близько 457.3 тисячі токенів DIKO.

Ланцюгова трасування Bitquery показує, що 77% STX, отриманих голосуючим гаманцем зловмисника, походять з раніше вкрадених коштів StackSwap. (Примітка: StackSwap — це DEX екосистеми Stacks, який зазнав атаки на управління 20 жовтня.)

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

Активний контракт управління Arkadiko має вразливість: функції виведення та випуску USDA не мають перевірки прав виклику. Пропозиція номер 12 зареєструвала цей зловмисний контракт як контракт управління, надавши права на випуск. Через кілька хвилин після набрання чинності пропозиції, тобто о 16:06 UTC, зловмисник вивів sBTC; о 16:09 — вивів stSTX. Bitquery оцінює, що Arkadiko зазнав збитків приблизно на 1.09 мільйона доларів: з яких 780 тисяч доларів stSTX, 135 тисяч доларів sBTC, а також 173 тисячі доларів, отриманих від продажу беззаставного USDT, випущеного зловмисником.

Arkadiko у відповіді 22 жовтня заявив, що зловмисний контракт було деактивовано, а управління, викуп фонду та ліквідація призупинені. Компанія зазначила, що постраждалі фонди stSTX та sBTC не можуть бути змінені, оскільки їх застави недоступні. 27 жовтня пропозиція 14 «AIP 32.2 — Відновлення управління фондом» була виконана, встановивши записи управління фондом як легітимний контракт Arkadiko.

Уроки: управління потребує буферних механізмів

Встановлення знімків голосування, вимога, щоб токени мали бути в руках певний час, може запобігти негайному отриманню прав голосу новими купленими токенами; а блокування часу виконання розділяє «схвалення пропозиції» та «операції з активами» на два незалежні етапи. Якщо всі операції з пропозиціями обов'язково проходять через блокування часу, атака X100, що складається з «однієї транзакції для позики, атаки, повернення», не може відбутися. Звісно, зловмисники з довгостроковими активами все ще можуть почекати закінчення терміну блокування, перш ніж діяти, тому також потрібно окремо обмежити права на операції контракту пропозиції.

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

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

Оригінальний контракт фонду Arkadiko v1-3 має вбудований механізм виходу: звичайні користувачі можуть повернути заставу після погашення боргу та сплати стабільного збору, коли функція активується. Цей процес передбачає, що коштів достатньо, а заставні активи залишаються.

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

Ціна --

--
--
--

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

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

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

iconiconiconiconiconiconiconicon
Підтримка клієнтів:@weikecs
Співпраця:@weikecs
Кількісна торгівля та маркетмейкінг:[email protected]
VIP-програма:[email protected]