Отчёт отвечает только за свой scope

  • Название проекта не задаёт scope: ищите точный commit, файлы, компоненты и exclusions.
  • Resolved или fixed относится к описанному исправлению и review-процедуре отчёта, а не ко всем будущим версиям.
  • Нулевое число Critical не означает нулевой риск: важны методология, открытые findings, архитектурные допущения и совпадение deployment.

Scope определяет, что именно проверяли

Scope — граница работы аудитора: repository, commit hash, директории или контракты, период проверки и явно исключённые части. Отчёт одного смарт-контракта не переносится автоматически на frontend, oracle, bridge, governance, deployment scripts и более новый commit. Даже соседний файл могли просмотреть только для контекста, но не включить в security assessment.

Карточка соответствия аудита текущему продукту
ПолеЧто выписатьСтоп-сигнал
ReportАудитор, дата, версия документаФайл без издателя или неизменяемой ссылки
ScopeRepository, commit, файлы, exclusionsТолько название проекта
MethodРучная проверка, тесты, допущения, severity modelМаркетинговое слово audited без метода
FindingsID, severity, impact, status, responseСкрыт полный список или нет статусов
Fix reviewPR/commit и что аудитор перепроверилResolved только со слов проекта
DeploymentChain, address, bytecode, implementationНельзя связать onchain code с reviewed commit
Карточка соответствия аудита текущему продукту
Поле
Report
Что выписать
Аудитор, дата, версия документа
Стоп-сигнал
Файл без издателя или неизменяемой ссылки
Поле
Scope
Что выписать
Repository, commit, файлы, exclusions
Стоп-сигнал
Только название проекта
Поле
Method
Что выписать
Ручная проверка, тесты, допущения, severity model
Стоп-сигнал
Маркетинговое слово audited без метода
Поле
Findings
Что выписать
ID, severity, impact, status, response
Стоп-сигнал
Скрыт полный список или нет статусов
Поле
Fix review
Что выписать
PR/commit и что аудитор перепроверил
Стоп-сигнал
Resolved только со слов проекта
Поле
Deployment
Что выписать
Chain, address, bytecode, implementation
Стоп-сигнал
Нельзя связать onchain code с reviewed commit

Severity описывает модель отчёта, status — судьбу конкретного finding

Как прочитать один finding

  • ID и заголовок: стабильная ссылка внутри отчёта;
  • условия: какие роли, state и последовательность нужны;
  • impact и likelihood: как аудитор получил severity;
  • recommendation: предложенная мера, а не единственный допустимый fix;
  • response: согласился ли проект и что изменил;
  • status: open, acknowledged, resolved или другой термин именно этого отчёта;
  • fix evidence: commit/PR и границы повторной проверки.

Severity нельзя механически сравнивать между фирмами: матрицы likelihood/impact и названия уровней различаются. Informational не означает бесполезный — там бывают privileged roles, centralization assumptions и эксплуатационные ограничения. Acknowledged обычно означает принятие риска без полного исправления, но точное значение следует брать из легенды конкретного report.

Что допустимо заключить из статуса
СтатусОсторожный выводЧего не утверждать
OpenОписанная проблема остаётся без принятого fixЧто exploit уже произошёл
AcknowledgedКоманда знает и сохранила риск/компромиссЧто риск устранён
Resolved/FixedУказанное изменение прошло заявленный reviewЧто любая deployment использует этот fix
Partially resolvedЧасть условия изменена, остаточный риск указан отдельноЧто finding можно вычеркнуть
Not applicableКонтекст или design изменился по объяснению отчётаЧто исходный анализ был ошибочным
Что допустимо заключить из статуса
Статус
Open
Осторожный вывод
Описанная проблема остаётся без принятого fix
Чего не утверждать
Что exploit уже произошёл
Статус
Acknowledged
Осторожный вывод
Команда знает и сохранила риск/компромисс
Чего не утверждать
Что риск устранён
Статус
Resolved/Fixed
Осторожный вывод
Указанное изменение прошло заявленный review
Чего не утверждать
Что любая deployment использует этот fix
Статус
Partially resolved
Осторожный вывод
Часть условия изменена, остаточный риск указан отдельно
Чего не утверждать
Что finding можно вычеркнуть
Статус
Not applicable
Осторожный вывод
Контекст или design изменился по объяснению отчёта
Чего не утверждать
Что исходный анализ был ошибочным

