ru

Разрешения токенов в MetaMask: как проверить и отозвать доступ

Опубликовано
22.06.2026
Обновлено
22.06.2026
Пользователь криптокошелька отключает подозрительное разрешение, сохраняя безопасные подключения приложений

Подключение MetaMask к сайту само по себе обычно не даёт приложению права свободно распоряжаться всеми активами кошелька. Ключевой момент наступает позже — когда пользователь подтверждает разрешение на использование конкретного токена.

Такое разрешение нужно для обычных Web3-операций. Без него DEX не сможет забрать токены для свопа, lending-протокол — внести их в пул, а автоматизированный контракт — выполнить предусмотренное действие.

Проблема в том, что доступ может сохраниться и после закрытия сайта. Пользователь отключает dApp от MetaMask и считает вопрос закрытым, хотя allowance — разрешённый лимит списания — продолжает храниться в блокчейне.

Разберёмся, чем token approval отличается от подключения сайта и подписи, как проверить разрешения кошелька и когда действительно нужен revoke.

Что такое разрешение токена

В Ethereum и других EVM-сетях многие взаимозаменяемые токены работают по стандарту ERC-20. Контракт токена хранит не только балансы, но и allowances — лимиты, в пределах которых другой адрес или смарт-контракт может переводить токены от имени владельца.

Здесь есть два связанных понятия:

  • approval — операция, которая устанавливает или меняет разрешённую сумму;
  • allowance — остаток лимита, доступного конкретному spender-контракту.

Допустим, в кошельке лежит 1 000 токенов, а пользователь хочет обменять 100 через DEX. Роутер биржи не может самостоятельно забрать нужную сумму. Сначала владелец разрешает этому контракту использовать токен, после чего роутер выполняет перевод в рамках свопа.

Разрешение относится к конкретной комбинации:

  • адрес владельца кошелька;
  • контракт токена;
  • адрес spender-контракта;
  • блокчейн-сеть.

Approval для одного токена не открывает доступ ко всем остальным активам. Разрешение в Ethereum также не создаёт автоматически такое же разрешение в BNB Smart Chain или другой сети.

Понять техническую основу этого механизма поможет материал о том, как работают смарт-контракты.

Зачем приложения запрашивают approval

Смарт-контракту нужен контролируемый способ выполнить действие с токеном, которое запросил пользователь. При этом приложение не должно получать seed phrase или private key.

DEX запрашивает доступ к токену для проведения обмена. Lending-протоколу нужно переместить актив в пул. Контракт подписки или автоматической операции может получить заранее заданный лимит.

Обычный approval не раскрывает секреты кошелька. Он даёт определённому spender право перемещать конкретный токен в пределах разрешённой суммы.

На уровень риска влияют:

  • адрес получившего разрешение контракта;
  • размер allowance;
  • возможность обновления контракта;
  • подлинность сайта;
  • срок, в течение которого доступ остаётся активным;
  • дополнительные Permit-подписи.

Именно поэтому безопасность кошелька не заканчивается хранением recovery phrase. Статья про seed phrase и private key объясняет контроль над самим кошельком, а approvals определяют полномочия уже подключённых контрактов.

Ограниченное и безлимитное разрешение

При ограниченном approval контракт получает право использовать конкретную сумму. Если для свопа требуется 100 токенов, можно разрешить ровно 100. После операции allowance будет исчерпан или почти исчерпан.

Unlimited approval устанавливает очень большой лимит, который на практике воспринимается как неограниченный. Такой подход избавляет пользователя от новой approval-транзакции перед каждым следующим действием и экономит время и gas.

Безлимитное разрешение не означает, что контракт немедленно получает весь кошелёк. Оно означает, что spender потенциально может перемещать доступный баланс конкретного токена в пределах установленного allowance.

Выбор выглядит так:

  • точный лимит уменьшает долгосрочный риск, но требует чаще платить за approval;
  • unlimited approval удобнее при регулярном использовании протокола, но оставляет широкий постоянный доступ;
  • временные и сессионные разрешения, если они поддерживаются, дают промежуточный вариант.

