Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Отзыв approvals на Revoke.cash: как защитить кошелёк от скрытых угроз

Каждый раз, когда вы взаимодействуете с DeFi-протоколом, вы выдаёте ему разрешение (approval) тратить ваши токены — и это разрешение остаётся активным бессрочно, даже если вы давно не пользуетесь протоколом. Revoke.cash — бесплатный инструмент, позволяющий просмотреть все активные разрешения и отозвать лишние одним кликом. Каждый отзыв — отдельная on-chain транзакция с gas-комиссией, поэтому массовый отзыв на Ethereum Mainnet в периоды высокой загруженности обходится дорого.

Калькулятор стоимости газа (Ethereum)

Курс ETH и gwei волатильны — вводите актуальные. L2 дешевле основной сети в разы. Не является индивидуальной инвестиционной рекомендацией.

Автор: ~8 мин

Что такое token approval и почему он представляет угрозу безопасности?

Token approval — разрешение, которое вы выдаёте смарт-контракту на управление вашими токенами через функцию `approve` стандарта ERC-20. Большинство DeFi-протоколов запрашивают «unlimited approval» — разрешение на неограниченную сумму, чтобы не просить подтверждение при каждой операции. Если смарт-контракт протокола впоследствии будет взломан или окажется вредоносным — злоумышленник использует выданное разрешение для вывода всех ваших токенов. Разрешение остаётся активным бессрочно до явного отзыва. Риск: большинство пользователей не подозревают о десятках активных approvals, накопившихся за годы DeFi-активности.

Источник: ЦБ РФ

Чем unlimited approval опаснее точного лимита?

Unlimited approval разрешает контракту потратить все токены данного типа на кошельке в любой момент в будущем. Точный лимит (exact amount approval) ограничивает разрешение суммой конкретной операции — после её выполнения разрешение автоматически исчерпывается. С точки зрения безопасности точный лимит значительно предпочтительнее: даже при компрометации контракта злоумышленник не сможет вывести больше разрешённой суммы. Риск: некоторые протоколы не поддерживают точный лимит или требуют unlimited для корректной работы — в этом случае необходимо отзывать approval после завершения операции.

Что такое газ-ловушка и как она связана с approvals?

Gas-ловушка — ситуация, когда злоумышленник отправляет на кошелёк небольшое количество токена (dust) с вредоносного контракта, а затем ждёт, пока жертва попытается переместить или продать эти токены. При взаимодействии с «пыльным» токеном активируется скрытая функция контракта, запрашивающая approval или выполняющая вредоносное действие. Отдельный вариант: контракт автоматически выдаёт разрешение при получении токена без явного согласия пользователя. Риск: не взаимодействуйте с незнакомыми токенами, появившимися в кошельке без вашего участия — даже для их «удаления».

Как работает Revoke.cash и насколько он безопасен?

Revoke.cash — опенсорсный инструмент, читающий публичные данные блокчейна и показывающий все активные approvals для подключённого кошелька. Для отзыва вы подписываете транзакцию через свой кошелёк (MetaMask, WalletConnect и др.) — приватный ключ никогда не покидает кошелёк. Revoke.cash не имеет доступа к вашим средствам. Код проекта открыт и проверяем. Риск: убедитесь, что используете официальный домен revoke.cash — фишинговые копии сервиса существуют и могут запрашивать вредоносные подписи вместо отзыва.

Как выбрать, какие approvals отозвать в первую очередь?

Приоритеты для отзыва: 1) unlimited approvals для контрактов, которыми вы больше не пользуетесь; 2) approvals для неверифицированных или малоизвестных контрактов; 3) approvals для протоколов, которые были взломаны или признаны мошенническими. Оставить можно: точные лимиты для активно используемых протоколов; approvals для крупных аудированных протоколов (Uniswap, Aave), если вы регулярно ими пользуетесь. Риск: отзыв approval для активно используемого протокола потребует повторного approve при следующей операции — это дополнительные gas-расходы.

Источник: ЦБ РФ

Работает ли Revoke.cash для сетей помимо Ethereum?

Да — Revoke.cash поддерживает множество EVM-совместимых сетей: Arbitrum, Optimism, Base, BNB Smart Chain, Polygon и другие. Переключение сети осуществляется в кошельке. Gas-комиссии за отзыв в L2-сетях (Arbitrum, Base) значительно ниже, чем в Ethereum Mainnet — массовый отзыв approvals в L2 обходится в центы, а не в доллары. Риск: approvals в разных сетях независимы — разрешение, выданное в Ethereum, не распространяется на Arbitrum и наоборот; проверяйте каждую сеть отдельно.

