40 минут, 5,6 миллиарда долларов.

Злоумышленник не похитил приватный ключ и не взломал сервер.

Он просто заставил горячий кошелёк Binance подписать разрешение. А затем кошелёк сам перевёл деньги.

В блокчейне не видно никаких действий по переводу активов на «внешний адрес». Похоже, Binance 14 просто совершает обычный исходящий перевод.

Что такое EIP-7702? Объясните в одном предложении.

Обновление Pectra для Ethereum дало обычным кошелькам одну возможность: временно использовать код смарт-контракта.

Звучит как технический прогресс.

Но обратная сторона гибкости такова: одной подписи достаточно, чтобы превратить ваш кошелёк в банкомат для кого-то другого.

Путь атаки — три шага.

Шаг первый: развернуть контракт с единственной функцией — sweep. Она переводит весь ETH и указанные токены на заданный адрес.

Шаг второй: получить подпись авторизации Binance 14. «Установить» этот код sweep на горячий кошелёк Binance.

Шаг третий: спустя 3 минуты 24 секунды вызвать функцию очистки прямо с адреса горячего кошелька Binance.

В блокчейне нет никаких действий по переводу активов на «внешний адрес». Выглядит так, будто Binance переводит деньги сам.

Атакующий включил в одну транзакцию 50 авторизаций с nonce от N до N+49. Расчёт был на то, что одна из них сработает.

В итоге сработала только одна.

С момента делегирования до первой очистки прошло всего 3 минуты 24 секунды.

Система управления рисками Binance не остановила атаку.

А дальше начались 40 минут, за которые биржа «сама себя опустошала».

Binance 14 сама инициировала вызов и вывела 167 464 ETH и 63 вида токенов, заплатив менее 1 доллара комиссии.

Binance 16 почти без перерыва добавила к этому ещё 28 005 ETH.

Затем средства раздробили: 7,77 триллиона PEPE, 7,02 миллиона UNI, 29 934 wBETH — и отправили по одному на совершенно новые адреса.

К рассвету через Ethereum, Bitcoin, Tron и несколько сетей L2 вывели 5,643 миллиарда долларов.

Tether, Circle, Ripple и World Liberty объединили усилия и заморозили около 2,54 миллиарда — 45% средств. Но вредоносное делегирование до сих пор не отозвано.

Изначальная цель EIP-7702 — сделать кошельки более гибкими.

Но гибкость не означает безопасность. Уже столько времени рассказывают об абстракции аккаунтов — все говорят о «более удобном интерфейсе», «более низком пороге входа» и «более умных кошельках».

Но никто всерьёз не отвечает на один вопрос: если сама авторизация становится вектором атаки и одной подписи достаточно, чтобы адрес выполнил произвольный код, можно ли вообще говорить о безопасности?

Это уязвимость не только Binance. Это вызов всему нарративу об абстракции аккаунтов Ethereum, на который нужно ответить.

Технологии не творят зло. Но «гибкость» технологий требует тормозов.

На этот раз тормоза не установили. В следующий раз на кону может быть не только 5,6 миллиарда.