Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
aether — Фреймворк для анализа безопасности смарт-контрактов с помощью AI и генерации PoC | Kitploit
Инструменты/GitHubGitHub/l33tdawg/aether
Статический анализФреймворки для эксплойтовАнализ уязвимостейФаззингКриптографияТестирование на ПроникновениеАнализ Бинарных ФайловМашинное ОбучениеОбучение и ОбразованиеБезопасность ИИ
GitHubl33tdawg/aether

aether

65113 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Фреймворк для анализа безопасности смарт-контрактов с помощью AI и генерации PoC

Репозиторий

Aether v6.0 — Фреймворк анализа безопасности смарт-контрактов

Версия 6.0 | Что нового в v6.0 | Журнал изменений

Aether — это фреймворк на Python для анализа смарт-контрактов Solidity, генерации отчетов об уязвимостях, создания proof-of-concept (PoC) тестов на основе Foundry и проверки эксплойтов на форках мейннета. Он объединяет парсинг AST Solidity, анализ потоков данных (taint analysis), анализ графа потока управления, межконтрактный анализ, символьное выполнение Halmos, более 180 паттерн-ориентированных статических детекторов, коллаборативный мультиагентный конвейер LLM (GPT/Gemini/Claude) с общей институциональной памятью SAGE, 14 протокольных архетипов, базу знаний из более 75 эксплойтов, калиброванное с помощью ML обнаружение, обнаружение особенностей токенов, извлечение инвариантов, разрешение контекста связанных контрактов и продвинутую контекстно-зависимую фильтрацию — все в едином полноэкранном TUI.

Что нового в v6.0

Коллаборативный конвейер агентов — Конвейер глубокого анализа преобразуется из 5 независимых проходов в 5 совместно работающих агентов, обменивающихся структурированными знаниями через институциональную память SAGE:

  • Общая память сессии — Каждый проход сохраняет находки, отклонения и подтвержденные защиты в сессии SAGE для каждого аудита. Последующие проходы получают «Интеллект предыдущего прохода» вместо плоских текстовых сводок.
  • Отклонения как первоклассные записи — Когда проход 3 отклоняет проблему (например, «реентрантность защищена модификатором nonReentrant»), проход 5 не будет повторно помечать ее. Это напрямую устраняет основной источник дублирующихся находок.
  • Механизм оспаривания — Последующие проходы могут отменять предыдущие отклонения, но должны предоставить НОВЫЕ доказательства. «Проход 3 не увидел путь коллбэка через эту другую функцию» — допустимо. «Я не согласен» — нет.
  • Межпроходное подтверждение — Когда несколько проходов независимо подтверждают находку, уверенность повышается на 15%. Находки, подтвержденные между проходами, получают приоритет в отчетах.
  • SAGE обязателен — Институциональная память теперь обязательна, а не опциональна. Нет SAGE = нет аудита. Запустите docker compose up -d, чтобы начать.

Что нового в v5.0

Институциональная память SAGE — Aether теперь учится на каждом аудите, снижая количество ложных срабатываний и улучшая качество находок со временем:

  • Предварительно обученная база знаний — Поставляется с 170 институциональными воспоминаниями: 75 шаблонов эксплойтов, 63 контрольных списка протокольных архетипов, 12 категорий особенностей токенов, 20 тщательно отобранных исторических эксплойтов (DAO, Wormhole, Euler, Ronin, Curve и другие)
  • Интеграция с конвейером — SAGE вспоминает исторические находки и шаблоны эксплойтов в проходах 3 и 5 глубокого анализа; сохраняет полученные знания после выполнения конвейера для дальнейшего использования
  • Обратная связь — Подтвержденные находки сохраняются как факты с высокой степенью достоверности; отклоненные находки (ложные срабатывания) сохраняются, чтобы будущие аудиты их избегали. Результаты AccuracyTracker автоматически передаются в SAGE
  • Конвейер проверки — Новый этап -1: проверка известных ложных срабатываний SAGE отфильтровывает находки, соответствующие ранее отклоненным шаблонам, до запуска любых других проверок
  • Синхронизация точности детекторов — SageFeedbackManager.sync_detector_accuracy() определяет детекторы с высокой/низкой производительностью и сохраняет рекомендации «что делать/не делать»
  • Автоматическое заполнение при запуске — Первый запуск с работающим Docker SAGE автоматически заполняет предварительно обученную базу знаний. С учетом версии: пропускает, если уже заполнено
  • Интеграция с TUI — Статус SAGE ВКЛ/ВЫКЛ с количеством воспоминаний отображается в CostBar
  • Развертывание в Docker — docker compose up -d запускает SAGE; настройка через sage_enabled/sage_url в ~/.aether/config.yaml
  • Плавная деградация — Недоступность SAGE никогда не нарушает функциональность аудита