Источник: ЦБ РФ

Можно ли отозвать permit-подписи через Revoke.cash?

Permit (EIP-2612) — офф-чейн подпись, не создающая on-chain записи об approval в стандартном смысле. Revoke.cash не может отозвать permit-подписи так же, как обычные approvals, поскольку они не записываются в блокчейн до момента использования. Защита от permit-атак — только превентивная: не подписывать незнакомые permit-запросы.

Эксклюзив от ИнвестХомяка

Типы approvals и приоритетность их отзыва

Тип approvalУровень рискаПриоритет отзыва
Unlimited approve для неиспользуемого контрактаВысокийНемедленно
Unlimited approve для активного протокола (Uniswap и др.)СреднийПосле завершения активного использования
Точный лимит (exact amount) для любого контрактаНизкийПо желанию — обычно самоисчерпывается
setApprovalForAll для NFT-контрактовВысокийНемедленно после завершения операции

Unlimited approval против точного лимита: сравнение безопасности

КритерийUnlimited ApprovalExact Amount Approval
Максимальный риск при компрометацииВсе токены данного типа на кошелькеТолько разрешённая сумма
Удобство для пользователяВысокое — не нужно approve каждый разНиже — approve при каждой операции
Срок действияБессрочно до явного отзываИсчерпывается после операции
Требование отзываОбязательно после прекращения использованияКак правило, не требуется

Как проверить и отозвать approvals через Revoke.cash: пошаговый порядок

  1. Откройте официальный сайт Revoke.cash

    Убедитесь, что адрес в браузере — revoke.cash (без дополнительных символов). Не переходите по ссылкам из чатов или соцсетей. Используйте браузер с установленным кошельком MetaMask или Rabby.

  2. Подключите кошелёк и выберите сеть

    Нажмите «Connect Wallet» и выберите кошелёк. Переключитесь на нужную сеть в MetaMask — Revoke.cash автоматически покажет approvals для активной сети. Проверьте каждую сеть, в которой вы активны, отдельно.

  3. Изучите список активных разрешений

    Revoke.cash покажет список всех контрактов с активными approvals, суммы разрешений и даты выдачи. Обратите внимание на колонку «Allowance» — «Unlimited» требует приоритетного отзыва для неиспользуемых контрактов.

  4. Отзовите приоритетные разрешения

    Нажмите «Revoke» напротив каждого нежелательного approval. Подтвердите транзакцию в кошельке, проверив данные на экране. Каждый отзыв — отдельная транзакция; в Ethereum Mainnet дождитесь подтверждения предыдущей перед следующей.

  5. Установите регулярность проверки

    Проверяйте approvals после каждой активной DeFi-сессии и минимум раз в месяц. В L2-сетях (Arbitrum, Base) стоимость отзыва минимальна — это не должно быть барьером для регулярной гигиены кошелька.

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

Можно ли отозвать permit-подписи через Revoke.cash?

Permit (EIP-2612) — офф-чейн подпись, не создающая on-chain записи об approval в стандартном смысле. Revoke.cash не может отозвать permit-подписи так же, как обычные approvals, поскольку они не записываются в блокчейн до момента использования. Защита от permit-атак — только превентивная: не подписывать незнакомые permit-запросы.

Сколько стоит отозвать все approvals на Ethereum Mainnet?

Стоимость зависит от текущей цены gas. При умеренной загрузке сети каждый отзыв обходится в $1–5. При большом числе approvals (10–50+) суммарные расходы могут составить $50–200. В L2-сетях (Arbitrum, Base) тот же объём обходится в $1–5 суммарно.

Нужно ли отзывать approvals для Uniswap и других крупных протоколов?

Для крупных аудированных протоколов риск ниже, но не нулевой — прецеденты взломов крупных DEX существуют. Если вы активно используете Uniswap, можно оставить approval; если не планируете использовать в ближайший месяц — лучше отозвать и выдать заново при необходимости.

Видят ли другие пользователи мои approvals?

Да — все approvals записаны в публичный блокчейн и видны любому через Etherscan или Revoke.cash. Это не угроза безопасности само по себе, но показывает потенциальным злоумышленникам, какие токены можно попытаться вывести при компрометации разрешённого контракта.

Облагается ли налогом операция отзыва approval?

Отзыв approval — техническая транзакция без передачи активов. Она не является реализацией криптоактива и не создаёт налогооблагаемого события. Расход ETH на gas при отзыве — уменьшение актива, налоговый учёт которого в РФ не стандартизирован; уточняйте у специалиста.

Источники