Регламент проверки безопасности умных контрактов на Ethereum платформе

В рамках развития проектов, использующих автономные/умные контракты Aira core, мы разработали регламент проверки кода на основе рекомендаций основных разработчиков проекта Ethereum, а также нашего личного опыта команды Airalab.

Материалы, используемые Airalab при формировании регламента проверки кода умных контрактов

Отдельное внимание стоит уделить этой презентации:  Smart Contract Security in Ethereum. В конце презентации хороший список материалов, на которых основывалась данная презентация, поэтому стоит наиболее внимательно изучить данный материал и исхоные ссылки.

Сухой остаток/инструкция к действию от основных разработчиков Ethereum, на которую 100% стоит обратить внимание, находится на GitHub: Ethereum Contract Security Techniques and Tips.

Как мы проверяем безопасность контрактов в Airalab

Основной документ, регламентирующий проверку кода: Регламент проверки безопасности контрактов Airalab

Каждый контракт, который мы создаем, проверяется разработчиком по данному регламенту. В результате проверки формируется документ, который необходимо расположить по следующему пути: /airalab/core/securityCheck

Результат проверки должен содержать 3 блока:

Блок 1: «Проверка общих рекомендаций Airalab». В данном блоке должен быть описан результат проверки по каждому из пунктов, содержащихся в разделе: «Обобщенные рекомендации к проверке«.

Блок 2: «Проверка на известные атаки». В данном блоке должен быть описан результат проверки по каждой из известных нам видов атак, содержащихся в разделе: «Известные атаки«.

Блок 3: «Комментарии по коду». Данный блок позволяет разработчику обратить внимание на потенциально уязвимые места или же акцентировать внимание пользователя на каких-либо фрагментах кода.

Как пример результата проверки можно посмотреть следующий документ: Smart contract «Token.sol» security check.

Рекомендации/замечания разработчиков пишите в формате issue в репозиторий Aira core на GutHub.

Также любые вопросы в наш канал друзей Airalab в Gitter.

 

 

  • noxonsu

    а как заказать такую проверку?

    • На данный момент заказать подобную услугу нельзя. Мы все ещё работаем над тестированием регламента на собственных контрактах. В августе 2016 планируется семинар в Москве по теме безопасности умных контрактов, от Airalab, и уже после мы подумаем о том, как помочь коллегам в проверке их контрактов. Следите за обновлениями в блоге и на моей странице facebook: https://www.facebook.com/EnsRationis2020