Кошелёк показывает вам «0xa9059cbb…» и ждёт подтверждения. Лаборатория переводит это в понятную фразу: какая функция вызывается и с какими аргументами. Рядом — ещё шесть инструментов анализа для вопросов, на которые вручную не ответишь.
Каждый инструмент здесь отвечает ровно на один вопрос — и сам говорит, на что ответить не может.
Вставьте calldata, четырёхбайтовый селектор или имя функции. Четыре байта могут совпасть с несколькими сигнатурами — иногда намеренно, — поэтому мы показываем не один результат, а все.
Современные транзакции возвращают четырёхбайтовую пользовательскую ошибку, которую никто не читает. Мы переводим её в настоящее сообщение и называем panic-код по имени вместо шестнадцатеричного числа.
Большинство ERC-20 — это OpenZeppelin плюс несколько десятков строк. Сначала мы вычитаем отпечатки библиотек; остаётся то, что владелец проекта действительно написал сам, — а изменения прячут именно там.
Переименование переменных и переформатирование файла ничего не скрывают — сравнение работает не по тексту, а по структуре токенов. Оно сообщает размер совпадения и никогда не говорит, кто у кого списал.
Инструмент идёт назад до трёх шагов, к первому источнику финансирования адреса, и показывает транзакцию, доказывающую каждый шаг. Близость — не преступление, и на странице это написано прямо.
Оба адреса приносите вы; никакого списка посередине нет, как нет и утверждения. Глубина ограничена тремя шагами: «в этих пределах пути не найдено» — верная фраза, а «пути не существует» — фраза, которую этот инструмент построить не может.
Список файлов разбираем мы, а сами файлы забирает с GitHub и анализирует локально ваш браузер — код не проходит через наши серверы. Только открытые репозитории: никаких заголовков авторизации не отправляется.
Сами инструменты (сканер, панели, рабочее пространство SAFI) пока работают на английском языке. Эти страницы объясняют всё по-русски — до того, как вы туда перейдёте.
Инструменту отслеживания легко превратиться в машину обвинений. Этот построен на отказе от такого превращения.
Один шаг между двумя адресами описывает сеть, а не людей. Любой кошелёк, выводивший средства с крупной биржи, находится в одном шаге от десятков тысяч адресов — среди которых неизбежно есть плохие.
Поэтому инструмент показывает транзакцию, доказывающую каждый шаг, и оставляет вывод вам. Он не называет адрес «мошенническим», потому что это суждение о намерении, а сеть намерений не записывает.
Четырёхбайтовый селектор может совпасть с несколькими сигнатурами, и такое совпадение иногда создают намеренно, чтобы обмануть беглого читателя. Поэтому мы показываем все совпадения: уверенно показать одно — ровно та ошибка, которой пользуется атакующий.
Поиск пути ограничен тремя шагами и определённым числом запросов. Когда мы ничего не находим, верная фраза звучит так: мы не нашли в этих пределах.
Разница между этими двумя фразами — это разница между инструментом, которому можно доверять, и инструментом, который говорит то, что вы хотите услышать.
Сырая оценка сходства двух ERC-20 по сути измеряет, насколько распространён OpenZeppelin. Сначала мы вычитаем отпечатки библиотек, чтобы результат говорил именно о коде, написанном для этого проекта.
Но даже тогда инструмент сообщает только размер совпадения. Кто у кого списал — вопрос, на который код не отвечает; на него отвечают даты, и читаете их вы.
Вставьте адрес контракта и посмотрите полномочия владельца, ликвидность и результат симуляции продажи — прежде чем рисковать. Небольшая плата за разовую проверку показывается до подписи, а в любой подписке проверки безлимитны.