Вредоносные разрешения на трату токенов: что такое approval и как его отозвать
Одно разрешение может позволить контракту распоряжаться вашими токенами бессрочно. Разбираем, как работают вредоносные approval, как их заметить и как безопасно отозвать доступ.
Многие потери в крипте происходят не в тот момент, когда вас обманули. Они происходят позже, тихо, из-за разрешения, которое вы когда-то выдали и забыли. Это разрешение называется token approval — разрешение на трату токенов, и понимание того, как оно устроено, — один из самых практичных навыков безопасности, которые вы можете выработать.
Что такое разрешение на трату токенов
Чтобы приложение могло распоряжаться вашими токенами от вашего имени, вы выдаёте ему approval: разрешение тратить определённый токен из вашего кошелька. Это нормально и необходимо для многих законных сценариев. Опасность в том, что разрешение может быть выдано на неограниченную сумму и оставаться активным бессрочно. Вредоносный или взломанный контракт, у которого есть такое разрешение, может вывести этот токен в любой удобный ему момент — спустя долгое время после вашего последнего взаимодействия с ним.
Как работают вредоносные разрешения, шаг за шагом
1. Запрос разрешения
Во время работы с сайтом, часто поддельным или вредоносным, вам предлагают одобрить токен. Запрос может быть замаскирован под рутинный шаг, который «активирует» клейм, обмен или награду.
2. Неограниченный лимит
Разрешение часто выставляется с неограниченным лимитом расходования — это удобно для настоящих приложений и катастрофично для вредоносного. Вы подписываете его, думая, что просто разблокируете функцию.
3. Ожидание
Сразу ничего драматичного не происходит — именно это и делает схему такой опасной. Разрешение просто лежит в вашем кошельке, активное и забытое.
4. Вывод средств
В выбранный злоумышленником момент, иногда когда ваш баланс максимален, контракт использует выданное ранее разрешение и переводит ваши токены себе. Поскольку вы сами авторизовали это разрешение, перевод в блокчейне считается действительным.
Точные тревожные признаки
- Запрос разрешения, которого вы не ожидали, особенно на незнакомом или наспех найденном сайте.
- Неограниченный лимит расходования, когда вы собирались совершить лишь одно небольшое действие.
- Разрешения, встроенные в процесс «клейма» или «получения награды», которому вообще не нужно право тратить ваши токены.
- Запросы с запутанными формулировками, скрывающими, какой именно доступ вы выдаёте.
- Старые разрешения сайтам, которыми вы больше не пользуетесь или которым не доверяете, всё ещё активные в вашем кошельке.
Как этого избежать и как всё отменить
Прежде чем подписывать любое разрешение, остановитесь и прочитайте его. Спросите себя, действительно ли действию, которое вы совершаете, нужно право тратить этот токен, и настороженно относитесь к неограниченным лимитам. Если ваш кошелёк это позволяет, задавайте конкретную ограниченную сумму вместо неограниченного доступа. Выдавайте разрешения только в приложениях, которые вы проверили и на которые перешли через собственные закладки.
Не менее важно регулярно просматривать и чистить свои разрешения. Используйте авторитетный инструмент управления разрешениями, например revoke.cash, чтобы увидеть все права, выданные вашим адресом, и отзывайте те, которые вы не узнаёте, больше не используете или никогда не собирались делать неограниченными. Отзыв — это обычная ончейн-транзакция, которая стоит небольшую комиссию за газ, и она закрывает дверь, в которую иначе вошёл бы вредоносный контракт. Сделайте такую проверку регулярной привычкой, а не аварийной мерой.
Уникальную опасность разрешениям придаёт разрыв во времени между ошибкой и потерей. В большинстве схем ущерб наступает сразу, поэтому связь причины и следствия очевидна. С вредоносным разрешением вы можете подписать его сегодня и неделями не замечать ничего плохого — а затем средства исчезнут в самый неподходящий момент. Эта отсрочка убаюкивает: люди решают, что всё в порядке, раз сразу ничего не случилось. Считайте подписанное разрешение оставленной незапертой дверью, а не предотвращённым ограблением. Отсутствие немедленной кражи не является доказательством безопасности; возможно, злоумышленник просто ждёт, пока ваш баланс вырастет, чтобы войти в дверь, которую вы оставили открытой.
Что делать, если вы подозреваете вредоносное разрешение
- Отзовите его немедленно. Подключите кошелёк к доверенному инструменту управления разрешениями, например revoke.cash, и отмените подозрительное право.
- Переведите средства из зоны риска в новый кошелёк, если считаете, что вывод может произойти вот-вот, начиная с токенов, по которым есть активные разрешения.
- Если вы подписывали что-то на устройстве или сайте, которому теперь не доверяете, считайте кошелёк потенциально скомпрометированным и переезжайте на новый с новой сид-фразой.
- Сообщите об этом в официальную поддержку вашего кошелька, а если средства были похищены — в местную полицию и национальную службу по борьбе с киберпреступностью или мошенничеством.
Наше обещание: TokenSpin никогда не попросит вас одобрить токен, подключить кошелёк или выдать разрешение на трату средств ради получения награды. Если страница, использующая наше имя, запрашивает approval — это не мы.
Frequently asked questions
What is the difference between connecting a wallet and approving a token?
Connecting a wallet typically just shares your public address so a site can read your balance, and it does not grant spending power. Approving a token is different and more serious: it gives a smart contract permission to move that specific token from your wallet, sometimes in unlimited amounts and for an unlimited time. That standing permission is what malicious contracts exploit later, which is why you should read every approval prompt carefully.
How do I revoke a token approval?
Use a reputable approval-management tool such as revoke.cash. Connect your wallet, review the list of permissions your address has granted, and revoke any you do not recognize, no longer use, or did not intend to be unlimited. Each revocation is a normal on-chain transaction that costs a small gas fee. Doing this closes the access a malicious contract would rely on. Make it a routine habit rather than waiting for a problem.
I revoked an approval, but my tokens are already gone. Why?
Revoking stops future misuse, but it cannot reverse transfers that already happened while the approval was active. If a malicious contract already used the permission to drain your tokens, those transactions are on-chain and effectively irreversible. Revoking still matters to protect anything remaining and to prevent further loss. Move at-risk funds to a fresh wallet, and if you believe the wallet itself is compromised, migrate everything to a new one with a new seed phrase.