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

Проверка DeFi-контракта перед стейкингом: как обнаружить rug pull до того, как он случится

Большинство rug pull реализованы через легальные с виду функции смарт-контракта — owner-only withdraw, mintable supply, upgradeable proxy. Проверить контракт можно самостоятельно через Etherscan и открытые audit-отчёты ещё до первого депозита. Caveat: даже прошедший аудит контракт не даёт стопроцентной гарантии — аудиторы проверяют код на момент проверки, а не будущие апгрейды.

Автор: ~8 мин

Что такое rug pull и как он устроен технически?

Rug pull — когда команда проекта выводит ликвидность или казначейство через заранее встроенные функции контракта, оставляя инвесторов с обесценившимися токенами. Технически это реализуется через функции с модификатором onlyOwner: drain(), emergencyWithdraw(), setFeeReceiver() с произвольным адресом, или через mintable-токен без cap. Опасность — такие функции не всегда злонамеренны (legit-проекты тоже используют emergency withdraw), но без timelock и multisig они полностью зависят от честности команды. Риск: upgradeable proxy позволяет подменить логику контракта уже после аудита.

Источник: Wordcripta — ERC-20 token approval: риски и механика

Какие red flags в исходном коде сигнализируют об опасности?

Главные маркеры: функция mint() без cap (позволяет бесконечно разбавлять supply), blacklist() или pause() без DAO-голосования (команда может заблокировать вывод), setTaxFee() с диапазоном до 100% (фактически конфискация при выводе), owner() без timelock на критических функциях. Дополнительный сигнал — контракт не верифицирован на Etherscan (исходник закрыт). Согласно разбору на wordcripta.ru, апрув ERC-20 без ограничения суммы (approve(MAX_UINT256)) — отдельный вектор: владелец контракта может в любой момент списать весь одобренный баланс. Нюанс: один red flag не приговор, критична их комбинация.

Как работает approval phishing через DeFi-контракты?

Жертва подписывает approve() на адрес вредоносного контракта — часто под видом «claim rewards», «free mint» или «connect wallet». После этого атакующий вызывает transferFrom() и выводит весь одобренный баланс без каких-либо дополнительных действий со стороны жертвы. По данным walletwitness.com, approval phishing стал одним из ведущих векторов кражи ERC-20 токенов: жертва может не замечать потери неделями, если не мониторит апрувы активно. Риск: approve() на MAX_UINT256 даёт атакующему бессрочный доступ к токенам на кошельке.

Что такое emergency withdraw и когда это опасно?

Emergency withdraw — функция экстренного вывода средств из протокола, обычно предназначенная для защиты пользователей при баге. В легитимных протоколах (Compound, Aave) она позволяет пользователю самостоятельно вернуть свои средства. Опасный вариант — когда emergencyWithdraw() доступна только owner'у и направляет средства на его адрес, а не обратно депозитору. Такая конструкция — классический инструмент rug pull. Проверяйте: кто вызывает функцию и на чей адрес идут средства. Нюанс: tools4crypto.com фиксирует этот паттерн как один из наиболее распространённых в малоизвестных yield-фермах.

Как читать audit-отчёт и на что обращать внимание?

Audit-отчёт — документ, где аудиторская компания (CertiK, Trail of Bits, Hacken, Peckshield) фиксирует найденные уязвимости по степени критичности: Critical, High, Medium, Low, Informational. Красные флаги: нерешённые Critical или High уязвимости на момент публикации, аудит проведён неизвестной компанией без портфолио, дата аудита давно прошла, а контракт с тех пор обновлялся через proxy. Проверяйте статус уязвимостей: «Acknowledged» без фикса хуже, чем «Resolved». Нюанс: аудит проверяет конкретный commit — апгрейд через proxy после аудита делает его нерелевантным.

Источник: Wordcripta — ERC-20 token approval: риски и механика

Какие реальные кражи произошли через уязвимости контрактов?

Среди крупных инцидентов: Ronin Bridge (2022) — $625 млн через компрометацию validator-ключей; Wormhole (2022) — $320 млн через уязвимость верификации подписи; Euler Finance (2023) — $197 млн через flash loan атаку на логику ликвидации. Все три прошли аудиты. В сегменте малых проектов rug pull через onlyOwner-функции массовые: по данным Chainalysis, в 2023 году таким образом было похищено более $1 млрд. Риск для РФ-инвестора: доход от крипто облагается НДФЛ, но украденные средства налоговым вычетом не учитываются.

Источник: WalletWitness — Approval phishing: разбор механики атаки

Можно ли доверять проекту, если он прошёл аудит CertiK?

Аудит CertiK снижает риск, но не устраняет его. CertiK проверяет код на момент аудита — если контракт upgradeable, логика может быть изменена позже. Несколько проектов с высоким CertiK-рейтингом всё равно подверглись rug pull через апгрейды proxy. Аудит — один из факторов оценки, не финальный приговор.

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

