Перейти к содержимому
SaferICO SaferICOБезопасность смарт-контрактов
Playbook бесплатно · построение цепочек в тарифе AI Agents

Не что есть в вашем коде, а что из него можно использовать?

Сканер отвечает на вопрос «что не так в этом коде». Перед запуском вы задаёте другой: что из этого атакующий действительно сможет применить? Инструмент берёт находки сканирования и пытается выстроить из них работающий путь — и для каждого пути говорит, какая часть доказана, а какая является выводом.

21 цепочка атаки10 семейств атакСети не касается вовсеPlaybook открыт всем
//Что он охватывает

Десять семейств атак

Числа ниже измеряются по собственной таблице шаблонов симулятора в момент сборки этой страницы. Если бы семейство опустело, страница не продолжила бы его рекламировать, а упала бы при сборке.

Контроль доступа — 4 цепочки

Функция, выдающая полномочия, забывает проверить, кто её вызвал. Самое частое семейство и самое дешёвое в закрытии.

Reentrancy — 1 цепочка

Войти обратно внутрь до того, как контракт закончил записывать в свою книгу то, что вы получили.

Пути через флеш-займы — 2 цепочки

Атаки, не требующие капитала: капитал берётся в долг и возвращается внутри одной транзакции.

Манипуляция оракулом — 1 цепочка

Контракт спрашивает у кого-то, сколько что-то стоит, и этот ответ становится выбираемым.

Манипуляция ценой — 2 цепочки

Раскачать рынок, по которому контракт считает цену, или встать перед и за тем, кто эту цену сдвинет.

Подпись и повтор — 1 цепочка

Подпись, которая должна была сработать один раз, срабатывает несколько раз, в нескольких сетях или для нескольких операций.

Обновляемость — 1 цепочка

Код за адресом — уже не тот код, который проверяли. Каждая находка отчёта относилась к коду, которого там больше нет.

Повышение полномочий — 3 цепочки

Путь от обычного вызывающего к владельцу и от владельца к чему-то большему, чем владелец.

Бизнес-логика — 4 цепочки

Каждая строка верна, а правило, которое они складывают, — нет. Здесь статический анализ слабее всего, а человек сильнее всего.

Экономика / DeFi — 2 цепочки

Ничего не сломано. Стимулы просто платят атакующему больше, чем вам.

Сами инструменты (сканер, панели, рабочее пространство SAFI) пока работают на английском языке. Эти страницы объясняют всё по-русски — до того, как вы туда перейдёте.

Как это работает

Три шага: сканирование в вашем браузере, отправка только находок и явно указанный уровень доказанности для каждого звена.

🛑 Здесь ничто не касается сети

Исходный код — это либо текст, который вставили вы, либо верифицированный код, прочитанный из обозревателя; анализ выполняется в этом браузере. Ни одна транзакция не собирается, не подписывается и не отправляется.

Страница всё равно просит подтвердить, что вы имеете на это право. Сама по себе эта галочка ничего не доказывает — но она фиксирует намерение, и именно в этом разница между инструментом, который по запросу рисует, как атаковать чужой контракт, и этим инструментом.

01Сначала сканирование, потом цепочка

Движок с 201 детектором работает в вашем браузере, и ваш исходный код оттуда не уходит. На сервер для построения цепочек уходит только структура, порождённая сканированием: идентификаторы детекторов, таблица функций и флаги контроля доступа.

Верить нам на слово для этого не нужно — откройте вкладку сети в браузере и посмотрите на тело исходящего запроса.

02Максимальный вердикт, которого он может достичь, — «Потенциально»

Это намеренно поставленный потолок, а не недоделка, которую забыли убрать. По чтению исходного кода можно сказать, что путь открыт; нельзя сказать, что по нему прошли.

  • Подтверждено — доказательство концепции запущено на изолированной копии и сработало. Этот инструмент ничего не запускает, поэтому такого вердикта не выносит никогда.
  • Потенциально — каждое необходимое предусловие выполняется чем-то, что можно показать в вашем коде. Путь открыт; о том, что по нему кто-то прошёл, речи нет.
  • Не подтверждено — предусловия соблюдены, но цепочка в значительной мере опирается на структурный вывод. Считайте это подсказкой для человеческого взгляда.

03Цепочка не сообщается, пока не выполнены предусловия

Каждая цепочка в playbook сама объявляет, какие условия должны быть истинны, прежде чем о ней сообщат применительно к вашему коду. Если «контракт выполняет delegatecall» и «на адрес назначения может влиять вызывающий» не выполняются оба сразу, эта цепочка в ваш отчёт не попадёт.

Одна ложная критическая находка стоит больше доверия, чем зарабатывают десять верных средних. Продукт настроен по этой фразе.

//Вопросы

Перед запуском симулятора

Чем он отличается от сканера?
Сканер перечисляет, а этот инструмент соединяет. Сканер говорит: «эта функция не проверяет владельца». Этот говорит: «эта функция не проверяет владельца и может записать вот эту переменную, а вместе этого достаточно, чтобы перехватить владение», — и показывает доказательство для обоих звеньев.
Нужно ли платить за playbook?
Нет. Все 21 цепочка вместе с предусловиями и способами закрытия открыты на странице для всех. Платным является только построение этих цепочек применительно к вашему контракту: тариф AI Agents и 5 кредитов.
Отправляется ли нам ваш исходный код?
Нет. Сканирование выполняется в вашем браузере. На сервер уходит только результат сканирования — структурные данные вроде идентификаторов детекторов и таблицы функций. Сам исходный код эту машину не покидает.
Можно ли протестировать неверифицированный адрес?
Нет. В неверифицированном байткоде нет функций, которые можно прочитать, а значит, нет и материала для построения цепочки. Либо вставьте исходный код, либо верифицируйте контракт в обозревателе.

Проверьте контракт до того, как отправите деньги

Вставьте адрес контракта и посмотрите полномочия владельца, ликвидность и результат симуляции продажи — прежде чем рисковать. Небольшая плата за разовую проверку показывается до подписи, а в любой подписке проверки безлимитны.