TGViewer
Noobing Security Research Noobing Security Research @web3securityresearch · 278 subscribers
Post #20 173
Detecting Functional Bugs in Smart Contract through LLM-powered and Bug-Oriented Compose Analysis
Binbin Zhao, Xingshuang Lin, Yuan Tian, Saman Zonouz, Na Ruan, Jiliang Li, Raheem Beyah, Shouling Ji
2025

Разбор статьи ч.3

Подытоживая эту часть можно взглянуть на алгоритм на рисунке 1.
Сначала компилируются целевые смарт-контракты с проверками инвариантов. Затем выполняется фаззинг на этих смарт-контрактах. Когда фаззер активирует проверку инвариантов и обнаруживает несоответствие, он сигнализирует о наличии ошибки. В соответствии с результатами генерируется полный отчет об ошибках, в котором документируются все выявленные функциональные ошибки в смарт контрактах.

Погнали дальше

Оценка системы

Для оценки системы авторы отвечают на 4 ключевых вопроса:
1) Как двухагентная стратегия проектирования промптов влияет на производительность PromFuzz?
2) Какова точность PromFuzz в генерации инвариантных чекеров?
3) Насколько эффективен PromFuzz при обнаружении функциональных ошибок в смарт-контрактах?
4) Способен ли PromFuzz обнаружить функциональные ошибки нулевого дняв реальных смарт-контрактах?

Пару слов о датасете

Было создано 6 датасетов, которые покрывают разные категории багов. Источников послужил DeFiHackLabs, Web3bugs, GPTScan, а так же контракты реальных DeFi проектов.
1) Безбаговый датасет. Тут всё понятно, 303 контракта на 6 ЕВМ сетях
2) DeFi датасет с эксплойтами. 7 контрактов, которые подвергались реальным атакам и были успешно взломаны. 4 случая манипуляции ценой оракула, 2 неавторизованное поведение, 1 некорректный механизм контроля
3) Багованный датасет. 36 контрактов, где были найдены и подтверждены высокорисковые уязвимости на платформах типа Code4Arena, Immunefi. Содержат 10 функциональных багов, из которых 5 незащищенная логика рассчетов, 2 некорректный механизм контроля, 2 неавторизованное поведение, 1 манипуляция ценой оракула.
4) Синтетический с багами датасет. Специально добавлены баги в 44 контракта, всего 6 штук. 4 связаны с неавторизованным поведением, 2 с некорректным механизмом контроля
5) Датасет извлеченных критических переменных и ключевых операторов (те самые statement, которые я не понимаю как правильно перевести). 55 извлеченных переменных и ключевых операторов из 23 контрактов.
6) Датасет реальных DeFi проектов. 6 проектов, которые проходили публичный аудит во время написания статьи

Оценка двухагентной архитектуры
Велась по первому датасету. Сравнивалась с одноагентными архитектурами GPTScan и SMARTINV. Если коротко, то SMARTINV сильно проигрывает (построен на LLаMA-7b), а GPTScan держится по ложно-позитивным менее чем в проценте от PromFuzz архитектуры, оба построены на GPT-4-turbo.

Так же PromFuzz с двумя агентами сравнивали с PromFuzz где есть только аудитор. Аудитор в одиночку справился значительно хуже. В этом сравнении использовались датасеты 2, 3, 4.

Двухагентная версия достигает полноты (recall) 91.30% и F1 53.85%, обнаружив 21 верный баг и имея 34 ложных срабатывания при 2 пропущенных багах.

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

Оценка точности чекеров инвариантов
5й датасет.
Извлечение переменных - точность составила 100%.

Извлечение операторов — 83.33%, с одним ложным срабатыванием. Это ложное срабатывание связано со сложной бизнес-логикой в смарт-контрактах, где PromFuzz не смог различить несколько похожих действий в одном случае.

Эти критические переменные и операторы должны были бы дать 23 правильных проверяющих инварианта, но в итоге PromFuzz сгенерировал 22 верных, что соответствует точности 95.65%.

Оценка точности обнаружения функциональных багов
Сравнение PromFuzz с четырьмя готовыми инструментами: GPTScan, SMARTINV, ItyFuzz и SMARTIAN. Здесь проще посмотреть на рисунок 2. TP, FP, FN - это True Positive, False Positive и False Negative соответственно. PromFuzz достигает общей полноты (recall) 86.96% и F1 93.02%, обнаружив 20 верных багов, 0 ложных срабатываний и с 3 пропущенными багами.
  • ❤ 1
More from @web3securityresearch
  1. Sep 22, 2026Прочитал лекцию про атаки на память, оставлю слайды и здесь
  2. Sep 10, 2026Post #100
  3. Aug 27, 2026я бы рад писать короче, но тема очень широкая. Сегодня статья про HMAC-подписи записей аге…
  4. Aug 27, 2026Post #98
  5. Aug 18, 2026Post #97
  6. Aug 12, 2026Исследователи нашли первый подробно задокументированный, почти автономный, взлом государст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →