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
auto-re-agent — Agente di reverse engineering open-source basato su IA che utilizza Ghidra e LLM per ricostruire e convalidare funzioni C/C++ da binari. | Kitploit
Strumenti/GitHubGitHub/dryxio/auto-re-agent
Analisi StaticaAnalisi delle VulnerabilitàReverse EngineeringDebuggerAnalisi di BinariApprendimento e FormazioneReverse Engineering Assistito dall'IABinary Exploitation
GitHubdryxio/auto-re-agent

auto-re-agent

Agente di reverse engineering open-source basato su IA che utilizza Ghidra e LLM per ricostruire e convalidare funzioni C/C++ da binari.

Vedi Repository
1.3k15529 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 →
Condividi

re-agent

Agente autonomo di reverse engineering — loop reverser/checker con consapevolezza del sorgente, verificatore obiettivo, motore di parità e backend Ghidra.

Panoramica

Demo: YouTube

re-agent automatizza un flusso di lavoro di reverse engineering combinando un loop reverser/checker con la decompilazione Ghidra tramite ghidra-ai-bridge. La pipeline corrente recupera anche il contesto del progetto sorgente vicino durante la generazione ed esegue un verificatore strutturale conservativo prima di accettare i passaggi del checker.

root@kitploit:~
re-agent reverse --class CTrain
    │
    ├── Config (re-agent.yaml + env + CLI)
    │   └── project_profile (stub_markers, hook_patterns, source_layout)
    │
    ├── Orchestrator (single / class runner)
    │   ├── Function Picker (ranks by caller count, filters completed)
    │   ├── Context Gatherer (decompile + xrefs + structs + source retrieval)
    │   │
    │   ├── Agent Loop (reverser → checker → fix, max N rounds)
    │   │   ├── LLM Providers: Claude | OpenAI-compatible APIs | Codex CLI
    │   │   └── Prompt Templates (customizable .md files)
    │   │
    │   ├── Objective Verifier (call-count + control-flow sanity checks)
    │   │
    │   ├── Parity Engine (GREEN/YELLOW/RED verification gate)
    │   │   ├── Source Indexer (C++ body parser)
    │   │   ├── 11 Heuristic Signals (all configurable/toggleable)
    │   │   └── Semantic Rules + Manual Approvals
    │   │
    │   └── Session State (JSON progress file)
    │
    └── RE Backend: ghidra-ai-bridge
        └── Capability flags → graceful degradation

Requisiti

  • Python 3.10+
  • ghidra-ai-bridge — re-agent utilizza questo backend per decompilare funzioni, ottenere xref, leggere struct/enum e interrogare Ghidra. Installalo e puntalo al tuo progetto Ghidra prima di eseguire re-agent reverse.
  • Una configurazione LLM supportata:
    • ANTHROPIC_API_KEY per Claude
    • OPENAI_API_KEY per API compatibili con OpenAI
    • un login codex CLI locale per il provider Codex

Installazione

root@kitploit:~
pip install auto-re-agent

Avvio Rapido

root@kitploit:~
# 1. Inizializza la configurazione del progetto
re-agent init

# 2. Modifica re-agent.yaml con le impostazioni del progetto

# 3. Reverse di una singola funzione
re-agent reverse --address 0x6F86A0

# 4. Reverse di tutte le funzioni in una classe
re-agent reverse --class CTrain --max-functions 10

# 5. Esegui controlli di parità
re-agent parity --address 0x6F86A0

# 6. Controlla lo stato
re-agent status

Configurazione

re-agent utilizza un sistema di configurazione a livelli (priorità decrescente): flag CLI > variabili d'ambiente (RE_AGENT_*) > re-agent.yaml > valori predefiniti.

root@kitploit:~
llm:
  provider: claude           # claude | openai | openai-compat | codex
  model: claude-sonnet-4-5-20250929
  # api_key: impostata tramite la variabile d'ambiente RE_AGENT_LLM_API_KEY
  timeout_s: 1800

backend:
  type: ghidra-bridge
  cli_path: ~/ghidra-tools/ghidra

