Аудит смарт-контрактов для крипто-проектов
Находим уязвимости в коде до того, как их найдёт кто-то другой. Помогаем обезопасить DeFi-проекты и корпоративные blockchain-решения.
Кому нужен аудит
Общий процесс аудита один и тот же для DeFi-протокола и для банка: скоуп, ревью, отчёт, повторная проверка. А вот набор конкретных проверок отличается от проекта к проекту.
Корпоративные и enterprise-клиенты
Для банков, финтеха и крупного бизнеса аудит входит в due diligence перед тем, как blockchain-решение попадёт в продакшн: кастоди, токенизация, расчетный контур, интеграция с внешними провайдерами.
Due diligence перед продакшном
Часть подготовки решения к запуску, а не разовая проверка постфактум.Модель угроз и комплаенс
Фиксируем модель угроз и проверяем соответствие кода заявленной бизнес-логике.Конфиденциальный отчёт
Без обязательной публикации, в отличие от DeFi-сценария.
DeFi и Web3-проекты
Перед запуском в мейннет аудит закрывает два риска сразу: риск эксплойта, который может поставить под удар финансы пользователей и репутационный риск, без публичного аудиторского отчёта юзеры и контрагенты будут относиться к проекту с недоверием.
Аудит перед мейннетом
Закрываем риски ошибок до того, как они окажутся в релизе.Публичный отчёт об аудите
Сигнал доверия для бирж, агрегаторов и комьюнити при листинге.Партнёр с узнаваемым именем
Для крупных листингов или раунда инвестиций можем подключить партнеров: CertiK, Pessimistic или BugBlow.
Что мы проверяем
Набор зависит от сети и модели продукта: DeFi-протокол или enterprise-решение. Ниже то, что обычно входит в скоуп с самого начала.
Контроль доступа и права владения
Кто и при каких условиях может вызывать критичные функции: смена владельца, апгрейд контракта, вывод средств. Ищем ошибки в модификаторах доступа и в логике передачи прав.
Reentrancy и порядок исполнения
Проверяем, может ли внешний вызов прервать выполнение контракта в момент, когда состояние еще не обновлено, и использовать это для абьюза кода.
Работа с оракулами и манипуляции ценой
Проверяем зависимость контракта от источников цены. Можно ли манипулировать ценой для извлечения выгоды при различных операциях: свопе, займе или ликвидации.
Бизнес-логика и математика
Соответствует ли код заявленной логике продукта: округления, лимиты, распределение вознаграждений, edge-кейсы, не покрытые тестами.
Апгрейды и proxy-паттерны
Если контракт обновляемый, проверяем корректность прокси, хранение состояния при апгрейде и то, кто в итоге контролирует логику после обновления.
Газ-эффективность
Выносим газ-находки в отдельную категорию. Смотрим неоптимальные циклы, лишние storage-операции и паттерны, которые с ростом активности пользователей делают вызов функции дороже, вплоть до экономической нецелесообразности.
Отказоустойчивость и DoS
Ищем сценарии, где один пользователь или злоумышленник может заблокировать функцию для всех остальных, причём не из-за газа, а из-за логики контракта.
Контроль доступа и права владения
Кто и при каких условиях может вызывать критичные функции: смена владельца, апгрейд контракта, вывод средств. Ищем ошибки в модификаторах доступа и в логике передачи прав.
Reentrancy и порядок исполнения
Проверяем, может ли внешний вызов прервать выполнение контракта в момент, когда состояние еще не обновлено, и использовать это для абьюза кода.
Работа с оракулами и манипуляции ценой
Проверяем зависимость контракта от источников цены. Можно ли манипулировать ценой для извлечения выгоды при различных операциях: свопе, займе или ликвидации.
Бизнес-логика и математика
Соответствует ли код заявленной логике продукта: округления, лимиты, распределение вознаграждений, edge-кейсы, не покрытые тестами.
Апгрейды и proxy-паттерны
Если контракт обновляемый, проверяем корректность прокси, хранение состояния при апгрейде и то, кто в итоге контролирует логику после обновления.
Газ-эффективность
Выносим газ-находки в отдельную категорию. Смотрим неоптимальные циклы, лишние storage-операции и паттерны, которые с ростом активности пользователей делают вызов функции дороже, вплоть до экономической нецелесообразности.
Отказоустойчивость и DoS
Ищем сценарии, где один пользователь или злоумышленник может заблокировать функцию для всех остальных, причём не из-за газа, а из-за логики контракта.
Как проходит аудит
Первичное знакомство
Разбираем продукт, документацию и код, фиксируем границы аудита и модель угроз. Без этого аудит превращается в разбор кода в вакууме, а нам нужно понимать, что контракт должен делать, чтобы найти, где он работает не правильно.
Оценка
Смотрим объем кода и его сложность, называем сроки и стоимость индивидуально под проект.
Аудит
Аудит проводят наши технические лиды, те же люди, которые пишут смарт-контракты для клиентов. Совмещаем ручной построчный разбор с автоматизированными инструментами анализа кода.
Отчёт
Получаете подробный документ по фиксированной структуре: от резюме протокола до рекомендаций на следующие шаги. Что именно входит, смотрите в следующем блоке.
Повторная проверка
После того как правки внесены, перепроверяем именно те места, где были находки, и подтверждаем, что уязвимость закрыта, а не просто скрыта.
Что входит в отчёт
Резюме протокола
Что аудировали, в каком объеме и на какой версии кода, чтобы отчёт однозначно сопоставлялся с конкретным коммитом даже спустя полгода.
Классификация рисков
Объясняем критерий каждого уровня критичности, чтобы High и Informational были понятны команде без нас.
Границы проверки
Что входило в скоуп аудита, а что осталось за его пределами.
Executive Summary
Общий результат аудита и то, что в коде сделано правильно, а не только найденные проблемы.
Находки по уровням критичности
Каждая уязвимость с описанием и конкретным путем исправления, разбитая по уровням: High, Medium, Low, Informational, Gas.
Рекомендации на следующие шаги
Что стоит донастроить дальше, например мониторинг, дополнительный раунд тестирования или процессы на стороне команды.
Резюме протокола
Что аудировали, в каком объеме и на какой версии кода, чтобы отчёт однозначно сопоставлялся с конкретным коммитом даже спустя полгода.
Классификация рисков
Объясняем критерий каждого уровня критичности, чтобы High и Informational были понятны команде без нас.
Границы проверки
Что входило в скоуп аудита, а что осталось за его пределами.
Executive Summary
Общий результат аудита и то, что в коде сделано правильно, а не только найденные проблемы.
Находки по уровням критичности
Каждая уязвимость с описанием и конкретным путем исправления, разбитая по уровням: High, Medium, Low, Informational, Gas.
Рекомендации на следующие шаги
Что стоит донастроить дальше, например мониторинг, дополнительный раунд тестирования или процессы на стороне команды.
Партнёры для сложных случаев
Партнёры для сложных случаев
CertiK
Крупнейший игрок в блокчейн-безопасности, известен формальной верификацией: математическим подтверждением того, что код ведёт себя так, как заявлено. Аудит от CertiK — это стандартный референс для бирж уровня Binance и OKX и весомый сигнал доверия для крупных листингов и институциональных инвесторов.
Pessimistic
На рынке с 2017 года. Специализируется на глубоком ручном построчном разборе кода, среди первых разработали собственные инструменты автоматизированного анализа Solidity.
BugBlow
Компактная команда, аудирует Ethereum, Solana и TON, работает по модели оплаты за результат. Подключаем, когда нужны скорость и гибкость, а не масштаб уровня CertiK.
Часть аудитов закрываем полностью сами. Но если протокол выходит за пределы EVM, нужен formal verification, или для листинга и институциональных инвесторов важно имя внешнего аудитора с международной репутацией, подключаем партнеров. Работаем с ними не как с подрядчиком на аутсорсе: остаемся частью команды на всем процессе, от скоупа до финального отчёта.
Отзывы
Помогли нам создать маркетплейс на Haskell. Команда быстро включилась в работу и выдала крутой результат!
MetaLamp усилила нашу команду в Cardano и Plutus и зарекомендовала себя как отличный партнер.
Работали с командой над двумя блокчейн-проектами: работать с ними — одно удовольствие!
Сотрудничаем больше года: профессиональная команда, сложные задачи выполняют в срок и качественно. Рекомендую.
У команды сильная экспертиза в обучении разработчиков: помогли нам и изменили видение курса.
Элитная front-end команда в Web3: топ-уровень экспертизы, сильный менеджмент и одно удовольствие от работы.
Во время работы меня впечатлила слаженность команды и готовность прийти на помощь в критические моменты проекта.
MetaLamp превзошли наши ожидания! За счёт аналитики сделали процессы эффективнее, а результат прогнозируемым.
Сотрудничество с MetaLamp — это абсолютный успех! Качество работы выдающееся, а их подход к менеджменту на высшем уровне.
Опыт работы с MetaLamp был потрясающим! С точки зрения архитектора решений, они действительно воплощают мечты в реальность!
У MetaLamp мне понравился их подход к работе. Прозрачные процессы, всегда в контакте, точные оценки и прогнозируемые риски.
Помогли нам создать маркетплейс на Haskell. Команда быстро включилась в работу и выдала крутой результат!
MetaLamp усилила нашу команду в Cardano и Plutus и зарекомендовала себя как отличный партнер.
Работали с командой над двумя блокчейн-проектами: работать с ними — одно удовольствие!
Сотрудничаем больше года: профессиональная команда, сложные задачи выполняют в срок и качественно. Рекомендую.
У команды сильная экспертиза в обучении разработчиков: помогли нам и изменили видение курса.
Элитная front-end команда в Web3: топ-уровень экспертизы, сильный менеджмент и одно удовольствие от работы.
Во время работы меня впечатлила слаженность команды и готовность прийти на помощь в критические моменты проекта.
MetaLamp превзошли наши ожидания! За счёт аналитики сделали процессы эффективнее, а результат прогнозируемым.
Сотрудничество с MetaLamp — это абсолютный успех! Качество работы выдающееся, а их подход к менеджменту на высшем уровне.
Опыт работы с MetaLamp был потрясающим! С точки зрения архитектора решений, они действительно воплощают мечты в реальность!
У MetaLamp мне понравился их подход к работе. Прозрачные процессы, всегда в контакте, точные оценки и прогнозируемые риски.
MetaLamp Magazine
Наша сильная сторона — экспертиза. Блоги нашей компании на Хабре попадают в ТОП-1 в разделе «Solidity» и ТОП-2 в разделе «Децентрализованные сети».
Также у нас есть собственное медиа MetaLamp Magazine и канал в Telegram
FAQ
Чем аудит смарт-контрактов отличается от обычного код-ревью?
Код-ревью проверяет, работает ли код так, как задумал разработчик. Аудит исходит из того, что у контракта есть «противник»: тот, кто специально ищет способ извлечь выгоду из ошибки. Смотрим на код иначе и другими инструментами.
Сколько длится аудит и сколько это стоит?
Зависит от объёма кода, количества внешних интеграций и модели угроз конкретного продукта. Называем сроки и стоимость после того, как посмотрим код и документацию: двести строк и две тысячи строк отличаются по трудоёмкости, поэтому фиксированных пакетов не продаём.
Вы аудируете не только EVM-сети?
Сами закрываем EVM-совместимые сети. Для остальных сетей и для более сложных случаев привлекаем партнёров: CertiK, Pessimistic или BugBlow, в зависимости от задачи и стека.
Что будет, если во время аудита найдут критичную уязвимость?
Сообщаем сразу, не дожидаясь финального отчёта. Если риск критичный, ждать нет смысла. Дальше даем рекомендации по исправлению и делаем повторную проверку после того, как правки внесены.
В чём разница между аудитом для DeFi-проекта и для корпоративного клиента?
Методология одна и та же. Разница в контексте: DeFi-проекту нужен публичный отчёт как сигнал доверия для комьюнити и бирж, корпоративному клиенту — конфиденциальное заключение для внутреннего риск-менеджмента и комплаенса.