Чтобы отозвать безлимитное разрешение, откройте официальный сервис проверки разрешений нужного блокчейна, подключите правильный кошелёк, проверьте контракт получателя полномочий и лимит, затем отправьте ончейн-транзакцию отзыва. За неё взимается сетевая комиссия; после подтверждения данное разрешение больше нельзя использовать. Простое отключение сайта его не отменяет.
Определите, какое разрешение опасно#
ERC-20 approval разрешает контракту-получателю перевести с вашего адреса токены в пределах заданного лимита. «Безлимитным» обычно называют лимит, близкий к максимальному значению стандарта, чтобы приложению не приходилось запрашивать новое разрешение перед каждой будущей сделкой.
Само разрешение не перемещает токены. Риск возникает, если получатель вредоносный, взломан или небезопасно обновляется. Неактуальный лимит может действовать спустя долгое время после того, как вы перестали пользоваться приложением.
Для NFT встречается setApprovalForAll, дающий оператору полномочия на всю коллекцию. Проверяйте тип разрешения и не считайте, что каждое approval касается лишь одной суммы токенов.
Используйте проверку для правильной сети#
Разрешения привязаны к сети. Запись в Ethereum отличается от разрешения в Base, Arbitrum, BNB Smart Chain или Polygon, даже если адрес кошелька выглядит одинаково.
Открывайте обозреватель через проверенный домен или используйте известный менеджер разрешений, на который ссылается доверенный ресурс экосистемы. Ethereum.org указывает на Token Approval Checker от Etherscan и Revoke.cash. Избегайте ссылок из незапрошенных сообщений.
Перед подключением проверьте:
- сеть в кошельке;
- проверяемый адрес кошелька;
- контракт токена;
- контракт получателя полномочий;
- текущий лимит и контекст его последнего использования.
Отзывайте по одному разрешению#
В первую очередь обрабатывайте неизвестных получателей, контракты заброшенных приложений и разрешения, охватывающие ценные балансы. Выберите отзыв, прочитайте запрос кошелька и убедитесь, что транзакция меняет лимит, а не переводит токены или выдаёт другое полномочие.
Лимит изменится только после включения транзакции в блок. Оставьте достаточно нативного актива сети для комиссии. После подтверждения обновите сервис и проверьте, что лимит равен нулю или удалён.
Uniswap отмечает, что отзыв — ончейн-транзакция с сетевой комиссией и не равен отключению dapp. Следующий законный обмен может потребовать нового разрешения.
Понимайте ограничения отзыва#
Отзыв предотвращает будущие расходы через конкретное разрешение. Он не отменяет выполненный перевод, не возвращает украденное и не защищает раскрытую сид-фразу. Если вредоносный контракт получил несколько полномочий, удаление одного оставит другие пути.
При подозрении на компрометацию сид-фразы, приватного ключа или устройства создайте новый кошелёк и перенесите оставшиеся активы. Если риск связан только с одним известным лимитом, после полной проверки недавней активности и остальных разрешений отзыва может быть достаточно.
Заменяйте безлимитное разрешение контролируемым риском#
Если интерфейс позволяет, разрешайте только сумму конкретной операции. Для незнакомых протоколов используйте отдельный кошелёк с ограниченным балансом. Проверяйте лимиты после разовой операции и при сообщении протокола об инциденте.
Небольшой лимит не заменяет проверку получателя. Вредоносный контракт всё равно заберёт разрешённую сумму, а повторные approvals создают дополнительные комиссии и моменты для опасной подписи.
Часто задаваемые вопросы#
Перемещает ли отзыв мои токены?
Нет. Обычный отзыв меняет лимит в контракте токена. Но проверяйте детали: поддельный интерфейс отзыва может запросить другое действие.
Почему отзыв требует gas?
Лимит хранится в состоянии блокчейна. Для обновления нужна сетевая транзакция и нативный актив для комиссии.
Можно ли отозвать разрешение без подключения кошелька?
Проверить лимиты можно по публичному адресу, но для изменения нужна подпись управляющего кошелька.
Нужно ли отзывать всё?
Удаляйте ненужные разрешения и внимательно проверяйте неизвестные или безлимитные. Активным приложениям может понадобиться новое approval, поэтому расставляйте приоритеты по риску, а не подписывайте вслепую десятки незнакомых транзакций.
Источники#
- Ethereum.org: отзыв доступа смарт-контракта
- Uniswap: как отозвать разрешение токена
- Ethereum.org: помощь при мошенничестве и подача заявлений
Предупреждение о рисках: сервисы разрешений требуют подписи кошелька. До отправки транзакции проверьте домен, сеть, токен и получателя полномочий.
Редакционный стандарт
Материал носит образовательный характер и основан на источниках. Меры безопасности, правила бирж и правовые требования могут меняться — проверяйте важные шаги по официальным данным.