Кандидат в скам: как проверить смарт-контракт перед апрувом
Каждый день в блокчейнах Ethereum, BSC и Polygon подписываются миллионы транзакций approve. И немалая часть из них — прямой подарок мошенникам: по данным Chainalysis, в 2024 году пользователи потеряли на скам-токенах и вредоносных контрактах более $2,5 млрд. Излюбленный сценарий атаки — слепая подпись: вы подключаете кошелёк к «честному-looking» сайту, жмёте «Approve», и контракт получает право распоряжаться вашими токенами без вашего участия. Иногда — навсегда.
Хорошая новость: проверка контракта перед апрувом занимает 3–5 минут и не требует навыков программиста. Всё, что нужно, — эксплорер (Etherscan, BscScan и аналоги), пара агрегаторов аудитов и здоровая привычка не подписывать всё подряд.
В этой статье разберём пошаговый алгоритм: как читать страницу контракта в эксплорере, что смотреть в отчётах аудиторов, какие красные флаги выдают скам и как отозвать опасные апрувы, если вы уже успели их подписать.
Почему approve — главная дыра в безопасности
Когда вы нажимаете «Approve», вы не переводите токены — вы даёте смарт-контракту (или адресу) право списывать указанный токен с вашего кошелька. Это часть механики DeFi: без approve DEX не может забрать у вас USDT при обмене.
Проблема в двух вещах:
- Безлимитные апрувы. Многие интерфейсы по умолчанию запрашивают approve на 18-значное число токенов (unlimited). Достаточно одного вредоносного контракта — и весь ваш баланс токена уходит.
- Невидимость. После подписи токены остаются на кошельке, баланс не меняется. Пользователь думает, что всё в порядке, а дренажный контракт месяцами «дремлет» и списывает средства, когда на кошельке накапливается интересная сумма.
Правило: любой approve на unlimited — это выданная контракту доверенность на весь ваш баланс токена. Подписывайте только суммы, необходимые для конкретной сделки, и отзывайте апрувы сразу после операции.
Шаг 1. Проверяем контракт в эксплорере за 2 минуты
Прежде чем подключать кошелёк, найдите адрес контракта и откройте его в эксплорере соответствующей сети: Etherscan (Ethereum), BscScan (BSC), Polygonscan (Polygon), Tronscan (TRON), Solscan (Solana — там механика другая, но логика проверки та же).
Что смотреть на странице контракта:
- Возраст. Создан 2 часа назад — почти гарантированный скам. Легитимные протоколы живут месяцами и годами. Для нового контракта сразу повышайте уровень подозрительности.
- Верификация исходного кода. Зелёная галочка и метка «Contract Source Code Verified». Неверефицированный контракт — стоп-сигнал: вы не можете знать, что внутри.
- Холдеры (Holders). Если у токена 3–5 холдеров и 80%+ сосредоточено на одном-двух адресах — это скам-структура. Здоровый токен имеет тысячи холдеров с распределённым балансом.
- История транзакций. Тысячи транзакций и активные взаимодействия — признак живого протокола. Десяток транзакций за час — песочница мошенников.
- Комментарии и лейблы. Etherscan помечает известные контракты именем проекта. Безымянный контракт, притворяющийся «Uniswap V3 Router» — подделка.
Разбор реальной (типовой) ситуации
Допустим, вы хотите обменять 50 000 рублей в USDT на новом DEX. Курс обещают на 3% выгоднее, чем на популярной площадке, — то есть экономия около 1 500 рублей.
Вы открываете адрес контракта DEX в Etherscan и видите: контракт создан 6 часов назад, код не верифицирован, холдеров 4, у двух из них — 92% предложения. Экономия в 1 500 рублей не стоит риска потерять 50 000 рублей: вероятность дренажа при таком раскладе оценим хотя бы в 30%. Математическое ожидание потери: 50 000 × 0,3 = 15 000 рублей — в 10 раз больше потенциальной выгоды. Закрываем вкладку.
Шаг 2. Агрегаторы аудитов и сканеры репутации
Эксплорер — это базовый фильтр. Второй уровень — сервисы, которые собирают отчёты аудиторов и репутацию адресов:
- De.Fi Rekt Database и De.Fi Scanner — сканер уязвимостей контрактов и база известных взломов. Показывает honeypot-риски, скрытые функции mint/blacklist.
- GoPlus Security — бесплатный API и веб-интерфейс: проверяет адрес на фишинг, вредоносный код, возможность бесконечного минта.
- Token Sniffer / DEXTools (аудит-скоринг) — автоматический скоринг токенов: Liquidity lock, распределение холдеров, similarity с известными скам-контрактами.
- Certik Skynet и отчёты Hacken, Trail of Bits, OtterSec — если проект серьёзный, у него есть публичный аудит от известных фирм. Ищите ссылку на отчёт на сайте проекта и сверяйте: адрес контракта в отчёте должен совпадать с тем, к которому вы подключаетесь. Мошенники часто публикуют чужой аудит для подделки.
Проверка на двух независимых сервисах занимает 2–3 минуты и отсекает большинство массовых скам-схем.
Чек-лист перед подписью approve
Перед каждым нажатием «Approve» пройдитесь по списку:
- [ ] Контракт верифицирован в эксплорере
- [ ] Возраст контракта — минимум несколько месяцев (для новых — только после аудита)
- [ ] Холдеры распределены, нет адреса с 50%+ предложения
- [ ] Сайт проекта совпадает с официальным (проверяйте домен посимвольно, закладки — ваш друг)
- [ ] Есть публичный аудит от известной фирмы, адрес в отчёте совпадает
- [ ] GoPlus / De.Fi не показывают красных флагов
- [ ] Approve выставлен на конкретную сумму, а не на unlimited
- [ ] В окне кошелька вы читаете, что именно подписываете (адрес контракта и токен)
Восемь галочек = 5 минут. Одна незакрытая позиция из первых шести = отказ от сделки.
Если апрув уже подписан: как отозвать
Ошибки случаются. Хорошие новости: approve — это не перевод, и пока дренаж не сработал, право можно отозвать.
- Откройте Revoke.cash (для EVM-сетей) или раздел «Token Approvals» прямо в Etherscan/BscScan.
- Подключите кошелек в режиме view-only (read-only) — это безопасно.
- Найдите подозрительные апрувы и нажмите Revoke. Учтите: отзыв — это транзакция, она стоит газ (в сети Ethereum в спокойные часы — $0,5–3).
- Если апрувить пришлось опасный контракт, а кошелёк уже в зоне риска — переведите токены на новый кошелёк, а затем отзовите права на старом.
Проверять список апрувов стоит раз в месяц, а после взаимодействия с незнакомыми DEX — сразу.
FAQ
Что опаснее подписать: approve или transfer? Transfer — это разовый перевод конкретной суммы, после него ничего не «висит». Approve даёт контракту право списывать токены в будущем, возможно без лимита. Поэтому approve потенциально опаснее: подписывайте его только проверенным контрактам и на минимальную сумму.
Можно ли доверять аудитам на 100%? Нет. Аудит — снижение риска, а не гарантия. Аудиторы проверяют код, но не могут проверить честность команды, ключи администратора или то, что сайт, на который вы зашли, — официальный. Всегда сверяйте адрес контракта в отчёте с адресом в вашем кошельке.
Отзыв апрува через Revoke.cash безопасен? Да, Revoke.cash — известный сервис с открытым исходным кодом, используется сообществом с 2019 года. Для просмотра апрувов достаточно подключения в режиме «только чтение». Если не хотите подключать кошелёк вообще — используйте страницу Token Approval Checker на Etherscan, введя адрес кошелька вручную.