ИИ-ассистент для реверс-инжиниринга малвари: превращает поведение функций в маппинг ATT&CK, IOC, YARA-правила и отчёты, поддерживает PE/ELF и Frida.
Платформа для бинарного анализа на базе символьного исполнения: способна автоматически найти входные данные, которые проведут программу …
Продвинутая платформа для DFIR (цифровая криминалистика и реагирование на инциденты) — позволяет одновременно "охотиться" на угрозы …
Набор CLI-утилит для анализа файловых систем и образов дисков. Поддерживает NTFS, FAT, EXT2/3/4, HFS+, UFS. Извлечение …
Инфраструктура виртуальной машинной интроспекции для мониторинга состояния гостевых систем на уровне гипервизора KVM.
python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install 1200km-aidebug==3.0.0 aidebug --version # Remote/local LLM providers and validated YARA generation python -m pip install "1200km-aidebug[ai]==3.0.0" # Frida dynamic instrumentation python -m pip install "1200km-aidebug[dynamic]==3.0.0" # All optional Python integrations python -m pip install "1200km-aidebug[all]==3.0.0" git clone https://github.com/anpa1200/AIDebug.git cd AIDebug python3 -m venv .venv source .venv/bin/activate python -m pip install -e ".[dev,dynamic]"
AIDebug — это CLI-инструмент и терминальный интерфейс для обратной инженерии вредоносного ПО с фокусом на доказательства (evidence-focused). Он объединяет детерминированную офлайн-триажу, постраничный просмотр всего файла в шестнадцатеричном виде, глубокий анализ структуры PE, дизассемблирование Capstone, реконструкцию Ghidra, опциональную перепроверку с помощью LLM, локальную отладку ELF, скомпилированные учебные упражнения и отчёты для аналитика.
Текущая версия исходного кода: AIDebug 3.1.0. См. заметки к релизу 3.1.0.
Последний неизменный опубликованный релиз остаётся AIDebug v3.0.0, доступный как
1200km-aidebug, до завершения проверенного процесса публикации для тега 3.1.0 и соответствующего GitHub-релиза.
Установите стабильный пакет из PyPI:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install 1200km-aidebug==3.0.0
aidebug --version
Установите опциональные возможности по необходимости:
# Remote/local LLM providers and validated YARA generation
python -m pip install "1200km-aidebug[ai]==3.0.0"
# Frida dynamic instrumentation
python -m pip install "1200km-aidebug[dynamic]==3.0.0"
# All optional Python integrations
python -m pip install "1200km-aidebug[all]==3.0.0"
Для разработки:
git clone https://github.com/anpa1200/AIDebug.git
cd AIDebug
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev,dynamic]"
Ghidra, GDB, Bubblewrap, C-компилятор и целевые компоненты Frida — это внешние инструменты, используемые только теми рабочими процессами, которые в них нуждаются.
Откройте образец PE или ELF в главном терминальном интерфейсе:
aidebug --binary /path/to/sample.exe --offline
Запустите детерминированный анализ без полноэкранного UI и экспортируйте доказательства:
aidebug --binary /path/to/sample.exe \
--offline --no-tui --report --json-export --yara \
--out-dir reports/
Используйте реконструкцию Ghidra:
aidebug --binary /path/to/sample.exe --offline --no-tui --decompile
aidebug --binary /path/to/sample.exe --offline --no-tui \
--decompile-all reports/sample-reconstruction.c
Проанализируйте одну единицу трансляции C через временный неисполняемый ELF-артефакт:
aidebug --source /path/to/example.c --offline --no-tui
Идентифицируйте произвольный файл независимо от расширения имени файла:
aidebug --identify /path/to/renamed-or-unknown-file --offline
--identify выдаёт структурированный JSON с объявленным типом, MIME-типом, распространёнными расширениями, уверенностью, методом, доказательствами, SHA-256 и размером. Детерминированное покрытие включает распространённые форматы исполняемых файлов и байт-кода, архивы и образы дисков, контейнеры Office/OpenDocument/EPUB, документы, изображения, аудио/видео, захваты пакетов, базы данных, артефакты реестра и журналов событий, скрипты и текст. ZIP-базированные форматы проверяются по ограниченным именам элементов и небольшим чтениям метаданных; файлы никогда не выполняются и не извлекаются.
Установите python-magic и системную базу данных libmagic операционной системы для дополнительных сигнатур, известных локальной платформе:
python -m pip install python-magic
Когда ни одна детерминированная сигнатура, структура или текстовое правило не совпадает, настроенный AI-провайдер может вывести кандидата из ограниченных метаданных: расширение, размер, SHA-256, до 96 байт заголовка, 32 байта хвоста, примерную энтропию и отношение NUL. Тело файла, извлечённые строки и путь в файловой системе не отправляются. Результаты только от AI помечаются как ai-inference, ограничиваются 60% уверенности и требуют проверки аналитиком. Используйте --offline для полного отключения запасного варианта; неразрешённый тип сообщается как Unknown с кодом выхода 2.
Нажмите S в главном терминальном интерфейсе или запустите рабочую область напрямую:
aidebug --binary /path/to/sample.exe --offline --strings
Рабочая область сохраняет файловые смещения, отображённые адреса (при наличии), кодировку, длины в байтах и символах, информацию о дублирующихся вхождениях,
Загрузите PE-файл и нажмите X (или P) в главном GUI. Aidebug показывает точные байты, которые были захешированы, и организует структурные доказательства в ограниченные, навигируемые представления.
| Область | Доказательства |
|---|---|
| Заголовки | DOS, NT, COFF, Optional Header, характеристики, каталоги данных, флаги митигаций |
| Секции | Полные поля IMAGE_SECTION_HEADER, отображённые диапазоны, энтропия и права доступа |
| Импорт и экспорт | Дескрипторы импорта, записи INT/IAT, отложенный импорт, ординалы, имена, RVA и форвардеры |
| Ресурсы | Иерархия тип/имя/язык, метаданные, хеши, превью и безопасный экспорт без перезаписи |
| Релокации и ASLR | Блоки/записи релокаций и структурная оценка совместимости с ASLR |
| TLS | TLS-каталог, данные шаблона, индекс, таблица колбэков, отображения и доказательства завершения |
| Исключения и разворачивание | Функции рантайма x64, UNWIND_INFO, операции, обработчики и цепочки записей |
| Конфигурация загрузки | Версионированные поля, флаги Guard, стековые куки и доказательства эксплойт-митигаций |
| CFG | Указатели проверки/диспетчеризации, цели Guard Function ID, упорядочивание, подавление и проверки согласованности |
| Authenticode | Записи сертификатов, доказательства PKCS#7/X.509, сравнение дайджеста PE-образа и верификация подписанта |
| Отладка и происхождение | Rich-заголовок, Debug Directory, CodeView RSDS/NB10, GUID PDB, возраст и путь |
| Оверлеи | Точный смещение, размер, хеш, энтропия, превью и безопасный экспорт |
| .NET / CLR | COR20-заголовок, корень метаданных и потоки, таблицы ECMA-335, сборки, ссылки и ресурсы |
Aidebug не выполняет PE-файл при построении этих представлений. Статическая верификация сертификата — это не проверка доверенных корневых центров Windows или проверка отзыва, Rich-метаданные — не атрибуция, метаданные строгого имени — не доверие к издателю, и статическая флаги смягчения не являются доказательством эффективной политики выполнения.
Эти статьи предоставляют подробные рабочие процессы и скриншоты, дополняющие документацию репозитория:
Откройте полный каталог или начните с конкретного кейса:
aidebug --learn
aidebug --learn mov-load
aidebug --learn lea-arithmetic
aidebug --learn switch-dispatch
Каждый встроенный кейс — это отдельный файл в learning/cases/.
AIDebug компилирует выбранный кейс во временный x86-64 ELF, показывает точный
исходный код на C и сгенерированные компилятором инструкции, запрашивает у Ghidra
независимую реконструкцию, фиксирует provenance сборки и удаляет временный артефакт.
Сгенерированный обучающий бинарник никогда не выполняется.
Используйте --no-tui для текстового вывода или загрузите проверенную внешнюю коллекцию:
aidebug --learn movsxd --no-tui
aidebug --learn --learning-collection /path/to/reviewed-cases
AI-анализ опционален. Детерминированный офлайн-режим доступен без учётных данных.
python -m pip install "1200km-aidebug[ai]==3.0.0"
cp .env.example .env
chmod 600 .env
Настройте ровно одного провайдера или явно задайте AIDEBUG_LLM_PROVIDER,
когда существует несколько наборов учётных данных:
AIDEBUG_LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=replace_with_your_key
# Alternatives:
# OPENAI_API_KEY=replace_with_your_key
# GEMINI_API_KEY=replace_with_your_key
# OLLAMA_BASE_URL=http://127.0.0.1:11434/v1
Используйте AIDEBUG_ENV_FILE=/absolute/path/to/private.env, чтобы держать
конфигурацию в стороне от непроверенных директорий анализа. Удалённый массовый
анализ требует явного подтверждения --accept-ai-cost. Просмотрите границу данных remote-AI
перед отправкой доказательств сэмпла любому провайдеру.
GDB-режим активного выполнения запускает выбранный локальный ELF. Используйте его только внутри изолированной, авторизованной лаборатории:
aidebug --binary ./sample.elf --mode debug --breakpoint main
Доступные команды включают break, continue, step, next, finish,
registers, changes, io, disassemble и quit. Frida-режим динамической
инструментации доступен отдельно для поддерживаемых локальных или удалённых
рабочих процессов.
| Вывод | Назначение |
|---|---|
| HTML-отчёт | Человеческий обзор и заметки по кейсу |
| Версионированный JSON | Вход для кастомной интеграции; не нативная схема вендора или STIX |
| String Intelligence JSON | Канонический инвентарь удержанных строк плюс опциональные валидированные AI-аннотации и покрытие |
| YARA-кандидаты | Локально скомпилированные заготовки для detection engineering, требующие обзора и тестирования |
| ATT&CK-кандидаты | Гипотезы уровня техник, требующие валидации аналитиком |
| Визуализация CFG | Обзор функционального графа потока управления |
| SQLite-история | Локальные доказательства сессии и восстановление находок на базе SHA-256 |
flowchart LR
Input[PE, ELF, or C source] --> Parse[Bounded parsing and hashing]
Parse --> Structure[Hex and PE structure evidence]
Parse --> Strings[Deterministic string intelligence]
Parse --> Disasm[Capstone disassembly]
Disasm --> Patterns[Deterministic patterns]
Disasm --> Ghidra[Ghidra reconstruction]
Patterns --> Offline[Offline findings]
Patterns --> AI[Optional LLM cross-check]
Strings --> StringAI[Opt-in chunked string AI review]
Ghidra --> AI
Offline --> Reports[HTML, JSON, YARA, CFG]
AI --> Reports
StringAI --> StringJSON[Structured string JSON]
Reports --> History[SHA-256-indexed history]
Используйте AIDebug только на программном обеспечении и системах, которые вы авторизованы исследовать, внутри изолированной VM для анализа вредоносного ПО или лаборатории.
Ознакомьтесь с полной моделью безопасности, политикой безопасности и планом валидации и ограничениями перед анализом недоверенных образцов.
| Документ | Назначение |
|---|---|
| Рабочий процесс аналитика | Повторяемый процесс анализа |
| Модель безопасности | Границы доверия и безопасная эксплуатация |
| План валидации | Проверяемые заявления о возможностях |
| Примеры доказательств | Иллюстративные скриншоты и макеты артефактов |
| Сравнение | Область применения и позиционирование |
| Готовность к релизу | Воспроизводимые критерии выпуска |
| Примечания к релизу AIDebug 3.1 | Изменения в текущем исходном релизе |
| Примечания к релизу AIDebug 3.0 | Изменения в предыдущем опубликованном релизе |
| Журнал изменений | История версий |
Запустите быстрые локальные проверки:
python -m ruff check .
python -m pytest -q
Запустите полный изолированный гейт релиза:
./scripts/release-readiness.sh
См. CONTRIBUTING.md для руководства по внесению вклада. Не прикрепляйте живое вредоносное ПО, учётные данные, частные данные дел или неочищенные доказательства к issue или pull request.
AIDebug распространяется под лицензией MIT.