Погружаюсь в последнее время в безопасность смарт-контрактов и понял, что большинство разработчиков не используют правильные инструменты, чтобы выявлять уязвимости до того, как код уйдет в прод. На самом деле это критический пробел, потому что после того, как ваш код попадает в mainnet, исправление проблем безопасности превращается в настоящий кошмар.



Дело в том, что смарт-контракты настолько безопасны, насколько безопасен тот код, который для них написан. Они неизменяемы и прозрачны — это отлично для беспроблемного доверия, но ужасно, если в коде есть баг. Поэтому я начал составлять карту ландшафта инструментов для безопасности смарт-контрактов, которые доступны прямо сейчас, и, честно говоря, экосистема довольно крепкая, если знать, куда смотреть.

Большинство атак, которые я вижу, подчиняются предсказуемым схемам — reentrancy loops, которые выводят средства, frontrunning, когда злоумышленники наблюдают за ожидающими транзакциями и встраиваются в очередь с более высокими комиссиями за gas, или проблемы с переполнением целых чисел (integer overflow), когда числа неожиданно “оборачиваются”. Это не новые проблемы, но они продолжают происходить, потому что разработчики либо не знают о них, либо тестируют неправильно.

Вот где нужны правильные инструменты. MythX, вероятно, самая всеобъемлющая платформа для этого — использует продвинутый символьный анализ, чтобы находить уязвимости в контрактах Ethereum. У них есть бесплатный тариф для фрилансеров и планы для предприятий — для более крупных операций. Разработческое сообщество действительно уважает ее, потому что она по-настоящему инновационная.

Для тестирования особенно выделяется Echidna: она использует fuzzing, чтобы генерировать случайные входные данные и находить граничные случаи, которые обычное тестирование может пропустить. Она легко интегрируется с Remix и Truffle, поддерживает несколько языков, таких как Solidity и Vyper. Property-based testing с Echidna — по сути, один из способов поймать “странное” и трудновыявляемое.

Slither — еще один инструмент, которым я пользуюсь постоянно: он выявляет проблемы с reentrancy, неинициализированные указатели, overflows и underflows. Анализ байткода вскрывает недостатки, которые не видны, если смотреть только исходный код. Работает с Solidity вплоть до 0.8.x.

Для анализа контрактов Cyberscan от Cyberscope дает вам информацию о владении, детали по прокси, вложения к аудитам — все в одном месте. Similarityscan позволяет проверить, оригинальный ли контракт или это просто скопированный код. Оба решения экономят время, когда вы оцениваете проекты.

Truffle Security интегрируется с MythX и предлагает непрерывный мониторинг — сканирует ваши контракты во время разработки и продолжает следить за новыми уязвимостями. Их база данных обновляется постоянно по мере того, как угрозы становятся реальностью. Такой подход к постоянному наблюдению особенно ценен, потому что ландшафт угроз никогда не перестает меняться.

Manticore — это open-source вариант, если вам нужен полный контроль: использует символьное выполнение, чтобы исследовать все пути через ваш контракт и генерировать тестовые случаи. Работает с Truffle и Mythril, поддерживает несколько языков. Отлично подходит для аудиторов безопасности, которым нужна глубокая видимость происходящего.

ZeppelinOS упрощает весь процесс за счет строительных блоков OpenZeppelin, инструментов тестирования и реестра заранее прошедших аудит контрактов, которые можно переиспользовать. Панель управления делает управление несколькими контрактами менее болезненным.

Signaturescan делает упор на обнаружение паттернов: обширная база данных известных уязвимостей и взломов, которая постоянно обновляется. Она разработана специально для Ethereum.

Safescan отвечает за сторону прозрачности: проверка команд, анализ транзакций, отчеты по истории кошельков. Приватность — это хорошо, но важна и ответственность.

Честно говоря, лучший подход — выстроить несколько уровней инструментов безопасности смарт-контрактов вместо того, чтобы полагаться на один. Разработчикам нужно либо проводить аудит самостоятельно, либо нанимать аудиторскую компанию до запуска в mainnet, потому что исправлять уязвимости постфактум очень тяжело. Безопасность — это тоже не разовая история: это постоянный мониторинг и актуализация по мере появления новых векторов атак.

Если вы строите на Ethereum или других блокчейнах, то вложение времени в правильные инструменты безопасности сейчас спасет вас от катастрофических потерь позже. Инструменты существуют, они проверены, они работают. Вопрос только в том, используете ли вы их на самом деле.
ETH3,79%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Горячее на Gate Fun

    Подробнее
  • РК:$2.24KДержатели:1
    0.00%
  • РК:$2.24KДержатели:0
    0.00%
  • РК:$2.23KДержатели:1
    0.00%
  • РК:$2.24KДержатели:1
    0.00%
  • РК:$0.1Держатели:0
    0.00%
  • Закрепить