Как читать аудит смарт-контракта: версия, охват и исправления
Проверяем первичный отчёт аудитора, список контрактов, коммит, статусы замечаний и связь с развёрнутой версией, чтобы оценить смысл значка audited.
Сверены открытые первичные документы по механике и ограничениям. Кошелёк не подключался, действия в текущем интерфейсе и операции с реальными средствами не проверялись. Числа в примерах условные.
Начните с самого отчёта
Слово audited на сайте не раскрывает, что именно проверяли. Найдите публикацию у аудитора или в официальном репозитории проекта и сверьте дату, заказчика, версию и ссылки. Каталоги аудитов OpenZeppelin, например, различают версии, коммиты и охват проверок. Эти поля важнее рекламного значка.
Не ограничивайтесь первой страницей PDF. Ищите разделы scope, methodology, findings и limitations. Если доступен только пересказ в маркетинговом посте, полноценный отчёт ещё не проверен. Запишите отсутствие первичного документа как ограничение.
Сопоставьте охват с вашей операцией
Выпишите контракты и функции, которые относятся к планируемому действию. Отчёт по одной библиотеке не обязательно покрывает приложение, которое её использует. Аналогично аудит моста не автоматически охватывает сторонний агрегатор и его разрешения.
- Сверьте указанный коммит с проверяемой версией исходников.
- Уточните исключённые компоненты и внешние зависимости.
- Найдите административные допущения и экономические ограничения.
- Проверьте, есть ли отдельный разбор последующих обновлений.
Прочитайте статусы замечаний
Различайте найденную проблему, ответ команды и подтверждение исправления. Статусы resolved, acknowledged и accepted risk могут означать разные результаты. Определения ищите в самом отчёте; шкалы критичности аудиторов не полностью унифицированы.
Условный пример: все критические замечания исправлены, но право экстренного обновления остаётся у узкой группы администраторов. Это не обязательно ошибка кода, однако важная часть модели доверия. Другой пример: замечание отмечено исправленным только в новом коммите — нужно выяснить, именно он ли развёрнут в сети.
Как сформулировать честный вывод
Составьте короткую запись: кто проверял, когда, какую версию, какие важные вопросы остались и что неизвестно про действующее развёртывание. Для proxy отдельно проверьте текущую реализацию. Если связь с развёрнутым кодом не установлена, так и укажите.
Аудит снижает неопределённость в пределах своего охвата, но не гарантирует отсутствие уязвимостей, сохранность средств или правильную рыночную цену. Отчёт также не подтверждает подлинность текущего сайта. Перед подключением кошелька адрес сервиса проверяется самостоятельно. Цель чтения — понять границы проверенной работы и существенные допущения, а не собрать максимальное число логотипов аудиторов.
Что прочитать дальше
Как распознать фишинговый криптосайт до подключения кошелька