
П’ятдесят ключів до одного замка. Щоб зрозуміти зламування Binance, потрібно зануритися в рядок коду Ethereum. Проте більшість користувачів його ніколи не помічали. EIP-7702, який з’явився з оновленням Pectra у травні 2025 року, дозволяє звичайному гаманцю поводитися як смарт-контракт. Хакери використали його, щоб перетворити “гарячий” гаманець «Binance 14» на справжній пилосос. Цей один гаманець втратив близько 2,5 мільярдів доларів із загальної суми, яку Binance оцінила в 6,3 мільярда доларів за весь злам. Примітно, що з 50 підготовлених ним авторизацій лише одна виявилася успішною.
Ось технічна анатомія атаки з двома поясненнями, що суперечать одне одному щодо походження підпису.
Ключові моменти цієї статті:
- EIP-7702 дозволяє звичайному акаунту делегувати виконання смарт-контракту за простого підпису власника.
- Атакуючий не знав точного лічильника гаманця, тому підписав п’ятдесят послідовних авторизацій, і одна з них виявилася успішною.
- Цей підпис вимагає приватного ключа акаунта. Отже, вразливість криється в ланцюгу підписів Binance.
- Binance говорить про компрометацію комп’ютера інженера, TRM Labs — про зламану інфраструктуру підписання.
EIP-7702: що Pectra змінила для гаманців
До 7 травня 2025 року Ethereum існував із двома чітко розділеними типами акаунтів. З одного боку — зовнішні акаунти (EOA), керовані приватним ключем, як ваші MetaMask чи Ledger. З іншого — акаунти контрактів, керовані кодом. EOA могли лише надсилати транзакції по одній. EIP-7702, розроблений Віталіком Бутеріним, розмив цей кордон. На практиці власник EOA підписує авторизацію. Вона, по суті, означає: «до подальших розпоряджень виконуй код цього контракту замість мене». Акаунт зберігає свою адресу та баланс, але починає підкорятися логіці контракту.
Практичні застосування такі: групування кількох операцій в одну транзакцію або дозвіл третій стороні оплачувати комісії за газ. Гаманці масового користування почали використовувати делегування EIP-7702 з літа 2025 року. Але про зворотний бік було відомо з самого початку. Адже якщо хтось отримує авторизацію до зловмисного контракту, весь акаунт стає його. І йому навіть не потрібно “красти” приватний ключ у класичному розумінні.
Цю авторизацію супроводжують три запобіжники. По-перше, її підписує приватний ключ акаунта. По-друге, вона містить ідентифікатор ланцюга. По-третє, вона містить nonce акаунта — той самий лічильник, який збільшується з кожною надісланою транзакцією. Авторизація дійсна лише тоді, коли її nonce точно відповідає лічильнику акаунта. Цей контроль відбувається в момент включення транзакції до блоку. Саме ця деталь пояснює цифру 50.

Злам Binance: механіка 50 авторизацій
Blockaid, компанія з безпеки, яка виявила операцію, реконструювала послідовність. Атакуючий мав можливість підписувати авторизації від імені Binance 14. Натомість він не знав поточного nonce цього гаманця, який обробляв запити на виведення коштів від клієнтів. Тому він підписав п’ятдесят авторизацій, від nonce 18 914 775 до 18 914 824. Потім він надіслав їх одним транзакційним пакетом типу 4 — форматом, створеним Pectra. Сорок дев’ять інших не відповідали жодному дійсному лічильнику. Одна ж влучила точно в поточний лічильник. Blockaid резюмує у X: “одна з 50 влучила в ціль”.

З цього моменту Binance 14 виконує код контракту атакуючого. За даними Blockaid, перший переказ відбувся через 3 хвилини 24 секунди після делегування. Він вивів 167 464 ETH, 1,6 мільярда USDT та близько шістдесяти інших токенів. Ту ж роль власника потім використали для виведення 823 мільйонів USDC з іншого смарт-гаманця. У цьому ланцюгу ніщо не експлуатувало багів EIP-7702. Протокол зробив саме те, що від нього вимагалося, з дійсною авторизацією.
Ці п’ятдесят підписів ставлять просте запитання. Адже для їх створення потрібен приватний ключ Binance 14 або доступ до системи, яка його використовує. Для Ідо Бен-Натана, керівника Blockaid, це “нецільове використання ключа”, а не крадіжка.
Від 2,5 до 6,3 мільярдів: деталі зламу Binance
Цифра в 2,5 мільярда доларів стосується лише Binance 14. Хакер одночасно атакував близько десяти блокчейнів. Binance оцінює загальний збиток у “приблизно 6,3 мільярда доларів”. TRM Labs, яка відстежувала кошти, називає цифру 6,36 мільярда, розподілену на момент переказів так:
- Ethereum: близько 3,79 мільярдів доларів, включаючи Binance 14, 823 мільйони USDC та інші гарячі гаманці біржі;
- Bitcoin: близько 1,47 мільярда, або 18 270 BTC;
- Tron: близько 628 мільйонів, у USDT (612,7 мільйонів) та TRX;
- XRP Ledger: близько 296 мільйонів, або 233,46 мільйонів XRP, виведені першими, за п’ятнадцять хвилин до Binance 14;
- Solana: близько 96 мільйонів;
- Arbitrum, Optimism, Base, Avalanche та Polygon: близько 77 мільйонів на п’ятьох.
Розбіжність між оцінками пояснюється охопленням. Blockaid, яке враховує лише Ethereum, Bitcoin і Tron, зупиняється на 5,57 мільярдах. Binance стверджує, що заморозила близько 3 мільярдів доларів on-chain, зокрема завдяки Tether і Circle, які заблокували викрадені USDT та USDC.
Ноутбук DevOps чи інфраструктура підписання: дві версії зламу Binance
Binance представила свою версію у нічному звіті. За даними біржі, хакер зламав ноутбук інженера DevOps. Цей доступ дозволив йому “отримати доступ до сервісного контейнера та надсилати несанкціоновані транзакції виведення”. Однак Binance стверджує, що не знайшла “жодних доказів витоку приватного ключа”. Переклад: хакер взаємодіяв із сервісом, який мав право запитувати підписи. Цей сервіс потім підписував те, що йому пред’являли, навіть без витоку самого ключа. Включаючи п’ятдесят авторизацій 7702, яких не повинно бути в запиті на виведення коштів від клієнта.
TRM Labs висловлює ту ж думку іншими словами і робить висновок про “компрометацію інфраструктури підписання гарячих гаманців”. Обидві версії сходяться в головному. Слабкою ланкою виявився внутрішній компонент, який має право підписувати, а не протокол Ethereum. Що мало б зупинити атаку? Існує кілька запобіжників. Правило може відхиляти будь-яку транзакцію типу 4, надіслану з гарячого гаманця для виведення коштів. Білий список може обмежувати контракти делегування. Нарешті, симуляція може перевірити кожну транзакцію перед підписанням — саме цей продукт продає Blockaid. Binance обіцяє детальний пост-мортем після завершення розслідування. А поки що біржам, чиї підписувачі приймають авторизації EIP-7702 без фільтрів, варто переглянути свої конфігурації до понеділка.
У травні 2025 року Pectra успішно пройшло без інцидентів, і мережа досі працює. Злам 29 жовтня ніяк не вплинув на код Ethereum. Однак він змінює питання, які слід ставити своїй платформі: хто підписує і з якими фільтрами.
Оригінал статті: journalducoin.com
