Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
OGhidra — OGhidra collega i Grandi Modelli Linguistici (LLM) tramite Ollama con la piattaforma di reverse engineering Ghidra, consentendo l'analisi binaria basata sull'intelligenza artificiale attraverso il linguaggio naturale. Interagisci con Ghidra mediante query conversazionali e automatizza complessi flussi di lavoro di reverse engineering. | Kitploit
Strumenti/GitHubGitHub/llnl/oghidra
Analisi delle VulnerabilitàReverse EngineeringDebuggerAnalisi MalwareAnalisi di BinariMachine LearningApprendimento e FormazioneReverse Engineering Assistito dall'IA
GitHubllnl/oghidra

OGhidra

Vedi Repository
397455 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

OGhidra collega i Grandi Modelli Linguistici (LLM) tramite Ollama con la piattaforma di reverse engineering Ghidra, consentendo l'analisi binaria basata sull'intelligenza artificiale attraverso il linguaggio naturale. Interagisci con Ghidra mediante query conversazionali e automatizza complessi flussi di lavoro di reverse engineering.

Condividi

OGhidra 3 - Reverse Engineering potenziato dall'IA con Ghidra

Per la versione che utilizza un Orchestrator ispirato a Claude, vedi https://github.com/llnl/OGhidra/tree/orchestrator

Python Version License PRs Welcome

OGhidra collega i Large Language Models con la piattaforma di reverse engineering di Ghidra, consentendo l'analisi binaria guidata dall'IA attraverso il linguaggio naturale. Analizza i binari in modo conversazionale, automatizza flussi di lavoro complessi e mantieni la completa privacy con modelli IA locali.

Tutorial di Configurazione su YouTube

OGhidra Introduction


Cos'è OGhidra?

OGhidra potenzia Ghidra con funzionalità IA, permettendoti di:

  • Analisi in Linguaggio Naturale - Fai domande su funzioni, stringhe e importazioni in un inglese semplice
  • Flussi di Lavoro Automatizzati - Rinomina funzioni, rileva pattern, genera report completi
  • Modelli IA Locali - Privacy completa con modelli eseguiti sul tuo hardware (Ollama)
  • Supporto IA Cloud - Connettiti a API esterne (OpenAI, Google Gemini, Anthropic Claude)
  • Rilevamento Malware - Pattern matching automatico per oltre 12 tecniche di evasione e iniezione
  • Enumerazione Intelligente - Costruisci grafi di conoscenza interrogabili dall'analisi binaria
  • Analisi Multi-Istanza - Esegui più istanze di Ghidra per l'analisi parallela

Come Funziona

root@kitploit:~
graph TD
    A[User Query] --> B[Planning Phase]
    B --> C{Execution Phase}
    C -- Tool Calls --> D[Ghidra/LLM]
    D --> C
    C --> E[Review Phase]
    E -- Agentic Loop --> B
    E --> F[Final Response]

    style E fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px

Ciclo Agentico: OGhidra utilizza un sistema di pianificazione adattivo. Dopo ogni ciclo di esecuzione, i risultati vengono revisionati e l'IA può scegliere di raccogliere ulteriori informazioni o affinare la propria analisi prima di fornire la risposta finale.


Avvio Rapido

Prerequisiti

  1. Python 3.12+ - Controlla la versione: python --version
  2. Ghidra 12.0.3 (Consigliata) - Scarica da Ghidra Releases
    • Il percorso di build/installazione del plugin è documentato per Ghidra 12.0.3
    • Testata con: Ghidra 11.0.3, 11.3.2, 12.0.2, 12.0.3
  3. Java 21 - Richiesto per compilare l'estensione di Ghidra 12.0.3: java -version
  4. Ollama (opzionale, per modelli locali) - Installa da ollama.com

Installazione

root@kitploit:~
# Clone repository
git clone https://github.com/LLNL/OGhidra.git
cd OGhidra

