Аудит

Аудит


Что такое аудит смарт-контрактов?

Crypton Academy

Crypton Academy

13 июля 2021 г. • 8 min read

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

В этой статье мы расскажем:

Что такое аудит?

Пропустить пункт

Аудит - это форма независимой проверки для регулирования деятельности организации.

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

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

Аудит в крипто-сфере - это проверка кода проекта, в частности его смарт-контрактов, на уязвимости, наличие которых повышает риск вмешательства с внешней стороны и нарушения процесса работы платформы или даже её взлом. Также на наличие бэкдоров, своеобразных лазеек, благодаря которым уже сами создатели и владельцы платформы могут совершать недоброжелательные действия, например, выводить ликвидность из проекта или заменять адреса кошельков.

Зачастую проверяют смарт-контракты, так как они по своей сути не видоизменяемы, если это изначально не было заложено в коде. Пример: изменение вознаграждения за блок в фарминге pancakeswap.

Команда PancakeSwap может регулировать награду за блок для повышения интереса к определённым парам. Но вмешиваться в сам процесс, то есть конкретно кому идёт награда, команда не может, так как это заложено в смарт-контракте.

Что может гарантировать аудит и как взламывают проекты с пройденным аудитом?

Пропустить пункт

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

Аудит перекладывает ответственность, как финансовую, так и репутационную, за исправность и надежность смарт-контрактов на аудиторскую компанию, поэтому в интересах компании сделать проверку максимально качественно и надёжно.

Аудит смарт-контрактов может минимизировать риски скама, так как проверяет проект на возможность программного вмешательства с внешней и внутренней стороны.

Скам-проект — это мошеннический инвестиционный проект, которой создается с целью украсть средства инвесторов.

У проекта может присутствовать ряд уязвимостей другого характера. Например, если в проекте плохо прописана токеномика, и владельцы имеют большой процент токенов в собственности, они с лёгкостью могут обвалить курс, что приведёт к убыткам других держателей данного токена. В целом, аудит может помочь в лучшей степени оценить риски, но не может гарантировать их полное отсутствие.

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

В качестве примера, возьмем проект PancakeBunny, о котором у нас есть статья.

PancakeBunny пострадал от кредитной атаки и потерял 114 631,5421 WBNB и 697 245,5699 BUNNY на общую сумму около 45 миллионов долларов США.

На проект была произведена Flash Loan атака. В официальном ответе говорилось, что хакер использовал PancakeSwap для заимствования большой суммы BNB у внешнего разработчика, после чего манипулировал ценами USDT / BNB и BUNNY / BNB, чтобы получить большую сумму BUNNY и продать ее. После проделанных манипуляций цена BUNNY резко упала.

Flash Loan атака - это атака, при которой используются быстрые кредиты, с помощью которых, при наличии каких-то уязвимостей у проекта, можно, например, манипулировать курсом криптовалюты.

Почему при наличии у PancakeBunny аудита, на него все равно была произведена атака? На этот вопрос ответила сама компания HAECHI, проводившая аудит:

  1. Компания проводила аудит 18 января 2021 года и высказала, что существуют неаудированные и изменяемые внешние контракты, а функция «помощника» подвержена для атаки Flash Loan.
  2. После проведения аудита команда Pancake Bunny обновила контракты с версии 1 до версии 2 и выбрала другого партнера для аудита. Эта атака Flash Loan была вызвана новыми смарт-контрактами, которые не аудировали.

То есть можно сделать вывод, что простая плашка о прохождении аудита ничего не значит. Поэтому дату прохождения аудита и все актуальные аудиты следует обязательно учитывать! Внимание стоит обращать и на компанию, которая проводила аудит, так как крупные и известные компании более серьезно подходят к аудированию.

Наиболее известные аудиторские компании с хорошей репутацией.

Пропустить пункт

Certik - на данный момент, одна из самых именитых и надежных компаний в данной сфере. Certik не ограничивается только аудитом смарт-контрактов. Платформа проводит аудит проектов и по другим параметрам, позже мы рассмотрим это подробнее. Опыт сотрудничества: Binance, Tether, PancakeSwap, Polygon и другие.

SlowMist - ведущая компания для азиатского региона. Опыт сотрудничества: Huobi, Binance, EOSIO, O3SWAP, OKEX, e.t.c.

Hacken - ведущая консалтинговая компания по кибербезопасности. Опыт сотрудничества: PancakeSwap, Gate.io, 1Inch, FTX e.t.c.

Другие виды аудита в сфере криптовалют.

Пропустить пункт

На примере вышеупомянутой компании Certik, раскрою дополнительные формы аудита:

On-chain Monitoring - использование мониторов безопасности и интеллектуальных систем, благодаря которым в режиме реального времени любой пользователь может видеть актуальную информацию о безопасности проекта.

Market Volatility - анализ финансовых факторов и рыночных показателей.