Само наличие unlimited approval не доказывает мошенничество. Его используют и известные протоколы. Но потенциальный ущерб становится больше, если контракт взломают, вредоносно обновят или подменят через фишинговый интерфейс.

Почему отключение сайта не отменяет разрешение

В MetaMask можно посмотреть подключённые сайты и удалить ненужный. Это закрывает активный канал связи: сайт больше не сможет через это подключение запрашивать адрес, подписи или новые транзакции.

Однако allowance уже записан в контракте токена. Отключение сайта не изменяет состояние блокчейна.

Полезно разделять три действия:

  • подключение кошелька открывает сайту канал взаимодействия с MetaMask;
  • token approval создаёт on-chain разрешение на использование токена;
  • подпись сообщения может подтверждать вход, заявку или отдельное разрешение, включая Permit.

Удаление сайта из MetaMask, очистка браузера, переустановка расширения или переход на другое устройство не обнуляют активные allowances.

Чтобы убрать ERC-20-разрешение, обычно требуется новая транзакция, которая устанавливает allowance на ноль или уменьшает его. За неё платится gas.

Как проверить разрешения кошелька

Посмотреть approvals можно через встроенный инструмент кошелька, специальный раздел блокчейн-эксплорера или проверенный сервис управления разрешениями.

Перед подключением кошелька внимательно проверьте домен. Сервисы revoke сами становятся приманкой для фишинга: пользователь уже встревожен и психологически готов подтвердить «защитную» транзакцию.

В списке разрешений нужно проверить:

  1. Сеть.
  2. Адрес анализируемого кошелька.
  3. Контракт токена.
  4. Spender — контракт, получивший доступ.
  5. Оставшийся allowance.
  6. Текущую стоимость активов под разрешением.
  7. Дату или исходную транзакцию, если сервис показывает эти данные.

Название протокола рядом с адресом — лишь удобная подпись интерфейса. Если разрешение незнакомо, откройте spender в надёжном эксплорере, проверьте верификацию контракта, историю операций и связь с официальным приложением.

Для такой проверки пригодится навык чтения транзакции в блокчейн-эксплорере: важно видеть контракт, метод, адреса, статус и перемещения токенов.

Как отозвать разрешение токена

Интерфейсы отличаются, но общий порядок выглядит одинаково:

  1. Открыть проверенный сервис просмотра approvals.
  2. Выбрать нужную сеть.
  3. Подключить кошелёк или вставить публичный адрес для просмотра.
  4. Найти токен и spender, доступ которому больше не нужен.
  5. Нажать revoke или установить меньший allowance.
  6. Проверить транзакцию в MetaMask.
  7. Сверить сеть, контракт токена, spender и комиссию.
  8. Отправить транзакцию.
  9. Дождаться подтверждения и повторно открыть список разрешений.

Revoke — это on-chain операция. На кошельке должна быть нативная монета для gas: например, ETH в Ethereum или соответствующий актив в другой EVM-сети.

Транзакция должна менять существующий allowance. Если MetaMask показывает перевод токенов, продажу NFT, развёртывание контракта или другое неожиданное действие, подтверждать её нельзя.

После включения транзакции в блок нужно убедиться, что разрешение действительно стало нулевым или уменьшилось до выбранной суммы. Сообщения «успешно» на сайте недостаточно.

Какие approvals стоит удалять

Отзывать каждое разрешение после любой операции дорого и неудобно. Хранить все approvals годами тоже неразумно. Нужен риск-ориентированный подход.

Revoke имеет смысл, если:

  • приложение больше не используется;
  • spender или протокол вам незнаком;
  • approval появился после перехода по подозрительной ссылке;
  • разрешение безлимитное, а на кошельке хранится значительная сумма;
  • протокол сообщил о взломе или подмене интерфейса;
  • старый контракт заменён новым;
  • активный Web3-кошелёк переводится в режим долгосрочного хранения;
  • вы не можете объяснить назначение разрешения.

Для регулярно используемого и понятного протокола можно оставить ограниченный allowance, если это соответствует вашему риску. На кошельке с крупным балансом постоянных разрешений должно быть меньше, чем на небольшом адресе для экспериментов.

