Обновлено 14 сентября 2026 г. Отзыв старых разрешений смарт-контрактов — один из самых простых способов уменьшить ненужные риски для кошелька, но хороший результат должен быть более конкретным, чем просто «я отключил некоторые децентрализованные приложения». После завершения этого процесса вы должны знать, какие контракты все еще могут тратить ваши токены, какие разрешения вы намеренно сохранили, и какие разрешения были обнулены или иным образом аннулированы в соответствующем блокчейне.
Данное руководство посвящено именно такому результату. В нем рассматриваются разрешения на использование токенов ERC-20, одобрения операторов NFT, разрешения Permit2, инструменты, которые помогут вам их проверить, и ситуации, когда отзыва недостаточно. Оно не гарантирует полную безопасность кошелька после отзыва: компрометация ключей, вредоносные подписи, уязвимости протокола и уже подтвержденные переводы требуют иных мер реагирования.
Что означает успех?
| Цель | Убедительные доказательства | Когда следует изменить подход |
| Удалить разрешение ERC-20 | Операция по аннулированию подтверждена, и сумма разрешенного доступа равна 0. | Если подтверждение появится снова, проверьте цепочку, адрес отправителя, контракт токена и убедитесь, что не задействована другая система разрешений, например, Permit2. |
| Удалить разрешение оператора NFT | Оператор больше не имеет разрешения на работу со всеми NFT в данной коллекции, или же разрешение на работу с конкретным токеном снято с рассмотрения. | Если средство проверки подлинности не может обнаружить нестандартный контракт NFT, проверьте контракт сбора средств напрямую или воспользуйтесь его официальным интерфейсом. |
| Снизьте риск воздействия в будущем. | Неиспользованные и неограниченные разрешения удаляются или ограничиваются; активные разрешения являются преднамеренными. | Если для выполнения рабочего процесса неоднократно требуются широкие права доступа, рассмотрите возможность использования отдельного кошелька для активности или децентрализованного приложения, поддерживающего более узкие ограничения. |
| Реагировать на взлом кошелька | Активы и будущая активность переносятся в новый кошелек, ключи которого не скомпрометированы. | Не следует полагаться только на отзыв ключа, если сид-фраза или закрытый ключ были раскрыты. |
Во-первых, поймите, что именно вы отменяете.
В соответствии со стандартом ERC-20, эта approveфункция позволяет держателю токенов разрешить плательщику вывести средства на сумму, не превышающую указанную, а также transferFromпозволяет авторизованному плательщику перемещать токены. Официальный стандарт доступен по адресу ERC-20: Token Standard .
Права доступа к NFT могут быть шире. Стандарт ERC-721 определяет setApprovalForAll, который позволяет оператору управлять всеми NFT владельца в данной коллекции. См. ERC-721: Стандарт невзаимозаменяемых токенов .
Важное различие: подключение кошелька к веб-сайту не то же самое, что предоставление разрешения на использование токенов в блокчейне. MetaMask прямо заявляет, что отключение децентрализованного приложения не отменяет уже существующие разрешения на использование токенов. Скрытие токена в интерфейсе кошелька также не меняет его разрешений.
Целевой результат: определить полномочия по расходованию средств в блокчейне, а не просто подключенные веб-сайты. Если вашим единственным действием было «Отключиться», продолжите проверку подтверждения.
Ссылка: MetaMask: Как отозвать разрешения/подтверждения токенов в смарт-контрактах .
Шаг 1: Перед тем как что-либо отзывать, проверьте права доступа к инвентарю.
Подпись: Начните с инвентаризации токенов, получателя и лимита. Запись «Безлимитный» заслуживает проверки, но это не означает автоматически, что она является вредоносной.
Используйте инструмент проверки авторизации, чтобы узнать, кто в данный момент имеет право распоряжаться вашими активами. Три полезных варианта:
- Проверка подлинности токенов Etherscan: полезна для адресов Ethereum и разделяет проверки по стандартам ERC-20, ERC-721 и ERC-1155. Etherscan утверждает, что вы можете проверить адрес, не подключая кошелек, а подключить его только тогда, когда захотите отправить запрос на аннулирование. См. раздел «Проверка подлинности токенов Etherscan» .
- MetaMask Portfolio: функция управления лимитами расходов поддерживает основную сеть Ethereum, Polygon, BNB Chain, Optimism и Base, как было указано на момент обновления этой статьи. См. лимиты расходов MetaMask Portfolio .
- Revoke.cash: предоставляет инструмент проверки согласований в нескольких сетях и обучающие материалы, охватывающие стандартные согласования, подписи в разрешениях и Permit2. См. документацию по согласованиям Revoke.cash .
Как оценить результат: в вашем инвентаре должны отображаться токены или коллекция NFT, адрес отправителя/оператора, сеть и текущие права доступа. Сохраните незнакомые адреса отправителей для проверки перед подписанием каких-либо документов.
Когда следует переключаться между инструментами: если один из инструментов проверки не поддерживает вашу сеть или нестандартный токен не отображается, используйте доверенный обозреватель блоков этой цепочки или проверьте контракт токена напрямую. Ни один индексатор не может гарантировать полную видимость каждого нестандартного контракта.
Шаг 2: Решите, что следует оставить, а что удалить.
Подпись: Рассмотрите каждое утверждение в контексте: актив, получатель, сумма, сеть и используете ли вы до сих пор базовое приложение.
Не следует отзывать разрешение механически. Подтверждение — это возможность, и некоторые активные функции децентрализованных приложений зависят от него. Например, Revoke.cash отмечает, что отзыв разрешения не удаляет уже внесенные или застейканные токены, но вам может потребоваться повторное подтверждение перед добавлением новых. Некоторые позиции на торговой площадке также зависят от активных подтверждений NFT.
Практический порядок приоритета следующий:
- Неизвестные или подозрительные тратчики.
- Одобрения, связанные с фишинговыми инцидентами или заброшенными децентрализованными приложениями.
- Неограниченный лимит средств, которые вам больше не нужны.
- Старые разрешения на использование протоколов, которые вы перестали применять.
- Широкомасштабное одобрение операторов NFT без какой-либо активной цели.
Сигнал качества: каждое разрешение, которое вы сохраняете, должно иметь обоснование. «Я знаком с протоколом и мне по-прежнему нужен этот плательщик для активной позиции» — это обоснование. «Вероятно, я когда-то это одобрил» — нет.
Когда не следует немедленно отзывать разрешение: если разрешение поддерживает активный список, автоматизацию, рабочий процесс, подобный подписке, или политику интеллектуального аккаунта, сначала разберитесь с его операционным эффектом. Безопасность повышается, когда вы удаляете ненужные полномочия, а не когда вы нарушаете необходимые рабочие процессы, не понимая их.
Шаг 3: Используйте доверенный путь отзыва.
Подпись: Используйте официальную функцию кошелька, надежный инструмент проверки подлинности или проверенный обозреватель сети; проверьте домен перед подключением.
Отзыв обычно представляет собой изменение состояния в блокчейне. MetaMask указывает, что для отзыва разрешения требуется транзакция в блокчейне, поэтому обычно требуется сетевой газ. Etherscan также предоставляет действие «Отзыв» для разрешений, включенных в список.
Для большинства пользователей наиболее удобными вариантами являются встроенная функция управления подтверждением транзакций кошелька, проверенный обозреватель блокчейна или специализированный сервис, такой как Revoke.cash. Ни один из них не должен требовать вашей сид-фразы или закрытого ключа.
Целевой результат: транзакция, которую вы собираетесь подписать, должна уменьшать или отменять существующее разрешение, а не предоставлять новому получателю неожиданные полномочия.
Условие остановки: если веб-сайт запрашивает вашу сид-фразу, закрытый ключ, удаленный доступ или выполняет несвязанную передачу для «активации» отзыва, остановитесь. Переходите к инструменту из независимо проверенного официального источника, а не по рекламному объявлению или незапрошенному сообщению.
Шаг 4: Подключите только необходимую учетную запись и сеть.
Подпись: Подключение — это только этап интерфейса. Фактическая отмена вступает в силу после подтверждения соответствующей транзакции в блокчейне.
Подключение кошелька позволяет сайту запрашивать информацию об учетной записи и предлагать действия, но само по себе подключение не означает аннулирование. В текущих рекомендациях Etherscan по подключению кошельков говорится, что подключение не приводит к автоматической подписи чего-либо; для подписи и транзакций по-прежнему требуется подтверждение кошелька.
Целевой результат: подтвердить, что выбранный адрес кошелька и блокчейн соответствуют разрешению, которое вы намереваетесь отменить.
Когда следует изменить подход: если инструмент переключает вас на неожиданную цепочку или отображает другой адрес, отмените действие до подписания. Подтверждение привязано к конкретной сети; отмена чего-либо в одной цепочке не отменяет отдельное подтверждение в другой цепочке.
Источник: Etherscan: Подключение вашего кошелька .
Шаг 5: Отзовите или сократите права доступа, которые вам больше не нужны.
Подпись: Удалите минимальный набор разрешений, необходимых для достижения вашей цели в области безопасности; вам не нужно отзывать все законные разрешения одновременно.
Для стандартного разрешения ERC-20 отзыв обычно означает обнуление разрешения для плательщика. Для доступа оператора ERC-721 отзыв обычно изменяет подтверждение оператора на false. Revoke.cash поясняет, что одни и те же функции подтверждения обычно используются для предоставления и отзыва; значение изменяется на ноль или false.
Сигнал качества: предварительный просмотр транзакции идентифицирует контракт токена и изменяемое разрешение. Если ваш кошелек предоставляет расшифрованную информацию о транзакции, прочтите ее, а не подтверждайте по привычке.
Ограничение: аннулирование не отменяет уже совершенные переводы. Оно также не возвращает украденные средства. Revoke.cash позиционирует свой сервис как профилактический, а не как инструмент для возврата средств.
Источник: Часто задаваемые вопросы по Revoke.cash .
Шаг 6: Перед подписанием ознакомьтесь с подтверждением кошелька.
Подпись: Перед подтверждением проверьте данные учетной записи, сеть, взаимодействие по контракту и ожидаемую плату за газ.
Окончательное подтверждение кошелька — это ваша возможность выявить некорректную цепочку, учетную запись, отправителя или тип транзакции. Стоимость газа зависит от условий сети, поэтому фиксированной комиссии в долларах ожидать не следует.
Целевой результат: ожидающая транзакция соответствует запланированному изменению разрешений и отправляется с правильного кошелька.
Когда следует остановиться: отмените транзакцию, если она неожиданно переводит активы, одобряет другого получателя средств, вызывает несвязанный контракт или содержит детали, которые вы не можете согласовать с выбранным вами действием. В безопасном рабочем процессе приоритет отдается проверке, а не скорости.
Шаг 7: Проверка в блокчейне — не останавливайтесь на отметке «Транзакция отправлена».
Подпись: После подтверждения повторно откройте окно проверки одобрения и убедитесь, что разрешение равно нулю, истекло, является ложным или по какой-либо другой причине больше неактивно.
Отправленная транзакция может завершиться неудачей, остаться в состоянии ожидания или быть заменена. Результат проверки безопасности достигается только тогда, когда соответствующее состояние разрешения фактически изменилось.
Показатели успеха:
- Для ERC-20 лимит расходов равен 0 или намеренно уменьшенной сумме.
- Для доступа оператора ERC-721
isApprovedForAllзначение равно false для удаленного вами оператора.
- Операция по аннулированию подтверждена в указанной цепочке.
- Проверка подтверждения обновляется, отображая новое состояние.
Когда следует проводить дальнейшее расследование: если разрешение по-прежнему отображается после подтвержденной транзакции, внимательно сравните адрес отправителя и контракт токена. Возможно, вы отозвали одно разрешение, в то время как другое разрешение отправителя, прокси, оператора или Permit2 остается активным.
Шаг 8: Ознакомьтесь с Permit2, подписями в разрешении и вашей действующей политикой предоставления разрешений.
Подпись: Поддержание чистоты кошелька подразумевает периодическую проверку разрешений и предоставление более узких полномочий, если приложение это поддерживает.
Обычные одобрения ERC-20 — это ещё не всё. Система Permit2 от Uniswap позволяет пользователям одобрять контракт Permit2 на уровне токенов, а затем предоставлять разрешения на расходование средств через Permit2. Официальный интерфейс включает в себя информацию о сумме разрешений, сроке действия, аннулировании nonce и lockdownфункцию, позволяющую обнулить выбранные значения разрешений. См. официальный репозиторий Uniswap Permit2 .
Подписи разрешений добавляют еще одну сложность: некоторые разрешения авторизуются посредством подписанных сообщений, а не сразу регистрируются как обычные разрешения токенов. Revoke.cash отмечает, что подписи разрешений вне блокчейна нельзя просто перечислить в блокчейне так же, как стандартные подтверждения; может потребоваться аннулирование соответствующих одноразовых чисел или состояния разрешения, специфичного для токена, если вы знаете, что подписали злонамеренное разрешение.
Целевой результат: после проверки стандартных разрешений также спросите, использовали ли вы Permit2 или подписывали сообщение в формате разрешения на ненадежном сайте.
Когда следует изменить подход: если вы подозреваете вредоносную сигнатуру, но не можете определить ее точную форму, прекратите взаимодействие с затронутым кошельком, пока не разберетесь с моделью разрешений. Слепая оплата газа для отмены каждого возможного разрешения может быть расточительной и не решит реальную угрозу.
Необходимые инструменты: какой из них подходит для конкретной задачи?
| Инструмент | Наилучшее применение | Важное ограничение |
| Портфолио MetaMask | Управление лимитами расходов в поддерживаемых сетях в экосистеме MetaMask. | Зона покрытия сети ограничена и может меняться; перед тем как полагаться на нее как на единственный доступный вариант, проверьте текущую поддержку. |
| Проверка подлинности токенов Etherscan | Проверка и аннулирование разрешений на использование токенов/NFT Ethereum с учетом контекста обозревателя. | Он ориентирован на Ethereum; для других сетей используйте соответствующий проверенный обозреватель или другой инструмент. |
| Revoke.cash | Рассмотрение, аннулирование и обучение по вопросам получения разрешений/разрешений Permit2 для нескольких сетей. | Ни одна программа проверки подлинности не сможет восстановить украденные данные или исправить скомпрометированные закрытые ключи. |
| Прямой контракт / проверенный интерфейс исследователя | Проверка состояния известного токена allowance, состояния оператора NFT или нестандартного поведения при неполноте индексаторов. | Требуется более тщательная техническая проверка; перед записью в блокчейн проверьте адрес и функциональность контракта. |
Когда отзыва разрешений недостаточно
Ваша сид-фраза или закрытый ключ скомпрометированы.
Если у злоумышленника есть ключ, ему не требуется разрешение на авторизацию транзакций от вашего имени. Revoke.cash специально предупреждает, что снятие средств с кошелька за входящие платежи является признаком того, что сид-фраза может быть скомпрометирована, и что отзыв разрешений не восстановит безопасность кошелька.
Лучший результат: создайте новый кошелек в чистой среде и перенесите активы, используя тщательно спланированный процесс восстановления. Не продолжайте рассматривать скомпрометированный адрес как долгосрочный безопасный кошелек.
Вы уже подписали вредоносный перевод или транзакцию.
Отмена транзакции позже не сможет аннулировать завершенную передачу данных в блокчейн. Если актив уже потерян, сосредоточьтесь на предотвращении дальнейших потерь, документировании хешей транзакций, обращении к соответствующим поставщикам услуг, если это применимо, и перемещении незатронутых активов, если ключи могут быть скомпрометированы.
Риск заключается в самом протоколе, а не в его утверждении.
Отзыв разрешения лишает данного плательщика права на будущие расходы. Это не снимает риски, связанные со смарт-контрактами, в отношении активов, уже депонированных в протокол, мост, хранилище или контракт стейкинга.
Лучший результат: оцените, нужно ли отзывать саму позицию. Соблюдение санитарных норм и управление рисками, связанными с протоколом, решают разные проблемы.
Вы используете интеллектуальную учетную запись или расширенные права доступа.
В документации MetaMask описаны новые расширенные разрешения на основе стандарта ERC-7715, которые могут включать ограничения по сумме, повторяющийся доступ и сроки действия. Они отличаются от классических разрешений для токенов и управляются через соответствующий интерфейс разрешений смарт-аккаунта.
Лучший результат: пересмотрите как традиционные процедуры утверждения токенов, так и разрешения на уровне учетной записи. Чистый список разрешений ERC-20 не обязательно описывает все возможности, предоставляемые смарт-аккаунтом.
Источник: MetaMask: Понимание расширенных прав доступа .
Улучшенная политика долгосрочного разрешения
- По возможности предпочтительнее устанавливать ограниченные суммы. MetaMask рекомендует проверять запросы децентрализованного приложения и уменьшать сумму при необходимости, вместо автоматического предоставления неограниченного доступа.
- Периодически проверяйте старые подтверждения. Оптимальная периодичность зависит от того, насколько активно вы используете DeFi, но проверка после периода интенсивных экспериментов с децентрализованными приложениями полезнее, чем ожидание инцидента.
- Разделите хранение ценных данных и экспериментальную деятельность. Специальный кошелек для активной деятельности может уменьшить объем активов, доступных для новых децентрализованных приложений, хотя это и не гарантирует безопасность злонамеренных подтверждений.
- Проверяйте домены и адреса плательщиков. Интерфейс, выглядящий вполне легитимным, всё равно может привести к вредоносному контракту.
- Помните об ограничении аппаратных кошельков. Аппаратный кошелек помогает защитить закрытые ключи, но подписанное вами намеренно подтверждение по-прежнему действительно в блокчейне. Revoke.cash прямо указывает, что сами по себе аппаратные кошельки не защищают от уязвимостей, связанных с подтверждением.
- Держите достаточное количество газа для обслуживания. За отмену транзакций взимается сетевая комиссия. Не ждите чрезвычайной ситуации, чтобы обнаружить, что кошелек не может отправить необходимую транзакцию.
Контрольный список для окончательной проверки
Прежде чем объявить о завершении работ по очистке, проверьте следующее:
- Корректность адреса была проверена в каждой сети, которой вы фактически пользуетесь.
- Были удалены или сокращены неизвестные и ненужные квоты ERC-20.
- Были проверены неиспользованные разрешения операторов NFT.
- Разрешения Permit2 учитывались, если вы взаимодействовали с приложениями, поддерживающими Permit2.
- Операции по аннулированию подтверждаются, а не просто отправляются.
- Программа проверки подтверждения показывает ожидаемое состояние после отзыва.
- Любые намеренно сохраненные разрешения имеют четко определенную текущую цель.
- Если ключи могут быть скомпрометированы, вы переходите на новый кошелек, а не полагаетесь только на аннулирование.
Наилучший результат — это не пустой список одобренных транзакций любой ценой. Это кошелек, оставшиеся разрешения которого понятны, намеренно ограничены и соответствуют тому, как вы его фактически используете. Отзыв разрешений смарт-контрактов — ценный инструмент обслуживания, но он лучше всего работает как один из уровней в более широком процессе обеспечения безопасности, который включает в себя тщательное подписание, проверку контрактов, защиту ключей и реалистичное разделение рисков.
Первичные источники
Данная статья носит образовательный характер и не является финансовой, юридической или консультационной по вопросам безопасности. Права доступа к смарт-контрактам и функции кошелька со временем меняются; перед подписанием проверьте текущую поддержку сети и детали транзакций.