Эксплойты smart-contracts: 7 типовых паттернов, которые повторяются снова и снова
Уязвимости в DeFi и других on-chain-протоколах обычно не выглядят экзотикой: почти всегда это ошибка в логике, а не «магия хакера». Самые частые классы: • reentrancy — внешний вызов до обновления баланса; • access control — функция без жёсткой проверки ролей; • price oracle manipulation — опора на слабый источник цены; • integer/precision bugs — потеря точности при расчётах; • broken accounting — расхождение между внутренним учётом и реальным состоянием.
Отдельная группа — ошибки инициализации и апгрейда. Если контракт можно повторно инициализировать, атакующий получает чужие права. Если proxy и implementation связаны плохо, можно подменить логику или сломать storage layout. Ещё один частый паттерн — небезопасные внешние зависимости: DEX-роутер, мост, мультисиг, библиотека, которая меняет поведение без аудита.
Перед релизом проверяют не только код, но и допущения: можно ли манипулировать ценой, что будет при нулевой ликвидности, кто может менять параметры, есть ли pause-механизм, не завязан ли протокол на один сервис. Хорошая практика — формальные инварианты, fuzzing, симуляции атак и отдельный аудит на экономическую логику, а не только на синтаксис.
Если коротко: большинство взломов начинается не с «дырки в Solidity», а с неверного предположения о том, как поведёт себя рынок, оракул или доступ к функции. Сначала моделируйте злоумышленника, потом пишите контракт.
Crypta Сводка — новости криптовалют и регуляции
@CryptASvodka
Эксплойты smart-contracts: 7 типовых паттернов, которые повторяются снова и снова
Этот пост опубликован в Telegram-канале Crypta Сводка — новости криптовалют и регуляции. Подписаться можно по ссылке: @CryptASvodka.