# Install dependencies (choose one)
uv sync                          # Using UV (recommended)
pip install -r requirements.txt  # Using pip

# Configure environment
cp .env.example .env
# Edit .env with your settings

Configurazione del Plugin Ghidra

I passaggi di build del plugin OGhidraMCP riportati di seguito riguardano Ghidra 12.0.3 (consigliata). C'è anche un tutorial video su YouTube: https://www.youtube.com/watch?v=hBD92FUgR0Y

Compilazione dell'Estensione GhidraMCP

In qualità di sviluppatore, dovrai compilare l'estensione GhidraMCP prima di installarla in Ghidra:

  1. Prerequisiti:

    • Ghidra 12.0.3 installata
    • Java 21
  2. Opzione 1: Utilizzo degli script di build automatizzati:

    • Windows:

      root@kitploit:~
      # Set the path to your Ghidra installation (will attempt to find last run copy of Ghidra if not set)
      set GHIDRA_INSTALL_DIR=C:\path\to\ghidra_12.0.3_PUBLIC
      
      # Run the build script
      build_ghidra_plugin.bat
      
    • Unix/Linux/Mac:

      root@kitploit:~
      # Set the path to your Ghidra installation (will attempt to find the last run copy of Ghidra if not set)
      export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.0.3_PUBLIC
      
      # Run the build script (make it executable first if needed)
      chmod +x build_ghidra_plugin.sh
      ./build_ghidra_plugin.sh
      
  3. Opzione 2: Processo di build manuale:

    • Crea/aggiorna OGhidraMCP/gradle.properties con il percorso della tua installazione di Ghidra:

      root@kitploit:~
      GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.0.3_PUBLIC
      
    • Su Unix/Linux/macOS:

      root@kitploit:~
      cd OGhidraMCP
      $GHIDRA_INSTALL_DIR/support/gradle/gradlew buildExtension --info
      
    • Su Windows:

      root@kitploit:~

Installazione dell'Estensione GhidraMCP

Dopo aver compilato con successo l'estensione:

  1. Installa in Ghidra:

    • Apri Ghidra -> File -> Install Extensions
    • Clicca su Add Extension (icona più verde)
    • Sfoglia fino alla directory OGhidraMCP/dist/
    • Seleziona il file zip dell'estensione appena compilata (ad es., ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip)
    • Riavvia Ghidra
  2. Abilita il plugin:

    • Apri un progetto Ghidra
    • File → Configure → Enable Developer
    • Abilita il plugin OGhidraMCP
    • Il server si avvierà su http://localhost:8080/methods

    È NECESSARIO AVERE IL CODE BROWSER APERTO

Download dei Modelli IA

root@kitploit:~
# For Ollama (local models)
ollama pull gemma3:27b           		# Good balance (20GB RAM)
ollama pull nomic-embed-text     		# Embedding model for RAG

# Alternative models
ollama pull gpt-oss:120b         		# High quality (80GB RAM)
ollama pull devstral-2:123b 			# High quality (80GB RAM)
ollama pull devstral-2:123b-cloud       # Cloud Model

Avvio di OGhidra

root@kitploit:~
# GUI Mode (recommended)
uv run main.py --ui

# Interactive CLI
uv run main.py --interactive

# In interactive CLI, test connection
health

Se hai avviato la modalità GUI, usa:

root@kitploit:~
curl http://localhost:8080/methods

Configurazione

Modifica .env per configurare il tuo provider IA:

Opzione 1: Modelli Locali (Ollama)

root@kitploit:~
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434/
OLLAMA_MODEL=gemma3:27b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text

Opzione 2: API Esterne

root@kitploit:~
LLM_PROVIDER=external
EXTERNAL_PROVIDER=google
EXTERNAL_API_KEY=your-api-key-here
EXTERNAL_MODEL=gemini-3.1-flash-lite-preview
EXTERNAL_EMBEDDING_MODEL=gemini-embedding-001

Opzione 3: API Personalizzata Compatibile con OpenAI