Social Sentiment - анализ в реальном времени роста интереса к проекту со стороны общества и его настроения.

Подробнее можно изучить на данном примере.

Собственная оценка проекта и аудирования.

Пропустить пункт

Если вы нашли новый для себя проект и уже провели визуальную оценку сайта, его дизайна, интерфейса, легкость использования, скорость работы, а также прочитали и осознали миссию и идею проекта, чем он занимается, какие проблемы решает, какая стоит за ним команда и с кем налажено сотрудничество, то можно приступить к проверке наличия аудита и его оценке. Для этого нужно:

  • Найти информацию об аудите. Зачастую информацию о пройденном аудите можно найти на сайте проекта, в редких случаях, если это сделать не удалось, можно поискать в твиттере и других социальных сетях. Очень важно, есть ли подтверждения данного аудита на сайте аудиторской компании, ибо мошенникам ничего не помешает подделать данную плашку на своем сайте.
  • Просмотреть и оценить информацию о пройденном аудите, как давно это произошло и кто его провел.
  • Оценить саму аудиторскую компанию. Логика такая же, когда оцениваем проект - смотрим, с кем сотрудничает .
  • Сделать собственные выводы.

Разберём на примере любимого нами PancakeSwap

Заглавная страница сайта. В первую очередь внимание притягивает вкладка с меню. Причем, исходя из логики, искомая нами информация находится либо в пункте Info, либо в More.

Перейдем во вкладку Info. Мы обнаруживаем не совсем то, что искали. Здесь находится информация об объемах ликвидности и объемах оборота на платформе, данная информация тоже очень полезна и важна при анализе.

Вкладка More раскрывается и содержит несколько пунктов. В данном случае, Docs - это то, что нам нужно.

Мы попали на другую страничку. После первичного осмотра наше внимание привлекает вкладка "Is PancakeSwap safe?"

Бинго! Это то, что мы искали. Мы видим упоминания об аудите от Certik и Mistfist. Посмотрим подробности.

Мы перешли на сайт Certik. Красными прямоугольниками обведена дата, когда аудит был пройден. Прошло уже 8 месяцев, что достаточно большой срок, так как у платформы было значительное количество нововведений. Фиолетовым прямоугольником выделена общая оценка проекта по различным параметрам.

В фиолетовом прямоугольнике мы видим параметры, по которым была сформирована оценка. В Голубом прямоугольнике мы видим интересный анализ: ПО Certik в реальном времени анализирует социальные сети на количество позитивных, негативных и нейтральных комментариев. Красный прямоугольник содержит в себе вкладки, с помощью которых можно подробнее изучить информацию о проекте.

Рассмотрим подробнее вкладку Safety. Как мы видим, в целом у проекта нет проблем. Подробнее о каждом пункте можно узнать, когда наводишь на знак вопроса. Например пункты, где у PancakeSwap не высший балл:

  • Bug Bounty - программа вознаграждения за найденные ошибки;
  • Insurance & Protections - страхование и защита средств;
  • Decentralization - насколько команда может влиять на происходящее. Мы уже рассматривали, что команда может вносить в изменения, например, в награду за блок;
  • Accessible Identities - данные о команде. У PancakeSwap команда в целом анонимна.

Вторая ссылка из документов PancakeSwap - аудит от Slowmist. Причем аудит прошёл как сам PancakeSwap, так и отдельно AutoCake Pool, как недавнее нововведение. С момента аудита прошло всего 15 дней на 19.06.2021, можем выдохнуть!

Вернемся на сайт Certik, чтобы удостовериться, можно ли им доверять. Как видим, опыт сотрудничества внушителен.

У SlowMist тоже все супер.

Если резюмировать - с Аудитом у PancakeSwap все хорошо. Мы проверили, они действительно проходили аудит у надежных и именитых компаний Certik и SlowMist. Причем последний аудит был пройден 15 дней назад.

Заключение + полезные материалы.

Не стоит относиться к аудиту, как к сто процентной гарантии безопасности проекта. Даже при актуально пройденном аудите всех смарт-контрактов у известной компании остается еще множество источников риска. Стоит проводить собственный анализ проекта, изучать его токеномику и принцип работы. Если хотите более подробно углубиться и изучить эту тему, снизу будут ссылки на материалы, которые вам в этом помогут.

  • Перейдя по этой ссылке, можно посмотреть список последних атак на DApp`s. Их виды, описание и причиненный ущерб. Mustread!
  • Хороший материал по изучению solidity (язык программирования для написания смарт-контрактов) для новичков. (Материал на английском). Ссылка.
  • Крутая платформа по взлому смарт-контрактов на практике. Появится понимание работы смарт-контрактов и их основных уязвимостейСсылка
  • Теория смарт-контрактовСсылка.
  • Полезные инструменты для сканирования и аудита. Ссылка.
  • Пример аудиторского отчёта.


Report Page