<b>Эксплойты smart-contracts: 5 типовых паттернов, которые повторяются снова и снова</b>
Уязвимости в смарт-контрактах редко выглядят «уникально»: чаще всего это один и тот же класс ошибок, замаскированный под новый проект. Для аудита и риск-анализа полезно смотреть не на бренд протокола, а на паттерн сбоя.
• Reentrancy: внешний вызов идёт раньше обновления состояния. Если контракт отдаёт контроль до фиксации баланса, атакующий может повторно войти в функцию.
• Ошибки доступа: критичные функции остаются без жёсткой проверки ролей, либо логика owner/admin обходит сама себя через proxy, multisig или плохо прописанные modifiers.
• Arithmetic и округления: потеря точности, переполнение, неверная работа с decimals и share-моделью. Особенно часто ломаются пулы, фермы и механика наград.
• Oracle-зависимость: цена берётся из одного источника, с коротким окном или без защиты от манипуляций. Итог — актив искусственно переоценён или недооценён.
• Broken accounting: сумма долей, долгов и резервов не сходится после edge-case: пауза, частичный вывод, ребейз, перенос между цепочками.
Проверять стоит не только код, но и последовательность вызовов: кто пишет storage первым, где есть external call, как обрабатываются revert и частичные успехи, что происходит при нулевых значениях и повторном входе.
Если коротко: большинство эксплойтов находят там, где контракт доверяет внешнему миру раньше, чем фиксирует собственное состояние.
Crypta Сводка — новости криптовалют и регуляции
@CryptASvodka
<b>Эксплойты smart-contracts: 5 типовых паттернов, которые повторяются снова и снова</b>
Этот пост опубликован в Telegram-канале Crypta Сводка — новости криптовалют и регуляции. Подписаться можно по ссылке: @CryptASvodka.