Атаки через EIP-7702 объяснены
Апгрейд Ethereum Pectra позволил обычному кошельку временно вести себя как смарт-контракт. Дрейнеры тут же превратили это в новый эксплойт с одной подписью, который старые проверки апрувов не видят.
Сканировать кошелёк: бесплатно Следить 24/7 в Telegram
Только публичный адрес. Без подключения кошелька. Подписывать нечего.
Что на самом деле делает EIP-7702
EIP-7702 позволяет обычному кошельку (EOA) подписать «авторизацию», которая делегирует выполнение кода другому адресу, превращая кошелёк в подобие смарт-контракта на всё время действия делегирования. Это задумано для легитимных апгрейдов account abstraction, пакетных транзакций, спонсируемого газа, без перехода на новый адрес.
Как дрейнер злоупотребляет авторизацией
Фишинговая страница маскирует ту же самую подпись под клейм, апгрейд или шаг «верификации аккаунта». Подпишите её: и выполнение вашего кошелька теперь делегировано контракту атакующего. Отдельного апрува на каждый токен подписывать не нужно, делегированный код может действовать от имени вашего аккаунта и перемещать всё, что на нём есть.
Почему старые методы защиты это пропускают
Сканеры апрувов отслеживают вызовы approve() и Permit, затрагивающие хранилище allowance токена. Авторизация 7702 не делает ни того, ни другого, поэтому отзыв апрувов после этого ничего не меняет. Делегирование, подписанное с chainId 0, действительно сразу во всех сетях, характерный признак делегирования, созданного для массового слива, а не для одного легитимного приложения.
Как Guardian ловит это до вашей подписи
Guardian от Veriql декодирует любой authorizationList в ожидающем запросе, помечает делегирование с chainId 0 (действующее во всех сетях) как признак дрейнера и показывает полноэкранный STOP до того, как вы подпишете, независимо от того, что делает код контракта-получателя. С момента выхода Pectra подавляющее большинство замеченных делегирований 7702 вне известных приложений оказались вредоносными, поэтому любой неожиданный запрос на делегирование стоит воспринимать как сигнал остановиться.
Частые вопросы
Отменяет ли отзыв апрувов вредоносное делегирование 7702?
Нет. Делегирование не затрагивает хранилище allowance, поэтому отзывать там нечего. Чтобы отменить его, нужно подписать новую авторизацию с того же кошелька, которая сбрасывает делегирование в никуда, это не всегда возможно, если кошелёк полностью скомпрометирован, поэтому более безопасный вариант по умолчанию, перевести оставшиеся активы на новый кошелёк.
Опасен ли сам EIP-7702?
Нет: это легитимный апгрейд Ethereum. Риск такой же, как и у любой другой схемы дрейнеров: вас обманом заставляют подписать что-то для чужого контракта. Просто эта подпись новее, поэтому поначалу за ней следило меньше инструментов.