Пользователи, которые регулярно делают свопы через DEX, сталкиваются с approvals чаще тех, кто только получает и отправляет активы. Поэтому долгосрочный резерв лучше не держать на том же адресе, которым постоянно подключаются к новым dApps.

Permit, Permit2 и подписи без gas

Разрешение на списание не всегда начинается с отдельной транзакции approve.

Некоторые токены поддерживают механизм Permit. Пользователь подписывает структурированное сообщение, а другая сторона может позже передать эту подпись в блокчейн. Если подпись действительна и не истекла, контракт создаст allowance.

Это улучшает UX и иногда сокращает количество транзакций. Но формула «я ничего не отправлял, только подписал сообщение» больше не является гарантией безопасности. Подпись может дать финансовые полномочия без оплаты gas в момент её создания.

Permit2 — более универсальная система разрешений, которую используют некоторые приложения. Пользователь может сначала выдать токену approval на контракт Permit2, а затем подписывать более точные разрешения для отдельных приложений.

Получается два уровня:

  • базовый approval токена на Permit2;
  • последующие подписи с параметрами spender, суммы и срока.

Перед подписью нужно проверить:

  • домен, запросивший действие;
  • токен и сумму;
  • spender;
  • срок действия;
  • сеть;
  • одноразовое или повторное разрешение;
  • может ли кошелёк понятно расшифровать сообщение.

Blind signing — подтверждение непонятных данных — особенно опасно. Если MetaMask или аппаратный кошелёк не показывает смысл подписи, лучше остановиться и разобраться до подтверждения.

Что делать после подозрительного approval

Если неизвестный контракт уже получил разрешение, но средства пока не ушли, действовать нужно быстро.

Закройте подозрительный сайт. Откройте проверенный approval checker через известную закладку или вручную введённый адрес и отзовите доступ в каждой сети, где он мог быть выдан.

Затем проверьте остальные токены и последние операции. Если есть подозрение не только на approval, но и на утечку ключа, вредоносное расширение или компрометацию устройства, безопаснее создать новый кошелёк на чистом устройстве и перевести оставшиеся активы.

Порядок действий:

  1. Отозвать подозрительное разрешение.
  2. Проверить approvals других токенов и сетей.
  3. Отключить неизвестные сайты.
  4. Изучить последние on-chain операции.
  5. Удалить подозрительные приложения и расширения.
  6. Перевести средства, если устройство или ключ могли быть скомпрометированы.
  7. Не использовать старый адрес для резервов и бизнес-поступлений.

Смена локального пароля MetaMask не поможет, если злоумышленник получил seed phrase или private key. В этом случае весь кошелёк следует считать скомпрометированным.

Не доверяйте «сервисам возврата», которые просят recovery phrase, удалённый доступ к компьютеру или предоплату. После первой ошибки срочность легко использовать для второй атаки.

Какие разрешения часто путают

В Web3 несколько разных действий выглядят почти одинаково, хотя последствия у них разные.

Подключённые сайты

Сайт видит публичный адрес и может запрашивать подписи или транзакции. Отключение закрывает соединение, но не удаляет on-chain allowance.

Подпись транзакции

Обычная транзакционная подпись разрешает конкретное действие в блокчейне. Кошелёк должен показать сеть, получателя, сумму, gas и взаимодействие с контрактом.

Подпись сообщения

Сообщение может использоваться для входа по кошельку, подтверждения заявки, размещения ордера или Permit-разрешения. Некоторые подписи не двигают деньги, другие создают полномочия для будущего списания.

NFT approvals

У NFT свои модели доступа. Разрешение может относиться к одному токену или давать оператору управление всей коллекцией. Их нужно проверять отдельно от ERC-20 allowances.

Добавление сети или токена

Импорт токена и добавление сети меняют отображение в кошельке, но сами по себе не разрешают списание. При этом неожиданный «подарочный» токен может служить приманкой для перехода на вредоносный сайт.

Общий контекст этих действий разобран в обзоре возможностей и рисков MetaMask.

Как безопаснее пользоваться Web3-кошельком

Управление approvals лучше встроить в общую архитектуру хранения, а не вспоминать о нём после подозрительной подписи.

