Перейти к содержимому

Аудит смарт-контрактов для крипто-проектов

Находим уязвимости в коде до того, как их найдёт кто-то другой. Помогаем обезопасить DeFi-проекты и корпоративные blockchain-решения.
 Ethereum
 Binance Smart Chain
 Polygon
 Arbitrum
 Optimism (OP)
 Tron
 Solana
 Bitcoin
 Sui
 Aptos
 TON
 Cardano
 Quorum
 Avalanche
 Polkadot
 Base
 Near
 Scroll
 ZKSync
 Ethereum
 Binance Smart Chain
 Polygon
 Arbitrum
 Optimism (OP)
 Tron
 Solana
 Bitcoin
 Sui
 Aptos
 TON
 Cardano
 Quorum
 Avalanche
 Polkadot
 Base
 Near
 Scroll
 ZKSync

Кому нужен аудит

Общий процесс аудита один и тот же для 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. Команда быстро включилась в работу и выдала крутой результат!
Jezen Thomas
Jezen Thomas cofounder & CTO
MetaLamp усилила нашу команду в Cardano и Plutus и зарекомендовала себя как отличный партнер.
Pawel Kowalski
Pawel Kowalski Project Manager
Работали с командой над двумя блокчейн-проектами: работать с ними — одно удовольствие!
Александр Мазалецкий
Александр Мазалецкий CTO
Сотрудничаем больше года: профессиональная команда, сложные задачи выполняют в срок и качественно. Рекомендую.
Данила Честных
Данила Честных генеральный директор
У команды сильная экспертиза в обучении разработчиков: помогли нам и изменили видение курса.
Семён Чебурашкин
Семён Чебурашкин продакт-менеджер
Элитная front-end команда в Web3: топ-уровень экспертизы, сильный менеджмент и одно удовольствие от работы.
Brett Lindstrom
Brett Lindstrom founder
Во время работы меня впечатлила слаженность команды и готовность прийти на помощь в критические моменты проекта.
Bogdan Gavrilets
Bogdan Gavrilets CEO
MetaLamp превзошли наши ожидания! За счёт аналитики сделали процессы эффективнее, а результат прогнозируемым.
Damon Zwarich
Damon Zwarich CMO
Сотрудничество с MetaLamp — это абсолютный успех! Качество работы выдающееся, а их подход к менеджменту на высшем уровне.
WOWswap
WOWswap WOWswap Team
Опыт работы с MetaLamp был потрясающим! С точки зрения архитектора решений, они действительно воплощают мечты в реальность!
Roar Holte
Roar Holte Solutions Architect / CEO
У MetaLamp мне понравился их подход к работе. Прозрачные процессы, всегда в контакте, точные оценки и прогнозируемые риски.
Tatiana Sintina
Tatiana Sintina CEO
Помогли нам создать маркетплейс на Haskell. Команда быстро включилась в работу и выдала крутой результат!
Jezen Thomas
Jezen Thomas cofounder & CTO
MetaLamp усилила нашу команду в Cardano и Plutus и зарекомендовала себя как отличный партнер.
Pawel Kowalski
Pawel Kowalski Project Manager
Работали с командой над двумя блокчейн-проектами: работать с ними — одно удовольствие!
Александр Мазалецкий
Александр Мазалецкий CTO
Сотрудничаем больше года: профессиональная команда, сложные задачи выполняют в срок и качественно. Рекомендую.
Данила Честных
Данила Честных генеральный директор
У команды сильная экспертиза в обучении разработчиков: помогли нам и изменили видение курса.
Семён Чебурашкин
Семён Чебурашкин продакт-менеджер
Элитная front-end команда в Web3: топ-уровень экспертизы, сильный менеджмент и одно удовольствие от работы.
Brett Lindstrom
Brett Lindstrom founder
Во время работы меня впечатлила слаженность команды и готовность прийти на помощь в критические моменты проекта.
Bogdan Gavrilets
Bogdan Gavrilets CEO
MetaLamp превзошли наши ожидания! За счёт аналитики сделали процессы эффективнее, а результат прогнозируемым.
Damon Zwarich
Damon Zwarich CMO
Сотрудничество с MetaLamp — это абсолютный успех! Качество работы выдающееся, а их подход к менеджменту на высшем уровне.
WOWswap
WOWswap WOWswap Team
Опыт работы с MetaLamp был потрясающим! С точки зрения архитектора решений, они действительно воплощают мечты в реальность!
Roar Holte
Roar Holte Solutions Architect / CEO
У MetaLamp мне понравился их подход к работе. Прозрачные процессы, всегда в контакте, точные оценки и прогнозируемые риски.
Tatiana Sintina
Tatiana Sintina CEO

FAQ

Чем аудит смарт-контрактов отличается от обычного код-ревью?
Код-ревью проверяет, работает ли код так, как задумал разработчик. Аудит исходит из того, что у контракта есть «противник»: тот, кто специально ищет способ извлечь выгоду из ошибки. Смотрим на код иначе и другими инструментами.
Сколько длится аудит и сколько это стоит?
Зависит от объёма кода, количества внешних интеграций и модели угроз конкретного продукта. Называем сроки и стоимость после того, как посмотрим код и документацию: двести строк и две тысячи строк отличаются по трудоёмкости, поэтому фиксированных пакетов не продаём.
Вы аудируете не только EVM-сети?
Сами закрываем EVM-совместимые сети. Для остальных сетей и для более сложных случаев привлекаем партнёров: CertiK, Pessimistic или BugBlow, в зависимости от задачи и стека.
Что будет, если во время аудита найдут критичную уязвимость?
Сообщаем сразу, не дожидаясь финального отчёта. Если риск критичный, ждать нет смысла. Дальше даем рекомендации по исправлению и делаем повторную проверку после того, как правки внесены.
В чём разница между аудитом для DeFi-проекта и для корпоративного клиента?
Методология одна и та же. Разница в контексте: DeFi-проекту нужен публичный отчёт как сигнал доверия для комьюнити и бирж, корпоративному клиенту — конфиденциальное заключение для внутреннего риск-менеджмента и комплаенса.