orchestrator:
  max_review_rounds: 4
  max_functions_per_class: 10
  objective_verifier_enabled: true

project_profile:
  source_root: ./source/game_sa
  hook_patterns:
    - 'RH_ScopedInstall\s*\(\s*(\w+)\s*,\s*(0x[0-9A-Fa-f]+)'
  stub_markers: ["NOTSA_UNREACHABLE"]
  stub_call_prefix: "plugin::Call"

Consulta docs/configuration.md per tutte le opzioni.

Riferimento CLI

Provider LLM

  • Claude (Anthropic SDK) — imposta ANTHROPIC_API_KEY
  • OpenAI / compatibile con OpenAI — imposta OPENAI_API_KEY, opzionalmente imposta base_url
  • Codex CLI — utilizza codex exec locale con credenziali di accesso ChatGPT; nessuna chiave API richiesta

Motore di Parità

Il motore di parità esegue 11 segnali euristici configurabili per verificare che il codice reversato corrisponda al binario originale:

Verificatore Obiettivo

Il loop di reversal esegue anche un verificatore strutturale conservativo dopo che il checker LLM ha superato. Blocca l'accettazione solo in caso di forti discrepanze come:

  • differenze nel conteggio delle chiamate tra il codice candidato e la decompilazione/ASM
  • differenze nel flusso di controllo quando al candidato mancano chiaramente rami o cicli

Questo è intenzionalmente più ristretto di un controllo di equivalenza completo, ma cattura falsi positivi evidenti prima che vengano registrati come reversal riusciti.

Questo è importante nella pratica perché un checker LLM può comunque dare falsi positivi su codice che sembra plausibile ma che manca della vera struttura di rami o chiamate dal binario.

Sicurezza

  • Nessun auto-commit: re-agent scrive codice ma non esegue mai commit o push
  • Riprova limitate: Limite massimo di iterazioni del ciclo di correzione (predefinito: 4)
  • Log deterministici: Ogni chiamata LLM viene registrata con timestamp
  • Nessuna operazione distruttiva: Non cancella mai file, modifica git o esegue build
  • Isolamento della sessione: I progressi vengono aggiunti, mai sovrascritti

Sviluppo

root@kitploit:~
git clone https://github.com/dryxio/auto-re-agent.git
cd auto-re-agent
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

pytest tests/
ruff check src/
mypy src/re_agent/

Licenza

MIT

Scarica lo strumento
ComandoDescrizione
re-agent initGenera il file di configurazione re-agent.yaml
re-agent reverse --address ADDRReverse di una singola funzione
re-agent reverse --class CLASSReverse di tutte le funzioni in una classe
re-agent reverse --dry-runMostra cosa sarebbe reversato
re-agent parity --address ADDREsegue controlli di parità su una funzione
re-agent parity --filter REGEXEsegue controlli di parità corrispondenti al pattern
re-agent statusMostra lo stato del reverse
re-agent status --class CLASSMostra lo stato per una classe specifica
SegnaleLivelloDescrizione
Sorgente mancanteREDNessun corpo sorgente trovato per la funzione hookata
Marcatori stubREDIl sorgente contiene marcatori stub (es. NOTSA_UNREACHABLE)
Stub banaleREDPrevalenza di chiamate plugin con corpo minuscolo e nessun flusso di controllo
ASM grande, sorgente piccoloREDASM >= 80 istruzioni ma sorgente <= 12 righe
Prevalenza di chiamate pluginYELLOWLe chiamate plugin dominano il corpo della funzione
Corpo cortoYELLOWIl corpo ha meno di 6 righe
Basso numero di chiamateYELLOWLa decompilazione mostra molti callee ma il sorgente ne ha pochi
Sensibilità FPYELLOWASM ha operazioni in virgola mobile ma il sorgente no
Discrepanza nel numero di chiamateYELLOWIl numero di chiamate nel sorgente differisce significativamente dall'ASM
Logica NaNYELLOWLa decompilazione gestisce NaN ma il sorgente no
Wrapper inlineINFOLa funzione è un sottile wrapper inline