Авторы: Благодарим @sashavdv за исправление жестко заданных переменных пути (PR #1) и @pro258b за выявление отсутствующего метода validate_anthropic_key() (PR #2).

Быстрый старт SAGE

SAGE — это система постоянной институциональной памяти, работающая на основе консенсуса BFT. Полную документацию см. в проекте SAGE.```bash

Install SAGE Python SDK

pip install sage-agent-sdk

Start SAGE (Docker required)

docker compose up -d

Run Aether — SAGE auto-seeds on first launch

python aether.py

Regenerate seed fixtures after updating knowledge bases (dev only)

python -c "from core.sage_seeder import SageSeeder; SageSeeder.generate_seed_fixtures()"

root@kitploit:~
### Как SAGE улучшает аудит```
Audit 1 → Findings + FPs → Record outcomes in SAGE
                                    ↓
Audit 2 → SAGE recalls FP patterns → Fewer false positives
                                    ↓
Audit 3 → Richer institutional context → Better severity calibration
                                    ↓
Audit N → Institutional expert-level knowledge → Bug-bounty-quality findings

Что нового в v4.7

Автоматическое выполнение PoC — Созданные PoC для Foundry теперь автоматически компилируются и выполняются:

  • Интеграция forge test --json сразу запускает PoC после компиляции
  • Разбор JSON-результатов с помощью dataclass PoCTestResult для структурированного отчета о прохождении/неудаче/ошибках
  • Поддержка fork-режима для проверки эксплойтов на основном сетевом состоянии
  • Новая фаза POC_TESTING в JobManager для отслеживания прогресса в реальном времени в TUI

Символическое выполнение Halmos — Формальная верификация с помощью символического выполнения:

  • HalmosRunner для выполнения символических тестов Halmos на основе сгенерированных свойств
  • HalmosPropertyGenerator для автоматической генерации свойств верификации из извлечённых инвариантов
  • Узел пайплайна HalmosSymbolicNode, интегрированный на этапе валидации Stage 1.95
  • Опции конфигурации: enable_symbolic_verification, halmos_timeout
  • Корректное ухудшение функциональности, если Halmos не установлен — пропускает символическую верификацию без ошибок

Анализ графа потоков управления — Понимание потока управления на уровне компилятора:

  • Dataclass BasicBlock, CFGEdge, ControlFlowGraph в solidity_ast.py
  • build_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm() для структурного анализа
  • Разбор блоков ассемблера с помощью parse_assembly_block() для поддержки встроенного ассемблера
  • Распространение помеченных данных с учётом ветвлений в анализаторе помеченных данных для анализа, чувствительного к путям
  • Контекст CFG внедряется в глубокий анализ Pass 2 вместе с данными помеченных данных

Цикл обратной связи машинного обучения — Калибровка на основе исторических результатов:

  • AccuracyTracker.record_finding_outcome() для отслеживания результатов отправки и заработка вознаграждений
  • get_detector_accuracy() и get_detector_weights() для статистики производительности по каждому детектору
  • Dataclass DetectorStats, отслеживающий истинные/ложные срабатывания и историческую точность
  • Корректировка весов доверия в EnhancedVulnerabilityDetector на основе истории работы детектора
  • Калибровка серьёзности на основе исторических данных, внедрённая в глубокий анализ Pass 5

Контекст связанных контрактов — Анализ LLM теперь видит полный исходный код зависимостей:

  • RelatedContractResolver автоматически обнаруживает родительские контракты, интерфейсы, библиотеки и контракты зависимостей
  • Режим проекта использует анализ взаимосвязей между контрактами; режим одиночного файла анализирует операторы импорта
  • Система бюджета на проход: 200K символов для проходов Gemini Flash, 100K для Claude, 50K для GPT
  • Стандартные библиотеки (@openzeppelin, solmate, solady) сводятся к интерфейсам для экономии бюджета
  • Аудит одиночных файлов автоматически обнаруживает соседние .sol-файлы для контекста

Очистка технического долга — Удалено 8 500 строк мёртвого кода:

  • Удалены: ai_ensemble.py, audit_engine.py, fork_verifier.py
  • Удалены все ссылки на ai_ensemble из CLI, аудитора, экранов TUI, генератора отчётов
  • Удалён slither_project_cache из менеджера базы данных
  • Удалены заглушки формальной верификации из улучшенного движка аудита

Что нового в v4.0

Разбор AST Solidity — Aether v4.0 добавляет анализ кода с поддержкой компилятора через py-solc-x, выходя за рамки статического анализа на основе регулярных выражений:

  • Полная интеграция solc --ast-json для правильного разрешения наследования, видимости функций, макета хранилища с номерами слотов и отслеживания чтения/записи переменных состояния для каждой функции
  • Корректный откат на регулярные выражения при сбое компиляции (отсутствующие импорты, неверная версия компилятора)
  • Структурная сводка AST автоматически подаётся в пайплайн глубокого анализа LLM для лучшего понимания протокола

Движок анализа помеченных данных — Отслеживает контролируемые пользователем входные данные через контракты для выявления опасных потоков данных:

  • 8 типов источников помеченных данных: параметры функции, msg.sender, msg.value, calldata, возвращаемые значения внешних вызовов, block.timestamp, block.number, tx.origin
  • 12 типов опасных стоков: delegatecall, selfdestruct, внешние вызовы, переводы ETH, запись в хранилище, индексация массивов, деление на ноль и другие
  • Обнаружение очистителей: распознаёт проверки границ require, модификаторы контроля доступа, условные откаты, зажатие Math.min/max, SafeCast
  • Межконтрактное отслеживание помеченных данных через несколько файлов
  • Интегрировано в пайплайн валидации (Stage 1.85) для подтверждения/опровержения находок с учётом помеченных данных

Межконтрактный анализ (Pass 3.5) — Новый проход глубокого анализа, нацеленный на уязвимости нескольких контрактов:

  • Анализатор взаимосвязей между контрактами: обнаруживает наследование, вызовы интерфейсов, delegatecall, staticcall, отношения типизированных переменных состояния
  • Группировка связанных контрактов с помощью поиска объединения с определением границ доверия
  • Выделенный проход LLM, анализирующий: нарушения границ доверия, согласованность состояния между контрактами, повторное вхождение между контрактами, соответствие интерфейсам, взаимодействие при обновлении, повышение привилегий
  • Контекст межконтрактного анализа также подаётся в Pass 4 для осведомлённости о кросс-функциональности

База данных особенностей токенов — 12 категорий нестандартного поведения ERC-20, вызывающих реальные эксплойты:

Интегрирована в пайплайн статического обнаружения и контрольные списки архетипов.

Улучшенный движок точности — Расширенное обнаружение уязвимостей округления и точности:

  • Обнаружение инфляции долей / атаки первого вкладчика для хранилищ ERC-4626, пулов кредитования, стейкинга
  • Анализ направления округления — депозиты должны округляться ВНИЗ, выводы — ВВЕРХ
  • Отслеживание усечения при делении — перехватывает усечённые переменные ставок, позже используемые в умножении
  • Обнаружение эксплуатации пыли — округление до нуля позволяет бесплатные операции
  • Переполнение аккумулятора — оценка риска переполнения аккумулятора вознаграждений

Генерация работоспособных PoC — Созданные тесты Foundry теперь действительно компилируются и выполняются:

  • Библиотека mock-контрактов: MockERC20, MockOracle, MockWETH, MockFlashLoanProvider
  • Интеллектуальный генератор setUp(): извлекает параметры конструктора, развёртывает заглушки, обрабатывает обновляемые контракты, чеканит токены, устанавливает разрешения
  • Максимальное количество попыток компиляции увеличено с 3 до 5
  • Промпты LLM включают документацию по API заглушек и рекомендуемый setUp

Улучшения пайплайна LLM:

  • Примеры с несколькими кадрами в Pass 3, 4, 5 — реальные примеры уязвимостей + ложных срабатываний из базы знаний эксплойтов
  • Калибровка серьёзности — конкретные пороги, привязанные к финансовому влиянию (Критический >$1M, Высокий >$100K, Средний >$10K)
  • Принудительное применение цепочки мыслей — обязательное 5-этапное рассуждение перед выводом JSON
  • Ротация провайдеров — Gemini Flash для дешёвых проходов, Anthropic Claude для рассуждений, OpenAI GPT для разнообразия
  • Ансамбль ИИ удалён — ансамбль из 6 агентов (6x стоимость, худший контекст) заменён ротацией провайдеров внутри структурированного пайплайна

Что нового в v3.5

Движок глубокого анализа — Aether v3.5 фундаментально меняет способ поиска уязвимостей инструментом, переходя от одноразового вызова LLM с формулировкой «найди ошибки» к структурированному 6-проходному пайплайну, который отражает подход профессиональных аудиторов к анализу кода: сначала понять, затем систематически атаковать.

Движок глубокого анализа (6-проходный пайплайн LLM)

Вместо отправки всего контракта LLM с одним промптом, Aether теперь выполняет шесть последовательных аналитических проходов с накопленным контекстом:

Проходы 1-2 кешируются по хешу содержимого контракта, поэтому повторные аудиты пропускают фазу понимания. Каждый последующий проход получает весь предыдущий контекст, создавая комплексную модель атаки. Управляется флагом AETHER_DEEP_ANALYSIS=1 (включён по умолчанию); в случае сбоя возвращается к одноразовому подходу.

Система архетипов протоколов

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

Всего 10 архетипов, каждый с 3-7 специфическими элементами контрольного списка, основанными на реальных эксплойтах.

База знаний эксплойтов (50+ паттернов)

Структурированная база данных из 50+ категоризированных реальных паттернов эксплойтов заменила предыдущий статический список из 10 паттернов:

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

Движок инвариантов

Автоматически извлекает инварианты протокола из трёх источников:

  1. Теги NatSpec @invariant в комментариях контракта
  2. Инварианты, обнаруженные LLM в Pass 1 глубокого анализа
  3. Общие инварианты, обнаруженные по шаблонам (сохранение баланса, постоянный продукт AMM, коэффициенты обеспечения и т.д.)

Генерирует наборы тестов Foundry invariant_*(), которые служат облегчёнными доказательствами формальной верификации — неудачный инвариантный тест доказывает, что ошибка реальна.

Исправления пайплайна

  • Калибровка серьёзности с учётом контекста — больше не снижает безоговорочно division_by_zero, integer_underflow и т.д. до низкого. Теперь проверяет, находится ли находка в блоке unchecked{}, рядом с переводами стоимости, в расчётах цены или в контексте оракула, перед принятием решения
  • Исправление шлюза валидации — находки со статусом "pending" теперь передаются на анализ LLM (ранее проходили только "validated", что приводило к молчаливому отбрасыванию многих реальных находок)
  • Штраф за уверенность с учётом специализации — находки одного агента от специалиста в его области (например, AnthropicReasoningSpecialist, обнаруживший сложную логическую ошибку) получают штраф только -0.05 вместо -0.15
  • Исправление дедупликации по корзинам строк — удалено произвольное группирование (line // 10) * 10, которое разделяло находки, расположенные в 2 строках друг от друга, в разные группы
  • Интеграция DeFi детектора — DeFiVulnerabilityDetector (двухэтапный анализ наличия/отсутствия) теперь работает в основном улучшенном движке аудита, а не только в пайплайне потоковой обработки

Что нового в v3.0

Полностью встроенный текстовый TUI — Aether v3.0 представляет собой постоянное полноэкранное приложение, которое никогда не переключается на сырой терминал. Каждая операция — аудит, генерация PoC, генерация отчёта, выбор области из GitHub, настройка конфигурации — выполняется полностью внутри TUI:

  • Нулевое количество вызовов app.suspend() — TUI никогда не исчезает, нет резких переключений терминала
  • Фоновые задания для всего — локальные аудиты, аудиты GitHub, генерация PoC и генерация отчётов выполняются как потоки-демоны с потоковым выводом в реальном времени
  • Таблица активных заданий — представление в стиле htop всех запущенных/завершённых заданий с состоянием в реальном времени, прогрессом фазы, количеством находок, стоимостью и затраченным временем
  • Детализация по заданию — нажмите Enter на любом задании, чтобы увидеть прокручиваемый вывод в реальном времени, индикатор прогресса фазы и метаданные
  • Параллельные операции — запускайте несколько аудитов, генераций PoC и отчётов одновременно; все они видны и отслеживаемы
  • Диалог выбора контракта — фильтруемый, почти полноэкранный множественный выбор, заменяющий старый селектор на curses. Space для переключения, a/n для всех/ни одного, ввод для фильтрации, цветовая кодировка ранее проверенных контрактов
  • Встроенный процесс аудита GitHub — клонирование, обнаружение, выбор контрактов и запуск аудитов без выхода из TUI. Управление областью (продолжить, повторный аудит, новая область) через нативные диалоги Textual
  • Встроенные настройки — конфигурация ключей API и выбор модели через TextInputDialog и SelectDialog, без внешнего мастера настройки
  • Панель стоимости сессии — отслеживание стоимости LLM в реальном времени по провайдерам (OpenAI, Gemini, Anthropic)
  • Управление с клавиатуры — n Новый аудит, r Продолжить, h История, PoCs, Отчёты, Загрузить, Настройки, Выход

Четыре типа фоновых заданий: Все тяжелые операции выполняются как фоновые потоки-демоны через AuditRunner, вывод захватывается ThreadDemuxWriter и виден в JobDetailScreen:

Тип заданияОписание
localАудит одного или нескольких контрактов параллельно
github

Поддержка трёх провайдеров LLM: OpenAI (GPT-5/5.3), Google Gemini (2.5/3.0) и Anthropic Claude (Sonnet 4.5/Opus 4.6) для максимальной гибкости и отказоустойчивости.

Улучшенная генерация PoC: Анализ контрактов на основе AST, итеративные исправления компиляции и промышленные промпты LLM, генерирующие эксплойты, пригодные для отправки в программы вознаграждений за ошибки.

Продвинутая фильтрация ложных срабатываний: Многоэтапная валидация снижает количество ложных срабатываний с 66% до ~20-25%, повышая точность с 33% до 75-80%:

  • Обнаружение скриптов — скрипты развёртывания (script/, .s.sol, forge-std/Script.sol) автоматически исключаются из анализа уязвимостей
  • Маркеры контекста файлов — промпты LLM включают метки [PRODUCTION]/[DEPLOYMENT SCRIPT], чтобы модели сосредотачивались на производственном коде
  • Динамическое обнаружение модификаторов — пользовательские модификаторы контроля доступа (например, onlyDistributor, authorized) извлекаются из исходного кода контракта и распознаются наряду с жёстко заданными шаблонами
  • Дедупликация в области функции — дублирующиеся находки в одной функции объединяются вместо использования хрупкой близости номеров строк
  • Обнаружение атомарных конструкторов — развёртывание и инициализация в одном конструкторе распознаются как защищённые от фронтраннинга
  • Обнаружение управления (параметры, защищённые только owner/governor)
  • Анализ развёртывания (проверяет, что пути кода действительно используются в производстве)
  • Проверки встроенной защиты (автоматическая защита Solidity 0.8+, SafeMath)
  • Валидация LLM с учётом управления с контрольным списком из 18 шаблонов
  • Отслеживание точности с результатами отправки и доходами от вознаграждений
  • Умное кеширование для двукратного ускорения повторного анализа

Интеграция базы данных уязвимостей Move: Паттерны из 128 критических/высоких находок из 77 аудитов, адаптированные для Solidity/EVM:

  • Бизнес-логика, управление состоянием, несоответствие данных, централизация, проблемы с циклами и расширенная валидация входных данных

Быстрый старт

1. Настройка```bash

python setup.py # Interactive installer (recommended)

root@kitploit:~
### 2. Запуск Aether```bash
python aether.py         # Launches the full-screen Textual TUI

Вот и всё. TUI проведёт вас через всё с помощью сочетаний клавиш и модальных диалогов.


Требования

  • Python 3.11+ (протестировано с 3.12.8)
  • Node.js 22+ (для проектов на основе Hardhat/npm)
  • Foundry (forge/anvil) в PATH для генерации и проверки PoC
  • solc-select для нескольких версий компилятора Solidity
  • py-solc-x (опционально) для разбора AST Solidity — при недоступности используется анализ регулярными выражениями
  • Ключи API для функций LLM:
    • OPENAI_API_KEY (для моделей GPT)
    • GEMINI_API_KEY (для моделей Gemini)
    • ANTHROPIC_API_KEY (для моделей Claude)
    • ETHERSCAN_API_KEY (опционально, для получения проверенных контрактов)

Ручная установка

Если вы предпочитаете ручную установку:```bash

Foundry

curl -L https://foundry.paradigm.xyz | bash && foundryup export PATH="$PATH:$HOME/.foundry/bin"

solc-select

pip install solc-select solc-select install 0.4.26 0.8.0 0.8.19 0.8.20 latest

Python dependencies

python -m venv venv && source venv/bin/activate pip install -r requirements.txt

root@kitploit:~
## Конфигурация

Мастер установки (`python setup.py`) обрабатывает все. Вы также можете настроить из TUI через `s` (Настройки):

- **Настройка API-ключей** — последовательные запросы для ключей OpenAI, Gemini, Anthropic, Etherscan с маскированными текущими значениями
- **Настройка моделей** — выбор моделей для каждого провайдера из доступных опций
- **Полный мастер** — запускает настройку API-ключей, затем выбор моделей
- **Настройки сортировки** — настройка порогов серьезности, уровней достоверности, максимального количества результатов

Или укажите переменные окружения напрямую:```bash
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...

Конфигурация хранится в ~/.aether/config.yaml.

Расположение баз данных:

  • Результаты движка: ~/.aether/aetheraudit.db
  • Рабочий процесс аудита GitHub: ~/.aether/aether_github_audit.db

Руководство по TUI

Все взаимодействие осуществляется с помощью сочетаний клавиш на главном экране:

n — Новый аудит

Многоэтапный мастер с тремя типами источников:

Локальный файл или каталог:

  1. Выберите путь через PathDialog
  2. Если это каталог, выберите контракты через CheckboxDialog
  3. Выберите функции (Enhanced, LLM Validation, Foundry PoC, Enhanced Reports)
  4. Укажите выходной каталог
  5. Подтвердите и запустите как фоновую задачу(и)

URL GitHub:

  1. Введите URL репозитория
  2. Aether клонирует репозиторий и обнаруживает контракты (прогресс отображается встроенно)
  3. Если существуют предыдущие области, выберите: продолжить, провести повторный аудит или создать новую область
  4. Выберите контракты через ContractSelectorDialog (фильтруемый, пробел для переключения, a/n для всех/ни одного)
  5. Аудит запускается как фоновая задача — отображается в таблице задач

URL или адрес блокчейн-обозревателя:

  1. Введите адрес или URL обозревателя
  2. Aether получает проверенный исходный код
  3. Продолжите выбор функций и выходного каталога

r — Возобновить аудит

Таблица всех выполняемых аудитов GitHub с именем проекта, областью, прогрессом (N/M контрактов) и временем последнего обновления. Выберите один для проверки ожидающих контрактов и запуска как фоновой задачи.

h — История аудитов

Единый просмотр всех прошлых аудитов из обеих баз данных (локальная + GitHub). Выберите любую запись для подменю:

  • Просмотр деталей — разбивка по областям с прогрессом и статусом
  • Создание PoC — переход к мастеру PoC с предварительно выбранным проектом
  • Повторный аудит — выберите контракты через ContractSelectorDialog, запустите как фоновую задачу

p — Создание PoC

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

o — Отчеты

Выберите проект, область и формат (markdown/json/html/all). Генерация отчета выполняется как фоновая задача.

f — Получить контракт

Выберите сеть из 10+ поддерживаемых цепочек, введите адрес или вставьте URL обозревателя, получите проверенный исходный код и при необходимости сразу же проведите аудит.

s — Настройки

  • Запустить полный мастер настройки — ключи API, затем выбор модели, все встроенно
  • Просмотр текущей конфигурации — форматированное отображение всех настроек
  • Перенастроить ключи API — запросы TextInputDialog с маскированными текущими значениями
  • Перенастроить выбор моделей — SelectDialog для каждого провайдера
  • Настройки триажа — серьезность, порог уверенности, максимальное количество находок
  • Очистить данные — удалить локальную БД аудитов, БД аудитов GitHub, кеш анализа или все сразу (с подтверждением)

Enter — Детали задачи

Нажмите Enter на любой строке в таблице задач, чтобы увидеть:

  • Живой прокручиваемый вывод лога (обновляется каждую секунду)
  • Индикатор прогресса фазы
  • Метаданные задачи (тип, цель, статус, стоимость, прошедшее время)

q — Выход

Выход из TUI. Если задачи выполняются, запрашивает подтверждение.


Область применения и возможности

  • Разбор AST Solidity — Анализ кода с поддержкой компилятора через py-solc-x для правильного разрешения наследования, видимости функций, размещения хранилища и отслеживания чтения/записи переменных состояния; корректный откат на регулярные выражения
  • Анализ графа потока управления — build_cfg() создает базовые блоки с деревьями доминаторов и обнаружением заголовков циклов; разбор блоков ассемблера; контекст CFG передается в глубокий анализ и распространение заражения
  • Движок анализа заражения — Отслеживает пользовательские входные данные (8 типов источников) через контракты к 12 опасным типам приемников с обнаружением очистителей, межконтрактным отслеживанием и распространением CFG с учетом ветвлений
  • Межконтрактный анализ — Анализатор межконтрактных отношений с обнаружением границ доверия, группировкой union-find, выделенным проходом LLM (Pass 3.5) для уязвимостей между несколькими контрактами и RelatedContractResolver для контекста зависимостей
  • Движок глубокого анализа — Конвейер LLM из 6 проходов плюс Pass 3.5 (межконтрактный): понимание → картирование поверхности атаки → проверка инвариантов → межконтрактный анализ → межфункциональный анализ → моделирование противника → граничные случаи; выбор уровня модели для каждого прохода, кеширование, примеры с несколькими примерами, принудительная цепочка мыслей, контекст CFG в Pass 2, калибровка серьезности на основе ML в Pass 5, контекст связанных контрактов для каждого прохода
  • Символическое выполнение Halmos — HalmosRunner + HalmosPropertyGenerator для формальной верификации инвариантов; интегрировано на этапе валидации 1.95; корректная деградация, если Halmos не установлен
  • Цикл обратной связи ML — AccuracyTracker записывает результаты отправки и генерирует веса уверенности для каждого детектора; калибровка серьезности на основе исторических данных внедряется в глубокий анализ

Выходные каталоги

  • ./output/ — Корень общего вывода
  • ./output/reports/ — Сгенерированные отчеты
  • ./output/pocs/ — Сгенерированные наборы PoC Foundry
  • ./output/exploit_tests/ — Результаты тестирования эксплойтов

Архитектура

Точки входа

  • aether.py — Единственная точка входа; запускает Textual TUI
  • cli/interactive_menu.py — Тонкая прослойка, создающая JobManager + AetherApp
  • cli/tui/app.py — AetherApp(App) — основное приложение Textual с привязками клавиш и таймером обновления в 1 секунду

Слой TUI (cli/tui/)

  • Экраны: MainScreen (таблица задач + панель стоимости), JobDetailScreen (живой лог + фаза + метаданные), NewAuditScreen, HistoryScreen, ResumeScreen, PoCScreen, ReportsScreen, FetchScreen, SettingsScreen
  • Виджеты: JobsTable (DataTable, опрашивающая JobManager), CostBar (стоимость сессии по провайдерам), LogViewer (RichLog с инкрементальным обновлением), PhaseBar (прогресс в юникод-блоках)
  • Диалоги: ConfirmDialog, , , , , — все подклассы ModalScreen

Фоновое выполнение

  • cli/audit_runner.py — Класс AuditRunner, запускающий аудиты, PoC, отчеты и аудиты GitHub в фоновых потоках
  • core/job_manager.py — Синглтон JobManager: реестр задач сессии (QUEUED/RUNNING/COMPLETED/FAILED/CANCELLED)
  • core/audit_progress.py — ContractAuditStatus с буферами логов для каждой задачи, ThreadDemuxWriter для захвата stdout/stderr
  • core/llm_usage_tracker.py — Потокобезопасный синглтон с snapshot() для дельты стоимости каждой задачи

Основная оркестрация

  • cli/main.py — Класс AetherCLI (~2600 строк) — внутренний оркестратор аудита, используемый AuditRunner
  • core/enhanced_audit_engine.py — Основной движок аудита с интеграцией глубокого анализа
  • core/post_audit_summary.py — Панель послеаудита с разбивкой стоимости по провайдерам

Слой глубокого анализа (v4.7)

  • core/deep_analysis_engine.py — Конвейер LLM из 6 проходов плюс Pass 3.5 (межконтрактный): понимание → поверхность атаки → инварианты → межконтрактный → межфункциональный → противник → граничные случаи; выбор уровня модели, кеширование, примеры с несколькими примерами, принудительная цепочка мыслей, контекст CFG в Pass 2, калибровка серьезности на основе ML в Pass 5, контекст связанных контрактов для каждого прохода
  • core/protocol_archetypes.py — Обнаружение прототипов протоколов (14 типов, включая LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR) с контрольными списками уязвимостей для каждого прототипа
  • core/exploit_knowledge_base.py — 75+ категоризированных реальных шаблонов эксплойтов в 14 категориях (включая CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY)
  • core/invariant_engine.py — Извлечение инвариантов (NatSpec + LLM + шаблоны) и генерация тестов инвариантов Foundry + генерация свойств Halmos
  • core/solidity_ast.py — Разбор AST Solidity через py-solc-x с откатом на регулярные выражения для наследования, видимости, размещения хранилища, отслеживания чтения/записи состояния; построение графа потока управления (build_cfg(), get_dominators(), get_loop_headers())
  • core/taint_analyzer.py — Анализ потока данных / заражения с 8 типами источников, 12 типами приемников, обнаружением очистителей, межконтрактным отслеживанием, распространением CFG с учетом ветвлений

Слой обнаружения

  • core/enhanced_vulnerability_detector.py — Основной детектор с 60+ шаблонами
  • core/business_logic_detector.py, core/state_management_detector.py, core/data_inconsistency_detector.py, core/centralization_detector.py, core/looping_detector.py — Детекторы, вдохновленные Move
  • core/defi_vulnerability_detector.py, core/mev_detector.py, core/oracle_manipulation_detector.py — Детекторы, специфичные для DeFi (детектор DeFi интегрирован в расширенный движок в v3.5)
  • core/arithmetic_analyzer.py, core/precision_analyzer.py, core/gas_analyzer.py, , — Специализированные анализаторы (анализатор точности расширен обнаружением инфляции долей, направления округления, усечения деления, эксплуатации остатков, переполнения аккумулятора)

Слой валидации

  • core/validation_pipeline.py — Многоэтапный конвейер: проверка встроенных защит, обнаружение управления, валидация с учетом заражения (этап 1.85), символическая верификация Halmos (этап 1.95), проверка развертывания, локальная валидация
  • core/governance_detector.py, core/deployment_analyzer.py, core/llm_false_positive_filter.py
  • core/control_flow_guard_detector.py, core/inheritance_verifier.py
  • core/nodes/halmos_node.py — Узел конвейера HalmosSymbolicNode для валидации символьного выполнения

Слой LLM и ИИ

  • core/enhanced_llm_analyzer.py — Структурированный анализ LLM (GPT/Gemini/Claude) с выводом JSON и ротацией нескольких провайдеров
  • core/enhanced_prompts.py — Промпт-шаблоны для продакшна с динамической загрузкой шаблонов эксплойтов из базы знаний, примерами с несколькими примерами, калибровкой серьезности и принудительной цепочкой мыслей

Слой генерации PoC

  • core/foundry_poc_generator.py (~8000 строк) — Анализ на основе AST, итеративная обратная связь при компиляции (до 5 попыток), автоматическое выполнение через forge test --json с разбором PoCTestResult и поддержкой fork-режима
  • core/llm_foundry_generator.py — Генерация тестов на основе LLM с документацией mock API и рекомендуемыми шаблонами setUp
  • core/enhanced_foundry_integration.py — Валидация и форматирование Foundry
  • core/poc_templates.py — Шаблоны mock-контрактов (MockERC20, MockOracle, MockWETH, MockFlashLoanProvider)
  • core/poc_setup_generator.py — Интеллектуальная генерация setUp(): извлечение параметров конструктора, развертывание mock, обработка обновляемых контрактов, создание и одобрение токенов

Слой постоянства

  • core/database_manager.py — DatabaseManager (локальные аудиты) + AetherDatabase (аудиты GitHub)
  • core/analysis_cache.py — Умное кеширование для ускорения повторного анализа в 2 раза
  • core/accuracy_tracker.py — Цикл обратной связи ML: результаты отправки, заработки на баунти, статистика точности каждого детектора, генерация весов уверенности

Интеграции

  • core/github_auditor.py — Клонирование репозиториев, обнаружение фреймворков, поиск контрактов, координация анализа
  • core/etherscan_fetcher.py, core/basescan_fetcher.py — Получение проверенных контрактов из блокчейн-обозревателей
  • core/exploit_tester.py — Валидация эксплойтов против форков Anvil

Выполнение на основе потоков

Потоки аудита определены в YAML-конфигах (configs/). Расширенный конвейер аудита: FileReaderNode -> StaticAnalysisNode -> LLMAnalysisNode -> EnhancedExploitabilityNode -> [FixGeneratorNode -> ValidationNode -> HalmosSymbolicNode] -> ReportNode


Тесты

2059 тестов в 76 тестовых файлах, выполняются за ~23 секунды:```bash python -m pytest tests/ # All tests (~23s, 2059 tests) python -m pytest tests/test_enhanced_detectors.py -v # Single file python -m pytest tests/test_enhanced_detectors.py::TestArithmeticAnalyzer -v # Single class python -m pytest tests/ -k "governance" -v # Pattern match python -m pytest tests/ --cov=core --cov-report=html # With coverage

root@kitploit:~
## Troubleshooting

- **Foundry not found** — Убедитесь, что `forge`/`anvil` установлены и находятся в `PATH` (`foundryup` и `export PATH="$PATH:$HOME/.foundry/bin"`)
- **solc not found** — Установите `solc-select` и требуемые версии: `solc-select install 0.8.20 latest`
- **LLM features not working** — Проверьте, что ключи API заданы. Некоторые модели могут быть недоступны в вашей учётной записи/регионе; система автоматически переключается на запасные
- **Database not found** — Для отчётов GitHub убедитесь, что workflow аудита был запущен предварительно
- **Textual not loading** — Выполните `pip install textual>=1.0.0`, если отсутствует

---

## Changelog

### v4.7 — PoC Auto-Execution, Halmos Symbolic Verification, CFG Analysis & ML Feedback Loop
- **PoC auto-execution** — сгенерированные PoC Foundry автоматически компилируются и выполняются через `forge test --json` с разбором `PoCTestResult` и поддержкой fork-mode; фаза `POC_TESTING` для отслеживания в живом TUI
- **Halmos symbolic execution** — `HalmosRunner`, `HalmosPropertyGenerator` и `HalmosSymbolicNode` как узлы конвейера (этап валидации 1.95) для формальной верификации инвариантов; корректное ухудшение при отсутствии Halmos
- **Control flow graph analysis** — `BasicBlock`, `CFGEdge`, `ControlFlowGraph` с `build_cfg()`, деревьями доминаторов, обнаружением заголовков циклов, разбором блоков ассемблера; контекст CFG внедряется в глубокий анализ Pass 2; распространение меток с учётом ветвления
- **ML feedback loop** — `AccuracyTracker` записывает результаты отправки с `get_detector_accuracy()` и `get_detector_weights()` для статистики по детекторам; корректировка весов уверенности в `EnhancedVulnerabilityDetector`; калибровка серьёзности в глубоком анализе Pass 5
- **Related contract context** — `RelatedContractResolver` обнаруживает контракты-родители, интерфейсы, библиотеки и зависимости с бюджетом на проход (200K/100K/50K символов); обобщение стандартных библиотек; обнаружение родственных контрактов в одном файле
- **Tech debt cleanup** — удалено 8 500 строк мёртвого кода: удалены `ai_ensemble.py`, `audit_engine.py`, `fork_verifier.py`; удалены все ссылки на ai_ensemble из CLI, средств аудита, экранов TUI, генератора отчётов
- **2059 тестов** проходят в 76 тестовых файлах

### v4.0 — Solidity AST Parsing, Taint Analysis & Data Flow Tracking
- **Solidity AST parser** — полная интеграция solc через py-solc-x для корректного разрешения наследования, видимости функций, расположения хранилища, отслеживания чтения/записи состояния; корректный запасной вариант с регулярными выражениями
- **Taint analysis engine** — отслеживает управляемые пользователем входные данные через 8 типов источников до 12 опасных стоков с обнаружением санитайзеров и межконтрактным отслеживанием
- **Pipeline integration** — данные AST передаются в Pass 1, данные taint — в Pass 2, этап валидации с учётом taint 1.85
- **1839 тестов** проходят в 67 тестовых файлах (~23 секунды)

### v3.8 — Enhanced Detection & PoC Generation
- **Cross-contract analysis** — новый Pass 3.5 с анализатором межконтрактных отношений, обнаружением границ доверия, группировкой union-find
- **Token quirks database** — 12 категорий нестандартного поведения ERC-20 (fee-on-transfer, rebasing, ERC-777 и т.д.)
- **Enhanced precision engine** — обнаружение инфляции доли, анализ направления округления, отслеживание усечения при делении, эксплуатация остатков, переполнение аккумулятора
- **Runnable PoC generation** — библиотека mock-контрактов (ERC20, Oracle, WETH, FlashLoan), интеллектуальная setUp(), максимальное количество попыток компиляции 3→5
- **Few-shot examples** в глубоком анализе Passes 3, 4, 5 с реальными примерами уязвимостей и ложных срабатываний
- **Severity calibration** — конкретные пороговые значения (Critical >$1M, High >$100K, Medium >$10K, Low теоретический)
- **Chain-of-thought enforcement** — обязательные 5 шагов рассуждения перед выводом JSON
- **AI ensemble retired** — заменён на ротацию нескольких провайдеров в проходах глубокого анализа
- **Multi-provider rotation** — Gemini Flash (дешёвые проходы), Anthropic Claude (рассуждение), OpenAI GPT (разнообразие)
- **1682 теста** проходят

### v3.7 — Expanded Archetypes & Exploit Patterns
- **4 новых протокольных архетипа** — LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR (всего 10→14)
- **25 новых шаблонов эксплойтов** — категории CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY (всего 50→75)
- **Improved contract scanner** — теперь оцениваются абстракты, скорректированы пороговые значения для поддержки монорепозиториев
- **1528 тестов** проходят

### v3.5.2 — False Positive Reduction
- **Script detection in contract discovery** — файлы в `script/`/`scripts/`, файлы `.s.sol` и контракты, импортирующие `forge-std/Script.sol` или наследующие `is Script`, помечаются как скрипты развёртывания и исключаются из анализа уязвимостей LLM. Устраняет целый класс ложных срабатываний от хелперов развёртывания Foundry, анализируемых как производственный код
- **File context markers in LLM prompts** — объединённое содержимое теперь включает маркеры `// FILE: <name>` для каждого файла, а проходы глубокого анализа 1 и 3 получают заголовок `## Project Files`, помечающий каждый файл как `[PRODUCTION]` или `[DEPLOYMENT SCRIPT]`, чтобы LLM фокусировались на правильном коде
- **Dynamic modifier detection** — `GovernanceDetector` теперь извлекает определённые в контракте модификаторы контроля доступа (например, `onlyDistributor`, `onlyMinter`, `authorized`) путём сканирования определений модификаторов с префиксом `only` или проверками `msg.sender`. Они объединяются с жёстко заданным списком модификаторов для `has_access_control()` и `is_governance_function()`
- **Function-scope deduplication** — `VulnerabilityDeduplicator` теперь группирует находки по `(function_name, vuln_type)`, когда доступен код контракта, заменяя хрупкое точное совпадение строк, которое пропускало дубликаты в смежных строках одной функции. При отсутствии контекста функции используется резервный метод группировки по корзинам из 20 строк
- **Widened AI ensemble line tolerance** — допуск `_findings_match_fuzzy()` увеличен с ±5 до ±15 строк для обнаружения дубликатов одной функции от разных агентов
- **Atomic constructor false positive pattern** — `_check_constructor_context()` теперь обнаруживает, когда контракт развёртывается (`new`/`Create2`) и инициализируется (`.initialize()`) в одном конструкторе, помечая проблемы с front-running как ложные срабатывания, поскольку операции атомарны
- **LLM validation pattern #18** — добавлен «Атомарное развёртывание + инициализация» в 18-пунктовый чеклист ложных срабатываний в подсказке валидации LLM
- **1489 тестов** проходят в 56 тестовых файлах (~40 секунд), по сравнению с 1461

### v3.5 — Deep Analysis Engine
- **6-pass deep analysis pipeline** — заменяет однократные вызовы LLM структурированным многопроходным рассуждением: Понимание протокола → Карта атак → Анализ нарушения инвариантов → Межфункциональное взаимодействие → Моделирование противника → Граничные случаи. Каждый проход получает накопленный контекст от предыдущих. Проходы 1-2 кэшируются по хешу содержимого для быстрых повторных аудитов
- **Protocol archetype detection** — автоматически определяет тип протокола (ERC-4626 Vault, Lending Pool, DEX/AMM, Bridge, Staking, Governance, Oracle, NFT Marketplace, Token, Orderbook) с чеклистами уязвимостей для каждого архетипа, основанными на реальных эксплойтах
- **Exploit knowledge base** — 50+ категоризированных шаблонов эксплойтов по 9 категориям (Inflation/Share, Reentrancy, Oracle, Governance, Bridge, Precision/Rounding, Access Control, Economic/DeFi, Logic), заменяющих статический список из 10 шаблонов. Каждый шаблон включает индикаторы кода, отсутствующие защиты, пошаговый механизм эксплойта, реальные прецеденты с суммами ущерба и применимость к архетипам
- **Invariant engine** — извлекает инварианты протокола из тегов NatSpec `@invariant`, анализа LLM и 6 детекторов общих шаблонов (сохранение хранилищ, отслеживание баланса, учёт поставок, постоянный продукт AMM, обеспечение кредитования, вознаграждения за стейкинг). Генерирует тестовые наборы Foundry `invariant_*()` как доказательства формальной верификации
- **Context-aware severity calibration** — заменяет общее снижение серьёзности проверками контекста риска. Находки в блоках `unchecked{}`, рядом с передачами стоимости (`call{value:}`, `_mint`, `safeTransfer`), в расчётах цен или контексте оракулов сохраняют исходную серьёзность
- **Validation gate fix** — находки со статусом `"pending"` теперь проходят к анализу LLM с флагом `needs_llm_validation`. Отбрасываются только находки с явным статусом `"false_positive"` (ранее все находки, кроме `"validated"`, молча фильтровались)
- **Specialist-aware confidence penalty** — находки от одного агента, соответствующие его специализации (например, AnthropicReasoningSpecialist + экономические атаки), получают штраф -0.05; находки от неспециалистов сохраняют штраф -0.15
- **Line-bucket dedup fix** — удалена группировка `(line // 10) * 10`, которая вызывала произвольные проблемы на границах (строки 9 и 11 попадают в разные корзины). Дедупликация теперь использует только нормализованный тип уязвимости, а `_findings_match_fuzzy()` обрабатывает близость строк
- **DeFi detector integration** — `DeFiVulnerabilityDetector` (двухэтапный семантический анализ наличия/отсутствия) теперь работает в расширенном механизме аудита наряду с `EnhancedVulnerabilityDetector`
- **Dynamic exploit patterns in prompts** — `enhanced_prompts.py` теперь загружает шаблоны из ExploitKnowledgeBase, отфильтрованные по области фокуса, с запасным вариантом к статическим шаблонам
- **1461 тест** проходят в 55 тестовых файлах (~50 секунд)

### v3.2 — Job Stats & UI Fixes
- **Fixed job findings/cost/LLM stats always showing zero** — рабочий процесс аудита теперь захватывает словарь результатов из `run_audit()` для извлечения количества находок; удалён `LLMUsageTracker.reset()`, который приводил к потере ссылок на синглтон; все 4 типа рабочих процессов вычисляют статистику для задания по дельтам снимков
- **Fixed UI repaint artifact on window switch** — заменены прокручиваемые контейнеры на простой `Container` с `overflow: hidden` в JobDetailScreen для предотвращения устаревших кадров композитора
- **Moved "Job Details" to border_title** для более чистого отображения панели метаданных
- Удалён `CLAUDE.md` из отслеживания git

### v3.0 — Fully Inline Textual TUI
- **Zero `app.suspend()` calls** — TUI никогда не переходит в сырой терминал; каждая операция выполняется в строке
- **Background PoC generation** — запускается как поток-демон через `AuditRunner.start_poc_generation()` с живым выводом в JobDetailScreen
- **Background report generation** — запускается как поток-демон через `AuditRunner.start_report_generation()` с живым выводом
- **Background GitHub audits** — выбор области через диалоги Textual, аудит запускается как поток-демон через `AuditRunner.start_github_audit()`
- **ContractSelectorDialog** — почти полноэкранный фильтруемый модальный выбор множественных элементов, заменяющий основанный на curses `ScopeManager.interactive_select()`. Space для переключения, `a`/`n` для всех/ни одного, ввод для фильтрации, цветная маркировка ранее проверенных контрактов
- **GitHubAuditHelper** — разложенная обёртка вокруг `GitHubAuditor`/`AetherDatabase`, предоставляющая атомарные операции (`clone_and_discover`, `get_scope_state`, `save_new_scope`, `get_pending_contracts`, `handle_reaudit`), вызываемые из экранов Textual
- **Inline settings** — настройка ключей API и моделей через родные TextInputDialog/SelectDialog, без внешнего мастера настройки
- **Inline GitHub scope management** — продолжить, повторно проверить или создать новую область через SelectDialog; выбор контрактов через ContractSelectorDialog
- **6 экранов переписаны** — PoCScreen, ReportsScreen, SettingsScreen, NewAuditScreen, HistoryScreen, ResumeScreen — все полностью встроены
- **770 тестов** проходят в 50 тестовых файлах

### v2.2 — Textual TUI Dashboard
- Полноэкранный TUI на Textual с постоянным приложением, горячими клавишами и таймером обновления 1 секунда
- MainScreen с живой таблицей заданий и строкой стоимости сессии
- JobDetailScreen с живым просмотром логов, индикатором выполнения фаз и метаданными
- Модальные диалоги (подтверждение, ввод текста, выбор, чекбокс, выбор пути) заменяют подсказки questionary
- Фоновое выполнение аудита через AuditRunner с захватом вывода ThreadDemuxWriter
- Синглтон JobManager для реестра заданий сессии
- Отслеживание стоимости задания через снимки LLMUsageTracker

### v2.1 — Parallel Audits, Slither Removal & Test Cleanup
- Параллельный механизм аудита — одновременное выполнение нескольких контрактов с `ThreadPoolExecutor`, до 8 параллельных рабочих процессов
- Потокобезопасное отслеживание прогресса — `ContractAuditStatus` с блокировками, `ThreadDemuxWriter` для мультиплексирования stdout
- Постаудитный отчёт — консолидированное представление результатов после завершения параллельных аудитов
- Отслеживание использования LLM — учёт токенов, затрат и вызовов API для всех трёх провайдеров
- Slither полностью удалён — удалены все зависимости, интеграционный код и тесты (~1200 строк); детекторы на основе шаблонов + ABI Foundry + регулярные выражения являются единственными инструментами анализа
- Очистка тестового набора — удалено более 40 старых/медленных/интеграционных тестовых файлов

### v2.0 — Interactive Menu TUI
- Интерактивный меню-ориентированный TUI в качестве основного интерфейса
- Мастер аудита с выбором источника, флажками функций и подтверждением
- Возможность возобновления незавершённых аудитов GitHub
- Единый браузер истории аудитов для локальных и GitHub-баз данных
- Встроенная генерация PoC и рабочие процессы отчётов из меню
- Получение контрактов из нескольких цепочек с опциональным немедленным аудитом
- Управление настройками из меню
- Запуск/возврат консоли из меню

### v1.5 — Three-Provider LLM Support & Enhanced Analysis
- Интеграция Anthropic Claude (Sonnet 4.5, Opus 4.6, Haiku 4.5) в качестве третьего провайдера LLM
- Ансамбль ИИ из 6 агентов: 2 OpenAI + 2 Gemini + 2 Anthropic специалиста
- Автоматическое переключение между провайдерами для максимальной доступности
- Обновлённые модели OpenAI (GPT-5.3) и Google Gemini (3.0 Flash/Pro)
- Мастер настройки обновлён с конфигурацией ключа API Anthropic и выбором модели
- Исправлена сломанная команда CLI generate-foundry

---

## License

Aether распространяется под лицензией **MIT License**. Подробнее см. в файле [LICENSE](https://github.com/l33tdawg/aether/blob/HEAD/LICENSE).

## Author

**Dhillon Andrew Kannabhiran** (@l33tdawg)
- Email: [email protected]
- Twitter: [@l33tdawg](https://twitter.com/l33tdawg)
- GitHub: [@l33tdawg](https://github.com/l33tdawg)

## Contributing

Вклад приветствуется! Не стесняйтесь отправлять issues, форкать репозиторий и создавать pull request'ы.
Скачать инструмент
КатегорияСерьёзностьПримеры токенов
Комиссия при передачеВЫСОКИЙUSDT, STA, PAXG
Ребазирующиеся токеныВЫСОКИЙstETH, AMPL, OHM
Обратные вызовы ERC-777ВЫСОКИЙimBTC
Мгновенная чеканкаВЫСОКИЙDAI
Нестандартный возвратСРЕДНИЙСтарый USDT
Токены с блок-листомСРЕДНИЙUSDC, USDT
Приостанавливаемые токеныСРЕДНИЙUSDC
Токены с малым количеством десятичных знаковСРЕДНИЙUSDC (6), WBTC (8)
Хуки передачиСРЕДНИЙLINK (ERC-677)
Гонка утвержденийНИЗКИЙРазличные
Множественные точки входаНИЗКИЙTUSD
Обновляемые токеныНИЗКИЙUSDC v2
ПроходНазначениеУровень модели
Pass 1Понимание протокола — что такое протокол, его инварианты, потоки стоимости, предположения о доверииДешёвый (кешированный)
Pass 2Картографирование поверхности атаки — каждая точка входа, чтения/записи состояния, окна повторного входаДешёвый (кешированный)
Pass 3Анализ нарушения инвариантов — систематическая проверка каждого инварианта на соответствие каждому пути кодаСильный
Pass 4Взаимодействие между функциями — анализ зависимостей состояния, временных зависимостей, последовательностей флеш-кредитовСильный
Pass 5Моделирование противника — явная перспектива атакующего с флеш-кредитами, MEV, несколькими аккаунтамиСильный
Pass 6Граничные и крайние случаи — первая/последняя операция, нулевые значения, максимальные значения, автореферентные операцииСредний
АрхетипПримеры элементов контрольного списка
Хранилище ERC-4626Инфляция первого вкладчика, направление округления, манипуляция ценой доли через пожертвования
Пулы кредитованияМанипуляция ценой оракула, манипуляция порогом ликвидации, каскад безнадёжных долгов, манипуляция процентной ставкой
DEX/AMMМанипуляция первым LP, сэндвич-атаки, оракул цены через резервы
МостПовторная передача между цепочками, компрометация валидатора, несоответствие карты токенов, подделка доказательств вывода
СтейкингМанипуляция расчётом вознаграждения, переполнение ставки вознаграждения, повторное вхождение при анстейкинге
УправлениеАтаки на управление с флеш-кредитами, обход временной блокировки, манипуляция кворумом
ОракулУстаревшие ценовые данные, отклонение цены, время простоя секвенсора L2
КатегорияПаттерныПримеры
Атаки на инфляцию/доли6Первый вкладчик ERC-4626, инфляция LP токенов, манипуляция через пожертвования
Повторное вхождение7Классическое, только для чтения, кросс-функциональное, кросс-контрактное, хуки ERC-777/1155, обратные вызовы флеш-кредитов
Оракулы5Манипуляция спотовой ценой, манипуляция TWAP, устаревание, несоответствие десятичных знаков, секвенсор L2
Управление4Голосование с флеш-кредитами (Beanstalk), обход временной блокировки, манипуляция кворумом
Мосты5Повторная передача сообщений (Nomad), компрометация валидатора (Ronin), карта токенов (Wormhole)
Точность/Округление4Направление округления, непроверенное переполнение, комиссия при передаче, дрейф ребазирующегося токена
Контроль доступа5Неинициализированный прокси, коллизия хранилища, коллизия селектора, инъекция delegatecall
Экономика/DeFi8Сэндвич-атаки, JIT-ликвидность, каскад безнадёжных долгов, бомба возвращаемых данных, повтор передачи подписи
Логика6Ошибка на единицу, отсутствие дедлайна/проскальзывания, непроверенные возвраты, учёт самопередачи
p
o
f
s
q
Аудит репозитория GitHub с предварительно выбранной областью
pocГенерация proof-of-concept для Foundry
reportГенерация аудиторского отчёта (markdown/json/html)
  • Контекст связанных контрактов — RelatedContractResolver обнаруживает родительские, интерфейсные, библиотечные контракты и зависимости; система бюджета для каждого прохода с суммаризацией стандартных библиотек
  • Обнаружение прототипов протоколов — Автоматическая идентификация 14 типов протоколов (хранилище, кредитование, DEX, мост, стейкинг, управление, оракул, ликвидный стейкинг, бессрочная DEX, CDP стейблкоин, агрегатор доходности и другие) с контрольными списками уязвимостей для каждого прототипа
  • База знаний эксплойтов — 75+ категоризированных реальных шаблонов эксплойтов в 14 категориях с индикаторами кода, отсутствующими защитами и прецедентами; фильтруется по прототипу и области фокуса
  • База данных особенностей токенов — 12 категорий нестандартного поведения ERC-20 (комиссия при переводе, ребазирование, ERC-777, flash-mintable, блокировка, приостановка, низкое количество десятичных знаков и т.д.) интегрированы в конвейер обнаружения
  • Движок инвариантов — Извлекает инварианты протокола из NatSpec, анализа LLM и шаблонов кода; генерирует тесты инвариантов Foundry
  • Статический анализ — 180+ детекторов на основе шаблонов (реентерабельность, контроль доступа, арифметика, манипуляция оракулом, флеш-кредиты, MEV, управление, специфичные для DeFi, особенности токенов, точность/округление и другие)
  • Расширенный движок точности — Обнаружение инфляции долей, анализ направления округления, отслеживание усечения деления, эксплуатация остатков, оценка переполнения аккумулятора
  • Анализ LLM — Структурированный, ориентированный на валидацию анализ с OpenAI, Gemini и Claude; ротация нескольких провайдеров с автоматическим откатом; калибровка серьезности, привязанная к порогам финансового воздействия
  • Контекстно-зависимая фильтрация — Калибровка серьезности, проверяющая контекст риска (непроверенные блоки, операции с ценностью, использование оракула) перед понижением; этап валидации с учетом заражения; ожидающие находки сохраняются для валидации LLM
  • Параллельный аудит — Одновременный анализ нескольких контрактов с отображением прогресса в таблице задач
  • Рабочий процесс аудита GitHub — Клонирование репозиториев, обнаружение фреймворков, поиск контрактов, встроенный выбор области, сохранение состояния
  • Генерация PoC Foundry — Анализ на основе AST, итеративная обратная связь при компиляции (до 5 попыток), библиотека mock-контрактов (ERC20, Oracle, WETH, FlashLoan), интеллектуальная генерация setUp(), готовые к использованию подсказки эксплойтов, автоматическое выполнение через forge test --json с поддержкой fork-режима
  • Получение контрактов из нескольких цепочек — 10+ сетей EVM + поддержка Solana
  • Отчетность — Генерация отчетов в Markdown, JSON, HTML из данных аудита
  • Отслеживание использования LLM — Использование токенов, отслеживание стоимости и сводка после аудита по всем провайдерам
  • Постоянство — Две базы данных SQLite для результатов движка и рабочего процесса аудита GitHub
  • TextInputDialog
    SelectDialog
    CheckboxDialog
    PathDialog
    ContractSelectorDialog
  • Помощники: GitHubAuditHelper — декомпозированные операции аудита GitHub для интеграции с TUI
  • Тема: theme.tcss — Textual CSS в голубых тонах
  • core/cross_contract_analyzer.py — Анализ межконтрактных отношений с обнаружением границ доверия, группировкой union-find и RelatedContractResolver для контекста зависимостей
  • core/token_quirks.py — База данных особенностей токенов (12 категорий нестандартного поведения ERC-20)
  • core/halmos_runner.py — Исполнитель символического выполнения Halmos для формальной верификации
  • core/halmos_property_generator.py — Автоматическая генерация свойств верификации Halmos из инвариантов
  • core/accuracy_tracker.py — Цикл обратной связи ML: отслеживание точности каждого детектора, настройка весов уверенности, калибровка серьезности
  • core/input_validation_detector.py
    core/data_decoding_analyzer.py
  • Обнаружение особенностей токенов интегрировано в конвейер статического обнаружения через core/token_quirks.py