root@kitploit:~
LLM_PROVIDER=custom_api
CUSTOM_API_URL=https://api.example.com/v1/chat/completions
CUSTOM_API_KEY=your-api-key-here
CUSTOM_API_MODEL=your-model-name
CUSTOM_API_EMBEDDING_MODEL=your-embedding-model

Impostazioni di Gestione del Contesto

Regola in base alla finestra di contesto del tuo modello:

root@kitploit:~
# Context budget in tokens (adjust to your model's limit)
CONTEXT_BUDGET=100000              # 100K tokens for mid-size models
                                   # 200K+ for frontier models

# Execution settings
MAX_EXECUTION_STEPS=5              # Steps per planning cycle
MAX_AGENTIC_CYCLES=3               # How many plan-execute-review loops
AGENTIC_LOOP_ENABLED=true          # Enable adaptive replanning

Funzionalità Principali

1. Pulsanti Strumento Intelligenti (GUI)

Accesso con un clic alle comuni attività di reverse engineering:

2. Modalità Task

Imposta obiettivi di analisi specializzati:

root@kitploit:~
# In GUI: Use "Task Mode" dropdown
# In CLI: set task_mode <mode>

task_mode malware      # Malware analysis with pattern detection
task_mode vuln         # Vulnerability research focus
task_mode general      # General reverse engineering

3. Rilevamento di Pattern Malware

Rilevamento automatico di oltre 12 pattern di malware:

  • Evasione: PEB Walking, Dynamic API Resolution, Anti-Debug, Anti-VM
  • Iniezione: Process Injection (Locale/Remota)
  • Persistenza: Registry, File System Hooks
  • Offuscamento: String Encoding, API Hashing
  • Escalation dei Privilegi: Manipolazione dei token, bypass UAC

I pattern attivano avvisi automatici nel contesto dell'IA con i mapping MITRE ATT&CK.

4. Enumerazione Intelligente

Costruisci una conoscenza ricca e interrogabile dall'analisi binaria:

root@kitploit:~
# Enumerate all functions with AI summaries
# Choose from:
- Rename Only: Only process generic function names
- Smart Enumeration: Focus on security-relevant functions
- Full Enumeration: Analyze every function in the binary

Caratteristiche:

  • Estrazione di metadati strutturati (LOC, complessità, operazioni)
  • Ottimizzazione della ricerca semantica
  • Assemblaggio del contesto basato sull'intento
  • Supporto multi-vettore per un recupero preciso

5. Gestione delle Sessioni

Salva e ripristina le sessioni di analisi:

root@kitploit:~
# Save progress
File → Save Session

# Load previous work
File → Load Session

# Auto-save after bulk operations
# Sessions include:
- Analyzed functions with summaries
- RAG vectors for semantic search
- Performance statistics
- UI state

Configurazione del Backend

OGhidra supporta due tipi di backend:

  • MCP — Si integra con il server GhidraMCP e richiede che il client Ghidra sia in esecuzione durante l'analisi
  • PyGhidra — Supporta l'analisi headless senza il client Ghidra ed elimina il componente server richiesto da MCP

Selezione di un Backend

Usa la seguente opzione da riga di comando per scegliere un backend:

root@kitploit:~
--ghidra-backend={http,pyghidra}
Backend OptionDescrizione
httpUsa il backend GhidraMCP
pyghidraUsa il backend PyGhidra

Configurazione di PyGhidra

Utilizzo di un Progetto Ghidra Esistente

Specifica un file di progetto Ghidra (.gpr) all'avvio di OGhidra:

root@kitploit:~
--pyghidra-project=/path/to/project.gpr

PyGhidra richiede un progetto Ghidra valido per avviare OGhidra.


Selezione di un Programma

Specifica quale binario all'interno del progetto Ghidra deve essere analizzato:

root@kitploit:~
--pyghidra-program=<program_name>

esempio di comando per selezionare un programma in un progetto Ghidra:

root@kitploit:~
uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-project=/path/to/project.gpr --pyghidra-program=<program_name>

Requisiti:

  • Il nome del programma deve corrispondere esattamente al nome mostrato nella GUI del progetto Ghidra
  • Questa opzione è obbligatoria quando si utilizza un progetto esistente
  • La mancata specifica di un programma impedirà l'avvio di OGhidra

Avvio Diretto di un Binario

Puoi anche fornire direttamente il percorso di un binario:

root@kitploit:~
--pyghidra-binary=/path/to/binary

Quando si utilizza questa opzione, PyGhidra automaticamente:

  1. Crea un nuovo progetto Ghidra (.gpr)
  2. Importa il binario
  3. Apre il binario in OGhidra per l'analisi

esempio di comando per avviare direttamente un binario:

uv run main.py --ui --ghidra-backend=pyghidra --pyghidra-binary=/path/to/binary


Flussi di Lavoro Comuni

Analizzare un Binario Sospetto

  1. Carica il binario in Ghidra e aprilo nel CodeBrowser
  2. Abilita il plugin OGhidraMCP (File → Configure)
  3. Avvia OGhidra: uv run main.py --ui
  4. Imposta la modalità task: seleziona "malware" dal menu a tendina
  5. Esegui la Smart Enumeration: clicca su "Rename All Functions" → "Smart Enumeration"
  6. Fai domande: "Quali sono le funzioni ad alto rischio?" oppure "Mostrami le comunicazioni di rete"

Generare un Report di Sicurezza

root@kitploit:~
# In GUI: Click "Generate Report" button
# Report includes:
- Executive Summary
- Function Inventory (renamed functions with behavior)
- Security Analysis (high-risk functions, patterns)
- Import Analysis
- String Analysis
- Recommendations

Indagare su una Funzione Specifica

  1. Naviga fino alla funzione in Ghidra
  2. Clicca su "Analyze Current Function"
  3. Fai domande di approfondimento:
    • "Cosa fa questa funzione?"
    • "È vulnerabile a un buffer overflow?"
    • "Quali altre funzioni chiamano questa?"

Funzionalità Avanzate

RAG (Retrieval-Augmented Generation)

OGhidra utilizza embedding vettoriali per la ricerca semantica sulle funzioni analizzate:

root@kitploit:~
# Enable in .env
RESULT_CACHE_ENABLED=true
TIERED_CONTEXT_ENABLED=true

Vantaggi:

  • Ricorda le analisi precedenti tra le sessioni
  • Trova funzioni simili a livello semantico
  • Riduce le chiamate LLM ridondanti

Ottimizzazione del Contesto

La compressione del contesto a livelli conserva le informazioni rilevanti:

root@kitploit:~
CURRENT_LOOP_MAX_CHARS=2000   # Recent: full detail
PREV_LOOP_MAX_CHARS=400       # Previous: summaries
OLDER_LOOP_MAX_CHARS=100      # Older: references only

Registrazione Log LLM

Traccia tutte le interazioni IA per il debug:

root@kitploit:~
LLM_LOGGING_ENABLED=true
LLM_LOG_FILE=logs/llm_interactions.log
LLM_LOG_FORMAT=json

Risoluzione dei Problemi

Problemi di Connessione con Ghidra

root@kitploit:~
# Verify plugin is loaded
# Open up codebrowser!

# Check server is running
curl http://localhost:8080/methods

Problemi di Connessione con Ollama

root@kitploit:~
# Verify Ollama is running
ollama list

# Check connectivity
curl http://localhost:11434/api/tags

# Restart Ollama service
ollama serve

Risposte Vuote / Overflow del Contesto

root@kitploit:~
# Reduce context budget
CONTEXT_BUDGET=50000

# Enable compaction
COMPACTION_ENABLED=true
COMPACTION_THRESHOLD=0.75