Типовые опасные функции в смарт-контрактах: что искать в исходнике

ФункцияРискКак проверить
mint() без capБесконечная эмиссия, обесценивание токенаНайти в коде maxSupply или cap; если нет — red flag
emergencyWithdraw(onlyOwner)Вывод средств депозиторов на адрес владельцаПроверить recipient: msg.sender (ок) или owner (опасно)
approve(MAX_UINT256)Бессрочный доступ к токенам для контрактаРевизия апрувов через revoke.cash или etherscan.io
upgradeable proxy без timelockПодмена логики после аудита без предупрежденияПроверить наличие TimelockController в контракте

Аудит контракта: самостоятельная проверка против профессионального аудита

КритерийСамостоятельная проверкаПрофессиональный аудит
СтоимостьБесплатно (Etherscan + инструменты)$5 000 — $150 000+ в зависимости от объёма
Глубина анализаПоверхностная: red flags, верификация кодаПолная: логические уязвимости, формальная верификация
Время30–60 минут на базовую проверку2–8 недель
Покрытие апгрейдовНет: проверяете текущий кодЧастично: аудитор не знает будущих изменений
Полезность для инвестораДостаточно для отсева очевидных rug pullСнижает риск, но не устраняет его полностью

Как проверить DeFi-контракт перед депозитом: пошаговый алгоритм

  1. Найдите адрес контракта и проверьте верификацию

    На etherscan.io введите адрес контракта и откройте вкладку Contract. Если исходный код не верифицирован — это жёсткий red flag: вы не знаете, что подписываете.

  2. Проверьте ключевые функции в исходнике

    Используйте Ctrl+F для поиска: mint, withdraw, emergencyWithdraw, pause, blacklist, setFee, owner. Для каждой определите: кто вызывает и на чей адрес идут средства.

  3. Проверьте наличие timelock и multisig

    Найдите TimelockController или Gnosis Safe в коде или связанных контрактах. Отсутствие timelock на owner-функциях означает, что один человек может вывести средства мгновенно.

  4. Найдите и прочитайте audit-отчёт

    Ищите ссылку на аудит в официальной документации проекта. Проверьте: дата аудита, аудитор с репутацией, статус всех Critical/High уязвимостей — должны быть Resolved, не Acknowledged.

  5. Проверьте и отзовите лишние апрувы

    Через revoke.cash или etherscan.io Token Approvals проверьте, какие контракты имеют доступ к вашим токенам. Отзовите апрувы на неиспользуемые или подозрительные адреса — это бесплатно (только gas).

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

Можно ли доверять проекту, если он прошёл аудит CertiK?

Аудит CertiK снижает риск, но не устраняет его. CertiK проверяет код на момент аудита — если контракт upgradeable, логика может быть изменена позже. Несколько проектов с высоким CertiK-рейтингом всё равно подверглись rug pull через апгрейды proxy. Аудит — один из факторов оценки, не финальный приговор.

Как быстро проверить апрувы ERC-20 на своём кошельке?

Зайдите на revoke.cash, подключите кошелёк (только read-only для проверки) или введите адрес вручную. Сервис покажет все активные апрувы с суммами и адресами контрактов. Апрувы на MAX_UINT256 к незнакомым контрактам — отзывайте немедленно. Отзыв апрува — обычная транзакция, требует только gas.

Что такое «malicious approval drain» и как его избежать?

Malicious approval drain — атака, при которой жертва однажды подписала approve() на вредоносный контракт, а атакующий использует это право позднее через transferFrom(). По данным tools4crypto.com, дрейн может произойти через дни или недели после подписания апрува. Защита: никогда не подписывайте апрувы на MAX_UINT256, используйте permit2 с ограниченным сроком, регулярно ревизируйте апрувы через revoke.cash.

Как влияет кража криптоактивов через DeFi на налоги в РФ?

По действующему законодательству РФ, украденные криптоактивы не признаются вычитаемым убытком при расчёте НДФЛ. Доход от продажи крипто облагается по ставке 13% (или 15% при доходе свыше 5 млн ₽ в год). Потеря активов вследствие мошенничества или уязвимости контракта не уменьшает налоговую базу — это подтверждается общей логикой НК РФ, специального регулирования пока нет.

Где смотреть реестр известных вредоносных контрактов?

ScamSniffer и De.Fi Shield ведут базы известных вредоносных адресов. Etherscan помечает часть адресов как «Phishing» или «Fake» во вкладке Labels. Дополнительно — база Chainabuse.com, куда пользователи сообщают о мошеннических адресах. Перед взаимодействием с незнакомым контрактом проверьте его адрес минимум в двух из этих источников.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

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

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Источники