Evidenze focalizzate sul reverse engineering di malware con ispezione approfondita di PE/.NET, ricostruzione con Ghidra, verifiche incrociate con IA, YARA e debug di ELF
CLI di reverse engineering orientata alle evidenze. Andrey Pautov sviluppa l'interfaccia Python per l'analista, il triage offline, la string intelligence, l'ispezione PE e i flussi di reporting. Capstone, Ghidra, GDB e i provider AI opzionali sono integrazioni, non strumenti originali creati da questo progetto.
Rilevanza del ruolo: Triage di malware, strumenti di reverse engineering, analisi assistita da AI sicura, sviluppo in Python.
Esegui la demo locale sicura e consulta l'ambito di validazione · Validazione locale registrata
AIDebug è una CLI e interfaccia terminale per il reverse engineering di malware orientata alle evidenze. Combina triage offline deterministico, ispezione esadecimale dell'intero file, analisi approfondita della struttura PE, disassemblaggio Capstone, ricostruzione Ghidra, verifiche incrociate LLM opzionali, debug locale di ELF, esercizi di apprendimento compilati e reporting per la revisione dell'analista.
Versione sorgente corrente: AIDebug 3.1.0. Consulta le note di rilascio 3.1.0.
L'ultima release pubblicata immutabile rimane AIDebug v3.0.0, disponibile come
1200km-aidebug, finché il tag 3.1.0 corrispondente alla versione e la release GitHub non completano il flusso di pubblicazione verificato.
Installa il pacchetto stabile da 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
Installa le funzionalità opzionali secondo necessità:
# Provider LLM remoti/locali e generazione YARA validata
python -m pip install "1200km-aidebug[ai]==3.0.0"
# Strumentazione dinamica Frida
python -m pip install "1200km-aidebug[dynamic]==3.0.0"
# Tutte le integrazioni Python opzionali
python -m pip install "1200km-aidebug[all]==3.0.0"
Per lo sviluppo:
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, un compilatore C e i componenti target di Frida sono strumenti esterni usati solo dai flussi di lavoro che li richiedono.
Apri un campione PE o ELF nell'interfaccia terminale principale:
aidebug --binary /path/to/sample.exe --offline
Esegui l'analisi deterministica senza l'interfaccia a schermo intero ed esporta le evidenze:
aidebug --binary /path/to/sample.exe \
--offline --no-tui --report --json-export --yara \
--out-dir reports/
Usa la ricostruzione 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
Analizza una singola unità di traduzione C tramite un artefatto ELF temporaneo e non eseguito:
aidebug --source /path/to/example.c --offline --no-tui
Identifica un file arbitrario indipendentemente dalla sua estensione:
aidebug --identify /path/to/renamed-or-unknown-file --offline
--identify restituisce JSON strutturato con il tipo dichiarato, il tipo MIME, le estensioni
comuni, la confidenza, il metodo, le evidenze, lo SHA-256 e la dimensione. La copertura deterministica
include i formati eseguibili e bytecode comuni, archivi e immagini disco, contenitori Office/OpenDocument/EPUB,
documenti, immagini, audio/video, catture di pacchetti, database, artefatti di registro/event-log, script e testo.
I formati basati su ZIP vengono ispezionati tramite nomi di membri limitati e piccole letture di metadati;
i file non vengono mai eseguiti né estratti.
Installa python-magic insieme al database libmagic del sistema operativo per
firme aggiuntive note alla piattaforma locale:
python -m pip install python-magic
Quando nessuna firma deterministica, struttura o regola testuale corrisponde, un provider AI
configurato può inferire un candidato da metadati limitati: l'estensione, la dimensione,
lo SHA-256, fino a 96 byte di intestazione, 32 byte di coda, l'entropia del campione e il rapporto di NUL.
Il corpo del file, le stringhe estratte e il percorso nel filesystem non vengono inviati. I risultati
solo-AI sono etichettati ai-inference, limitati al 60% di confidenza e richiedono
la validazione dell'analista. Usa --offline per disabilitare completamente il fallback; un
tipo non risolto viene segnalato come Unknown con stato di uscita 2.
Premi S nell'interfaccia terminale principale, oppure avvia direttamente il workspace:
aidebug --binary /path/to/sample.exe --offline --strings