Твит был удалён автором.
Но мы всё сохранили 🙂.
22 августа была зафиксирована кража почти $1 млн в токенах и NFT. Пользователь подписал транзакцию, которая выглядела как обычный своп на Uniswap. Никаких очевидных признаков опасности не было: интерфейс показывал стандартную операцию, привычную и понятную. Однако вместо обмена произошла скрытая операция.
Эта статья была переведена с оригинала. Читайте оригинальную версию от нашего корреспондента здесь.
Кошелек получил временные «обновленные» права по стандарту EIP-7702, и этого оказалось достаточно, чтобы все активы одним шагом оказались на счетах мошенников. Этот случай стал первым громким сигналом о том, что новые стандарты Ethereum, создаваемые для удобства и эффективности, могут быть превращены в инструменты фишинга.
EIP-7702 — это предложение по улучшению протокола Ethereum, которое изменило саму природу взаимодействия с сетью. Традиционно в Ethereum существовало два типа аккаунтов. Первый — обычный кошелек (EOA), который просто подписывает транзакции при помощи приватного ключа. Второй — смарт-контракт, который содержит код и может выполнять сложные сценарии.
Внедрение EIP-7702 позволило объединить эти две модели. Обычный кошелек получил возможность временно вести себя как смарт-контракт, а значит, в рамках одной транзакции можно выполнить сразу несколько действий. Для пользователя это выглядит как упрощенный вариант так называемой account abstraction: больше не нужно подписывать каждое действие отдельно и платить за десятки транзакций, достаточно одного подтверждения, чтобы выполнить целый сценарий.
Посмотреть публикацию в X Загрузка...
В классической модели EOA все сводилось к простым действиям — переводам или вызовам функций в смарт-контракте. В случае с EIP-7702 кошелек загружает временный код, который выполняется только в течение одной транзакции. Этот код может содержать последовательность различных инструкций: например, сначала провести обмен на децентрализованной бирже, затем отправить часть полученных токенов на другой адрес и параллельно взаимодействовать с протоколом ликвидности.
После завершения транзакции временный код исчезает, и аккаунт возвращается в свое обычное состояние. Такой подход действительно решает множество проблем, делая DeFi-операции более удобными и дешевыми. Но именно эта гибкость и стала основой для новых атак.
Основная причина заключается в том, что транзакции с EIP-7702 технически выглядят как обычное обновление кода. Интерфейс кошелька получает лишь общую информацию: пользователь подписывает транзакцию, содержащую initCode, и этот код выполняется в пределах блока. Сами по себе эти данные не несут очевидного сигнала об опасности. Кошелек не может распознать, что именно в этом коде скрыта команда «передать все токены».
Еще одна сложность в том, что этот стандарт новый, и большинство клиентов и кошельков пока не понимают логику EIP-7702. В случае классических транзакций кошелек может показать «вы отправляете 2 ETH на адрес Х», но в случае 7702 он видит лишь общий набор инструкций, который в реальном времени будет исполняться виртуальной машиной. Чтобы объяснить это пользователю, требуется сложная интеграция и фактически встроенный анализатор кода, которого пока не существует в массовых решениях.
Посмотреть публикацию в X Загрузка...
В итоге пользователь видит лишь «привычный своп» или «approve», тогда как реальная логика транзакции остается скрытой. Этот разрыв между технической сложностью и визуальным отображением и создает идеальное поле для злоупотреблений.
Ethereum уже давно движется в направлении account abstraction, где разница между кошельком и смарт-контрактом стирается. Предыдущие шаги, в частности EIP-4337, вынесли обработку транзакций в специальные «bundlers». Новая инициатива стала упрощенным, но более радикальным вариантом, где логика выполняется непосредственно в аккаунте пользователя, без дополнительных промежуточных уровней. Это сделало транзакции эффективнее, но также открыло новые возможности для атак.
Случай с потерей $1 млн иллюстрирует парадокс развития Ethereum. Каждое новое улучшение открывает пространство для удобства и гибкости, но в то же время создает новый уровень опасности. Разработчики мечтали о мультиоперационных транзакциях и более дешевых DeFi-сценариях, а на практике получили изощренный фишинг.
EIP-7702 открыл новую эру для Ethereum, в которой обычный кошелек может на несколько секунд стать смарт-контрактом. Это шаг к универсальной модели аккаунтов, но в то же время напоминание, что инновация всегда идет рядом с риском. Там, где разработчики видят эффективность, мошенники находят способ вывести миллионы одним лишь подписанием.