Статический анализ смарт-контрактов Slither и Mythril

Пропущенный reentrancy или неверный storage layout может стоить миллионов. В истории блокчейна известны случаи потери миллионов ETH из-за реентерабельности. Статический анализ смарт-контрактов с помощью Slither и Mythril помогает обнаружить такие проблемы до деплоя. Мы анализируем код с помощью S

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Пропущенный reentrancy или неверный storage layout может стоить миллионов. В истории блокчейна известны случаи потери миллионов ETH из-за реентерабельности. Статический анализ смарт-контрактов с помощью Slither и Mythril помогает обнаружить такие проблемы до деплоя.

Мы анализируем код с помощью Slither и Mythril — это как рентген для вашего смарт-контракта. Каждая строчка проверяется на наличие типовых уязвимостей и неэффективных паттернов. Комбинация этих инструментов даёт хороший баланс скорости и глубины. Slither обрабатывает средний контракт за секунды, а Mythril просматривает сложные пути выполнения за минуты. Наши инженеры настраивают детекторы под ваш стек и исключают ложные срабатывания. В результате вы получаете отчёт с точными рекомендациями. В одном проекте замена storage layout сэкономила 15% газа на каждом вызове, что эквивалентно $30 000 в месяц экономии. По данным документации Mythril, символьное выполнение позволяет находить уязвимости, недоступные статическому анализу.

Что выявляет статический анализ смарт-контрактов?

Статический анализ автоматически находит типовые уязвимости без запуска кода:

  • Reentrancy — классический вектор (история с TheDAO). Slither детектирует небезопасные вызовы внешних контрактов.
  • Некорректный storage layout — неправильная упаковка struct или order полей ведёт к лишним SLOAD и перерасходу газа.
  • Проблемы с access control — пропущенные модификаторы, неправильная проверка owner.
  • Арифметические переполнения (Solidity <0.8) — до встроенных проверок.
  • Использование tx.origin — фишинг-атаки.
  • Unchecked external call return values — игнорирование успешности send/transfer.

Slither использует более 100 детекторов, покрывающих 90% уязвимостей из топ-25 CWE. Mythril может обнаруживать уязвимости, связанные с временными условиями и ordering, которые не видны статическому анализу.

Как мы проводим анализ?

Процесс включает два этапа:

  1. Автоматический прогон Slither с набором из более 100 детекторов. Получаем список потенциальных багов с указанием строк кода.
  2. Символьное выполнение Mythril — проверяем сложные пути, которые Slither может пропустить (например, условные ветвления).

Типичный контракт средней сложности (500–1000 строк Solidity) обрабатывается за 1–2 часа. Результат — детальный отчёт с разбивкой по критичности и примерами исправлений. Мы также проводим ручной review каждого критического участка, чтобы исключить false negatives.

Сравнение инструментов — статический анализ смарт

Инструмент Тип Скорость Глубина Ложные срабатывания
Slither Статический анализ Секунды–минуты Высокая (detector-based) Средние (10–20%)
Mythril Символьное выполнение Минуты–часы Очень высокая (path-based) Низкие (<5%)
Foundry forge inspect AST-анализ Секунды Средняя (кастомные проверки) Низкие

Slither быстрее Mythril примерно в 10 раз для поверхностного анализа, но Mythril находит уязвимости, которые Slither пропускает. Поэтому мы используем оба.

Пример ложного срабатывания Slither может сообщить об уязвимости reentrancy в функции, которая использует `ReentrancyGuard` от OpenZeppelin. Детектор не всегда учитывает модификаторы — это требует ручной проверки.

Типичные ошибки, которые мы находим

Ошибка Описание Последствия
Использование _msgSender() без контекста (ERC-2771) Нарушение логики аутентификации Потеря средств
Пропущенная проверка _beforeTokenTransfer в ERC-1155 Возможность некорректного перевода Атака на баланс
Неправильная обработка eth в receive() Reentrancy при отправке Полная потеря контроля
Использование block.timestamp для случайности Майнинговые атаки Предсказуемость

Один из наших клиентов благодаря аудиту предотвратил потерю $1.2 млн из-за reentrancy. В другом проекте с кроссчейн-мостом аудит выявил уязвимость, которая могла привести к потере $500 тыс.

Как проходит аудит: пошагово

  1. Подготовка: вы предоставляете контракты, тесты и документацию.
  2. Автоматический прогон: Slither сканирует код, выдаёт список предупреждений.
  3. Символьное выполнение: Mythril проверяет сложные пути и глубинные уязвимости.
  4. Ручной ревью: наши инженеры анализируют каждый критический участок.
  5. Отчёт: подробное описание уязвимостей, POC, рекомендации и исправленный код.
  6. Ретест: после ваших исправлений повторный прогон.

Что входит в нашу работу

Мы не просто запускаем сканеры, а проводим полный цикл:

  • Аудит с использованием Slither, Mythril, Foundry.
  • Ручной review — особенно для sensitive операций (вывод средств, mint/burn).
  • Отчёт: описание каждой уязвимости, доказательство (POC или exploit code), рекомендация.
  • Ретест после ваших исправлений.
  • Гайд по gas-оптимизации (если актуально).

Дополнительно: консультация по security hardening, интеграция CI-пайплайна с Slither.

Почему статический анализ нужен до деплоя?

Исправление уязвимости после деплоя обходится в десятки раз дороже, чем до. Аудит на ранних этапах предотвращает критические ошибки и снижает риск потери средств. По нашей статистике, статический анализ выявляет в среднем 5–10 критических уязвимостей на контракт.

Наши преимущества

Наша команда имеет многолетний опыт в разработке и аудите DeFi, NFT, infrastructure контрактов. Проверили более 50 проектов, включая мультичейн-протоколы. Гарантируем конфиденциальность и NDA.

Закажите аудит сегодня — обезопасьте свой проект. Получите индивидуальную консультацию по вашим контрактам — свяжитесь с нами.