Методология и оговорки
TokenIntel разделяет приоритизацию и вердикт. Сообщество голосует за то, что расследовать дальше. Голоса никогда не решают, является ли проект мошенничеством: итоговый вердикт выносит исследователь, опираясь на ончейн-доказательства, аудит контрактов и анализ кошельков.
Оценка риска
Взвешенная аддитивная модель, привязанная к доказательствам. Все веса положительны, и каждый начисленный балл должен опираться на доказательство; без доказательства балл не начисляется.
Сигнал, данные для которого не собраны, исключается из оценки и из её максимума и публикуется как НЕ ОЦЕНЁН, а не считается чистым. Модель задаёт всего 200 баллов, но ни один отчёт не оценивается по всем: каждый оценивается только по тем баллам, которые действительно удалось проверить, с приведением к 100. В каждом отчёте указано, какие сигналы проверены, а какие нет, поэтому проект никогда не выглядит безопаснее лишь потому, что мы не смогли проверить.
| Сигнал | Вес |
|---|---|
| Исходный код контракта не верифицирован | +15 |
| Прокси с неизвестными или централизованными правами обновления | +15 |
| Кошельки команды опустошены, получатели не идентифицированы | +18 |
| Функция вывода или опустошения для владельца | +12 |
| Скрытая эмиссия или подозрительный контроль предложения | +12 |
| Переводы на известный горячий кошелёк биржи | +10 |
| Крупные переводы на неидентифицированные адреса после сбора средств | +8 |
| Механизмы чёрного списка или заморозки | +8 |
| Права владельца не отозваны | +8 |
| Комиссия за перевод выше 5 процентов | +6 |
| Контракт продажи и токен развёрнуты одним кошельком | +4 |
| Ликвидность может быть изъята кошельком команды | +12 |
| Концентрированное распределение держателей | +8 |
| Слабая или непроверяемая публичная идентичность команды | +6 |
| Кошельки команды больше не удерживают существенную долю сборов | +6 |
| Нет публичного репозитория кода | +52 |
Модель риска версии 4. В каждом отчёте указана применённая версия.
Сигналы репозитория исходного кода
Оценивается всегда только одна сторона этого измерения, и обе стороны стоят 52 баллов, поэтому проект в любом случае измеряется одним и тем же максимумом. Проект без опубликованного репозитория получает все 52 баллов одним сигналом: ни один из 6 выводов ниже проверить нельзя, а неопубликованный код мог бы содержать любой из них незамеченным. Проект с репозиторием оценивается по этим 6 выводам — чистый репозиторий получает ноль из тех же 52 баллов, так что более низкую оценку зарабатывает именно открытость.
| Сигнал | Вес |
|---|---|
| Развёрнутый байт-код не совпадает с исходным кодом репозитория | +20 |
| Контракты отсутствуют в опубликованном репозитории | +10 |
| Репозиторий создан непосредственно перед сбором средств | +6 |
| История с одним участником или одноразовыми аккаунтами | +6 |
| Форк с удалённым указанием на оригинал | +6 |
| Нет тестов, CI и артефактов аудита | +4 |
Экстракторы для этих шести выводов ещё разрабатываются. Пока их нет, у проекта с репозиторием они фиксируются как НЕ ОЦЕНЁННЫЕ, а не оцениваются.
Уровни риска
Ограничения охвата
Известные ограничения процесса, а не выводы о проекте. Каждый отчёт повторяет только ограничения, которые не устранены собранными данными.
- Актуальное состояние владельца или администратора может быть недоступноhigh
Система запрашивает owner() и состояние EIP-1967. Ограничение остаётся активным только при сбое или невозможности декодировать обязательный результат.
- Проверенный код реализации может быть недоступенhigh
Система определяет адрес реализации и запрашивает код. Ограничение остаётся активным, если код не проверен или недоступен.
- Определение бирж основано на списке из девяти адресовhigh
Всё за пределами этих девяти горячих кошельков помечается как НЕИЗВЕСТНО, что завышает сигнал неотслеженных средств. Отсутствие совпадения означает «не опознано этим списком», а не «биржа не получала средств».
- Список кошельков команды — предположение конфигурацииmedium
Кошельки берутся из конфигурации, и ончейн никогда не доказывается, что это полный набор под контролем команды. Если есть другие, любая производная цифра занижена.
- Охват ограничен основной сетью Ethereumhigh
Межсетевая активность, карточные расчёты и другие сети невидимы для этого процесса. Итоги и любая доля средств могут быть существенно неверны, если этот объём реален.
Оговорки
- Отчёты описывают риск и доказательства, а не юридические выводы.
- Наблюдаемые поступления — это валовые успешные входящие переводы, а не проверенная чистая выручка.
- Суммы в долларах используют один задокументированный снимок цены, а не историческую цену каждой транзакции.
- Итоги, балансы, агрегация получателей и детерминированные сигналы рассчитываются по сохранённым доказательствам. Качественные сигналы оцениваются по приведённым доказательствам и соответствующим образом отмечаются в каждом отчёте.
- Сигнал, данные для которого не собраны, исключается из оценки и её максимума и публикуется как НЕ ОЦЕНЁН, а не считается чистым.
- НЕИЗВЕСТНЫЙ получатель не классифицирован, это не доказательство злого умысла.
- Нулевой баланс контракта продажи — ожидаемое конечное состояние после перевода средств на кошельки команды, и сам по себе он никогда не оценивается.
- Снимки данных сохраняются, чтобы каждый отчёт оставался воспроизводимым.
- Команды проектов могут присылать ответы или исправления.