📌 Pectra дает хакерам возможность красть средства с кошельков, используя лишь подпись вне цепочки.
Обновление сети Ethereum, Pectra, привнесло новые мощные функции для улучшения масштабируемости и функциональности смарт-кошельков, но одновременно открыло новый потенциально опасный способ атак, позволяющий злоумышленникам похищать средства пользователей, используя только внецепочечную подпись.
В рамках обновления Pectra, которое вступило в силу 7 мая в блоке 364032, хакеры теперь могут применять новый тип транзакций для получения контроля над аккаунтами внешних владельцев (EOA), не требуя подписания транзакции на блокчейне.
Арда Усман, аудитор смарт-контрактов Solidity, подтвердил Cointelegraph, что “теперь злоумышленник может похитить средства EOA, применяя только сообщение, подписанное вне цепочки (без прямого ончейн-действия, подписанного пользователем) “.
В центре риска находится EIP-7702, основной компонент обновления Pectra. Предложение по улучшению Ethereum вводит транзакцию SetCode (тип 0x04), которая дает возможность пользователям передавать контроль над своим кошельком другому контракту, просто подписав сообщение.
Если злоумышленник заполучит эту подпись например, через фишинговый сайт он сможет перезаписать код кошелька небольшим прокси, который будет перенаправлять вызовы на его вредоносный контракт.
После установки кода, поясняет Усман, злоумышленник сможет вызвать его для перевода ETH или токенов со счета, и всё это без необходимости пользователю подписывать стандартную транзакцию перевода.
Егор Рудиция, исследователь ончейн в Hacken, отметил, что этот новый вид транзакций, появившийся в Pectra, позволяет установить произвольный код на аккаунт пользователя, фактически превращая его кошелек в программируемый смарт-контракт.
“Этот тип tx дает пользователю возможность установить произвольный код (смарт-контракт), который сможет выполнять операции от имени пользователя”, – говорит Рудиця.
До Pectra изменить кошельки было нельзя без транзакции, подписанной непосредственно пользователем. Сейчас же одна внецепочечная подпись способна установить код, который делегирует полный контроль над контрактом злоумышленника.
До Pectra пользователи должны были отправить транзакцию (а не подписать сообщение), чтобы разрешить перемещение своих средств… После Pectra любая операция может быть выполнена из контракта, который пользователь одобрил через SET_CODE”, – объясняет Рудиция.
Угроза реальна и неотложна. “Pectra активирована с 7 мая 2025 года. С этого момента может быть применена любая валидная подпись делегации”, предупредил Усман. Он добавил, что смарт-контракты, опирающиеся на устаревшие предположения, такие как применение tx.origin или базовые проверки только EOA, особенно уязвимы.
Кошельки и интерфейсы, которые не могут обнаружить или правильно отобразить эти новые типы транзакций, подвергаются наибольшему риску. Рудица предупредил, что “кошельки уязвимы, если не анализируют типы транзакций Ethereum”, в частности, тип транзакции 0x04.
Он подчеркнул, что движки кошельков обязаны четко показывать запросы на делегирование и отмечать любые подозрительные адреса.
Эта новая форма атаки легко реализуется через стандартные внецепочечные взаимодействия, вроде фишинговых писем, фальшивых DApps или мошенничества в Discord.
“Мы полагаем, что это станет самым распространенным вектором атак в связи с этими изменениями, привнесенными Pectra”, заявил Рудиця. “Отныне пользователям необходимо тщательно проверять, что именно они собираются подписывать”.
Аппаратные кошельки больше не являются безопасными по своей сути, подчеркнул Рудица. Он добавил, что теперь аппаратные кошельки подвергаются такому же риску, как и горячие, с точки зрения подписания вредоносных сообщений. “Если это будет сделано, все средства исчезнут в одно мгновение”.
Есть способы защитить себя, но они требуют бдительности. “Пользователям не стоит подписывать сообщения, которые им неясны”, советует Рудиця. Он также призвал разработчиков кошельков предоставлять четкие предупреждения, когда пользователям предлагается подписать сообщение о делегировании.
Особое внимание следует уделять новым форматам подписей делегирования, представленным в EIP-7702, которые несовместимы с существующими стандартами EIP-191 или EIP-712. Такие сообщения часто выглядят как обычные 32-байтовые хэши и способны обойти стандартные предупреждения кошелька.