Розробник відновив 2 мільйони доларів, заблокованих у смартконтракті ICO HongCoin 2016 року

ETH-1,4%
EUL-1,67%

Розробник на ім’я Флорент відновив приблизно 1 003 ETH, вартість яких становить близько 2 мільйонів доларів за поточними цінами, із контракту первинної пропозиції монет HongCoin 2016 року, де кошти були заблоковані протягом дев’яти років. Продаж токена Ethereum був налаштований на автоматичне повернення інвесторам коштів після того, як збір не досягнув цілі, але програмний баг не дав змоги виконати функцію відшкодування для власників із балансами, що перевищували вичерпаний глобальний лічильник. Флорент скористався вразливістю переповнення в адмінфункції контракту, працюючи з командою HongCoin приблизно тиждень, щоб розблокувати кошти для 48 первинних інвесторів. Відновлення демонструє, як ранні вразливості смартконтрактів із докомпіляторної епохи SafeMath і надалі блокують цінність у мережі.

Вразливість переповнення блокувала повернення коштів дев’ять років

Контракт HongCoin, який у 2016 році позиціонували як інвестфонд, керований спільнотою, містив механізм повернення коштів, що відхиляв будь-якого власника токенів, чиї баланси перевищували глобальну змінну-лічильник. Роки часткових повернень зменшили цей лічильник до 356, обмеживши загальні виплати 3,56 ETH (приблизно $7 тис.), тоді як більшість власників, що залишилися, тримали значно більші суми.

Флорент розповів The Block, що контракт був розгорнутий із старою версією мови Solidity, яка не мала захисту від помилок переповнення. У таких збоях число, яке досягає достатньо великого значення, скидається до 0 або 1 — вразливість, яку згодом усунула бібліотека SafeMath.

Розробник знайшов обхідний шлях через адмінфункцію команди, створену насамперед для карбування bounty-токенів для конкретних подій. Виклик цієї функції з точним вхідним значенням обнуляв баланс власника до 1, що давало змогу пройти перевірці на повернення та розблокувати заблоковані ETH.

Співпраця команди дозволила процес «whitehat» розблокування

Адмінфункцію обмежили мультипідписним гаманцем HongCoin, що унеможливлювало одноосібні дії. Флорент надіслав команді електронного листа, перевірив послідовність транзакцій на форку Foundry mainnet, а команда підписала транзакції на розблокування. За словами Флорента, процес зайняв близько тижня від першого листа.

Із 48 первинних інвесторів, які тепер можуть забирати кошти, 41 потребував експлойту скидання балансу. Ще семеро мали суми, достатньо малі, щоб повертатися напряму через наявну функцію. Команда підписала 41 транзакцію — по одній на кожного заблокованого власника — на суму приблизно 1 000 ETH, які справді застрягли.

Два інвестори повернули сумарно 96,5 ETH (приблизно $193 тис.) і добровільно надіслали Флоренту винагороду whitehat. Флорент заявив The Block, що не було жодних комісій, відсотків або брокерських нарахувань. «Крім самої команди, ніхто особливо не мав стимулу копати в контракт так уважно, — сказав Флорент. — Не було жодного багу в контролі доступу, який би дав змогу комусь вкрасти кошти собі, тож для хакера не було нічого здобути; єдиний результат будь-якого експлойту — повернення ETH первинним інвесторам».

Розробник раніше звільнив 19,329 ETH із невдалих контрактів

У неділю, 24 травня, Флорент описав відновлення 19,329 ETH — приблизно $40,590 — із двох старіших контрактів. Перший — це невдалий січневий ICO 2018 року: 5,141 ETH були заблоковані за функцією публічного повернення коштів, яку так і не викликали. Другий випадок стосувався користувача Liquality Wallet: сім прострочених атомарних свопів сумарно на 14,190 ETH, які Флорент повернув від імені користувача після того, як Liquality у 2024 році вимкнула застосунок.

Методологія сканера виявляє контракти з високою сумою, що зависли

Флорент сказав, що нещодавно налаштував самохостний Ethereum-вузол і побудував сканер, щоб позначати кожен контракт, який тримає понад 100 ETH, після чого пропрацьовував кандидатів. «Багато контрактів є форками інших контрактів, тож вада в одному — це та сама вада в усіх інших у межах цього кластеру», — сказав Флорент. «Втім, великі, добре відомі кластери вже дуже ретельно переглядали».

Коли запитали про допомогу від ШІ, Флорент сказав, що використовував Claude Code, щоб пришвидшити сортування та кластеризацію контрактів, але виявив обмеження в аналізі смартконтрактів. «ШІ часто упереджений тим, що контракт ще не ламали раніше, і що попередні люди не змогли знайти шлях… тож він часто підставляє “це неможливо розламати, я перепробував усе”, що нерідко є неправдою».

Відновлення відбувається на тлі хвилі експлойтів у DeFi. Атаки в сумі сягнули сотень мільйонів доларів лише за квітень: серед лідерів — приблизно $293 мільйона відтоку коштів у Kelp DAO. Нещодавно співзасновник компанії з безпеки OpenZeppelin заявив, що вважає весь DeFi небезпечним. Деякі експлойти завершилися відновленнями whitehat або добровільними поверненнями, як у Euler Finance після майже повного відновлення після його експлойту в 2023 році.

«Останнім часом помітне чітке відродження активності хакерів на протоколах, і DeFi перетворюється на складний простір для інвестування», — сказав Флорент. «Мені б хотілося побачити контррух людей, які намагаються захищати речі, а не експлуатувати їх. Це морально винагороджує сильніше, і це також може добре оплачуватися».

FAQ

Що спричинило те, що кошти ICO HongCoin залишалися заблокованими дев’ять років?

Програмний баг у функції відшкодування контракту HongCoin 2016 року відхиляв будь-якого власника, чий токен-баланс перевищував глобальну змінну-лічильник. Роки часткових повернень зменшили цей лічильник до 356, що не давало змоги робити повернення для власників із більшими балансами, тоді як контракт не мав захисту від переповнення, стандартного в пізніших версіях Solidity.

Як Флорент розблокував заблоковані ETH, не вкрадаючи їх?

Флорент визначив адмінфункцію, яка спочатку була призначена для карбування bounty-токенів. Викликавши її з певним вхідним значенням, він міг скинути баланс власника до 1 завдяки вразливості переповнення, що дозволяло перевірці на повернення пройти. Адмінфункція вимагала підписів від команди HongCoin, тож Флорент узгодив дії з командою приблизно за тиждень, щоб виконати 41 транзакцію розблокування для заблокованих інвесторів.

Скільки ETH Флорент відновив із старих контрактів?

Флорент відновив приблизно 1 003 ETH (близько 2 мільйонів доларів) із контракту HongCoin. У неділю, 24 травня, він описав звільнення додаткових 19,329 ETH (приблизно $40,590) з двох інших контрактів: невдалого січневого ICO 2018 року з 5,141 ETH та семи прострочених atomic swaps Liquality Wallet сумарно на 14,190 ETH.

Застереження: інформація на цій сторінці може походити зі сторонніх джерел і надається виключно для ознайомлення. Вона не відображає позицію чи думку Gate і не є фінансовою, інвестиційною чи юридичною консультацією. Торгівля віртуальними активами пов’язана з високим ризиком. Будь ласка, не покладайтеся лише на інформацію з цієї сторінки під час прийняття рішень. Детальніше дивіться у Застереженні.
Прокоментувати
0/400
Немає коментарів