Используйте отдельный кошелёк для dApps и отдельный адрес для резерва. На активном Web3-кошельке держите только сумму, необходимую для текущих операций. Периодически проверяйте unlimited approvals, особенно после знакомства с новым протоколом.

Перед подтверждением:

  • открывайте dApp через проверенную ссылку или закладку;
  • сверяйте сеть и токен;
  • выбирайте ограниченную сумму, если это практично;
  • читайте адрес spender и детали операции;
  • не используйте ссылки из случайных личных сообщений;
  • проверяйте сообщения о взломах только через официальные каналы проекта.

Эти правила дополняют защиту от других атак на кошелёк, включая подмену адреса через фейковые транзакции.

Что approvals означают для бизнеса

Компания может использовать Web3-кошельки для обмена активов, управления ликвидностью, выплат, работы с DeFi и казначейских операций. Такие адреса нельзя вести по правилам личного браузерного кошелька.

Бизнесу пригодятся:

  • утверждённый список протоколов и spender-контрактов;
  • симуляция и независимая проверка транзакций;
  • ограниченные allowances для значимых активов;
  • отдельный кошелёк для экспериментов;
  • регулярный отчёт по действующим разрешениям;
  • процедура действий при подозрительной подписи;
  • multisig или другая совместная авторизация казначейских операций.

Стоит также отделить Web3-активность от приёма клиентских платежей. Кошелёк, который регулярно взаимодействует с новыми DeFi-контрактами, не должен одновременно быть единственным хранилищем выручки и резервов.

CryptumPay позволяет учитывать клиентские криптоплатежи, статусы и выводы без необходимости использовать экспериментальный Web3-кошелёк в каждой платёжной операции. После обработки поступлений бизнес может переводить средства в выбранное хранилище по собственной казначейской политике.

Такое разделение дополняет общие меры безопасности криптоплатежей. Approvals, проверка платежа, AML, контроль доступа и подтверждение вывода решают разные задачи.

Чеклист разрешений кошелька

Перед approve или revoke проверьте:

  • выбрана ли нужная сеть;
  • настоящий ли это контракт токена;
  • относится ли spender к нужному протоколу;
  • соответствует ли сумма планируемой операции;
  • действительно ли требуется unlimited approval;
  • понятно ли кошелёк показывает транзакцию или подпись;
  • достаточно ли нативной монеты для gas;
  • сможете ли вы проверить итоговый allowance;
  • отделён ли долгосрочный резерв от активного кошелька.

Token approvals не являются опасной функцией сами по себе. Это базовый механизм, позволяющий смарт-контрактам работать с пользовательскими токенами. Риск возникает, когда доступ шире необходимого, остаётся активным слишком долго или выдаётся через поддельный интерфейс.

Задача пользователя — не бояться любого approve, а понимать его смысл, ограничивать постоянный доступ и удалять разрешения, у которых больше нет понятного назначения.

Частые вопросы

Отключение сайта от MetaMask отменяет approvals?

Нет. Отключение удаляет активное соединение с сайтом, но записанные в блокчейне allowances сохраняются до отдельной транзакции revoke или изменения лимита.

За revoke нужно платить gas?

Обычно да. Изменение ERC-20 allowance является on-chain действием, поэтому оплачивается нативной монетой сети.

Может ли approval раскрыть seed phrase?

Стандартный token approval не раскрывает seed phrase. Он разрешает spender-контракту перемещать конкретный токен. Если recovery phrase вводилась на сайте или передавалась кому-то, весь кошелёк нужно считать скомпрометированным.

Вернёт ли revoke уже украденные токены?

Нет. Он может остановить дальнейшее использование разрешения, но не отменит уже подтверждённые переводы.

Нужно ли удалять все unlimited approvals?

Не обязательно. Оцените spender, репутацию и необходимость протокола, сумму под риском и собственную модель использования. Старые, неизвестные и ненужные безлимитные разрешения лучше отозвать.

Начните приём оплат
в криптовалютах сейчас

Обсудим вашу задачу в деталях и спланируем интеграцию
Telegram_icon
form_success_icon
Спасибо! Мы свяжемся с вами в ближайшее время.

Или напишите нам в Telegram.
Что-то пошло не так.
Нажимая кнопку, вы соглашаетесь предоставить нам свой email для связи