Prestazioni Lente

  1. Usa modelli più piccoli: passa a gemma3:9b
  2. Riduci i worker paralleli: imposta max_workers=2 nelle operazioni in blocco
  3. Disabilita gli embedding vettoriali: RESULT_CACHE_ENABLED=false
  4. Aumenta il ritardo delle richieste: CUSTOM_API_REQUEST_DELAY=2.0

Panoramica dell'Architettura

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                        OGhidra UI                           │
│                  (GUI / Interactive CLI)                    │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────┐
│                   Bridge (src/bridge.py)                    │
│  ┌────────────────────────────────────────────────────────┐ │
│  │ • Agentic Loop: Plan → Execute → Review → Replan       │ │
│  │ • Tool Router: Ghidra client, LLM client, CAG manager  │ │
│  │ • Context Manager: Budget allocation, compression      │ │
│  └────────────────────────────────────────────────────────┘ │
└───────────┬────────────────────────┬────────────────────────┘
            │                        │
            ▼                        ▼
┌───────────────────────┐  ┌─────────────────────────┐
│   Ghidra Client       │  │   LLM Clients           │
│ • GhidraMCP Plugin    │  │ • Ollama (local)        │
│ • Binary operations   │  │ • External APIs         │
│ • Decompilation       │  │ • Custom endpoints      │
└───────────────────────┘  └─────────────────────────┘
            │                        │
            └────────────┬───────────┘
                         ▼
┌─────────────────────────────────────────────────────────────┐
│               CAG Manager (Knowledge System)                │
│  ┌────────────────────────────────────────────────────────┐ │
│  │ • Vector Store: Semantic search over functions         │ │
│  │ • Pattern Detector: 12+ malware techniques             │ │
│  │ • Metadata Extractor: Structured function analysis     │ │
│  │ • Session Store: Persistent analysis state             │ │
│  └────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

Come Contribuire

Accogliamo con piacere i contributi! Aree di interesse:

  • Nuovi pattern di malware per il rilevamento
  • Integrazioni di provider LLM
  • Miglioramenti UI/UX
  • Ottimizzazioni delle prestazioni
  • Documentazione ed esempi

Consulta CODE_OF_CONDUCT.md per le linee guida della community.


Citazione

Se utilizzi OGhidra nella tua ricerca, ti preghiamo di citare:

root@kitploit:~
@software{oghidra2025,
  title = {OGhidra: AI-Powered Reverse Engineering with Ghidra},
  author = {Enoch Wang},
  year = {2025},
  url = {https://github.com/LLNL/OGhidra}
}

Riconoscimenti

OGhidra si basa su eccellenti progetti open-source:

  • Ghidra - La piattaforma di reverse engineering della NSA
  • Ollama - Runtime LLM locale
  • LaurieWired/GhidraMCP - Plugin Ghidra MCP originale
  • starsong/GhydraMCP - Implementazione MCP migliorata

Licenza

OGhidra è distribuito secondo i termini della licenza BSD 3-Clause, con un'alternativa di licenza commerciale.

Consulta LICENSE e NOTICE.md per i dettagli.

LLNL-CODE-2013290


Supporto

  • Issues: GitHub Issues
  • Discussioni: GitHub Discussions
  • Scrivimi direttamente via email: [email protected]
Scarica lo strumento
cd OGhidraMCP "%GHIDRA_INSTALL_DIR%\support\gradle\gradlew.bat" buildExtension --info
  • Individua l'estensione compilata:

    • Il file zip dell'estensione viene creato in OGhidraMCP/dist/
    • Il nome del file sarà simile a ghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip
  • ToolDescrizione
    Analyze Current FunctionAnalisi approfondita del comportamento della funzione selezionata
    Rename Current FunctionL'IA suggerisce nomi significativi in base all'analisi
    Rename All FunctionsRinomina in blocco con opzioni Smart/Full/Rename-Only
    Analyze ImportsIdentifica librerie e dipendenze esterne
    Analyze StringsTrova URL, credenziali e dati di configurazione
    Generate ReportValutazione completa della sicurezza