Reviewed commit нужно дотянуть до onchain bytecode

Source code verification отвечает на узкий вопрос: компилируется ли опубликованный source в bytecode, связанный с contract address. Она не доказывает корректность логики. Сопоставьте audit commit с verified source, compiler settings и deployed bytecode. Если используется прокси-контракт, отдельно найдите текущий implementation и upgrade authority на выбранном block: аудит старой реализации не покрывает новый target.

Путь от PDF до проверяемого deployment

  1. 1
    Зафиксировать документ

    Сохраните URL, автора, дату, версию и полный scope, а не только badge на сайте проекта.

  2. 2
    Проверить commit

    Откройте repository и убедитесь, что hash существует, а нужные contracts входят в scope.

  3. 3
    Собрать findings

    Выпишите High/Critical и важные Medium, privileged-role notes и все open/acknowledged статусы.

  4. 4
    Проверить fixes

    Сопоставьте каждый claimed fix с PR/commit и формулировкой fix review аудитора.

  5. 5
    Связать с сетью

    Установите chain, production address, verified bytecode и proxy implementation на текущем block.

Решение строится по остаточным рискам, а не по числу логотипов

Минимальная decision matrix перед взаимодействием
НаблюдениеРешениеЧто запросить
Scope и deployment совпадают, material findings закрытыПродолжить собственную оценку ролей и операцииАктуальный block/address и параметры подписи
Есть open High/CriticalОстановиться до объяснения и mitigationПлан исправления, ограничение exposure, новый review
Commit новее audited versionСчитать diff непровереннымDiff audit либо независимый анализ изменений
Proxy target сменилсяСтарый report не описывает текущую логику полностьюНовый implementation, upgrade event и audit scope
Отчёт недоступен, есть только badgeНе учитывать badge как evidenceПолный report с publisher и scope
Минимальная decision matrix перед взаимодействием
Наблюдение
Scope и deployment совпадают, material findings закрыты
Решение
Продолжить собственную оценку ролей и операции
Что запросить
Актуальный block/address и параметры подписи
Наблюдение
Есть open High/Critical
Решение
Остановиться до объяснения и mitigation
Что запросить
План исправления, ограничение exposure, новый review
Наблюдение
Commit новее audited version
Решение
Считать diff непроверенным
Что запросить
Diff audit либо независимый анализ изменений
Наблюдение
Proxy target сменился
Решение
Старый report не описывает текущую логику полностью
Что запросить
Новый implementation, upgrade event и audit scope
Наблюдение
Отчёт недоступен, есть только badge
Решение
Не учитывать badge как evidence
Что запросить
Полный report с publisher и scope

Перед операцией отдельно проверьте, что подписывает кошелёк: audited code не исправляет подменённый frontend, неверный chain или опасный approval. Если после инцидента проект ссылается на аудит, сохраните transaction hashes, addresses, implementation, report version и статус findings. Аудитор не становится службой возврата средств; recovery начинается с остановки новых подписей и точной фиксации расхождения между scope, fix и deployment.

Источники

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

  1. OpenZeppelin — What is a Smart Contract Audit OpenZeppelin · Проверено 20 августа 2026 г. в 09:21 GMT+5
  2. OpenZeppelin — Panoptic Audit OpenZeppelin · Проверено 20 августа 2026 г. в 09:21 GMT+5
  3. OpenZeppelin — Primitive Audit OpenZeppelin · Проверено 20 августа 2026 г. в 09:21 GMT+5
  4. Ethereum Foundation — Pectra System Contracts Bytecode Audit Ethereum Foundation / Sigma Prime · Проверено 20 августа 2026 г. в 09:21 GMT+5
  5. ethereum.org — Verifying smart contracts Ethereum Foundation community documentation · Проверено 20 августа 2026 г. в 09:21 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.