Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
auto-re-agent — Reconstrua e valide código C/C++ a partir de programas compilados com IA. | Kitploit
Ferramentas/GitHubGitHub/dryxio/auto-re-agent
Análise EstáticaAnálise de VulnerabilidadesEngenharia ReversaDepuradoresAnálise de BináriosAprendizado e EducaçãoEngenharia Reversa Assistida por IAExploração de Binários
GitHubdryxio/auto-re-agent

auto-re-agent

Reconstrua e valide código C/C++ a partir de programas compilados com IA.

Ver Repositório
1.3k15578há 20 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

re-agent

Agente autónomo de engenharia reversa — loop de reversão/verificação consciente do código-fonte, verificador de objetivos, motor de paridade e backend Ghidra.

Visão Geral

Demonstração: YouTube

O re-agent automatiza um fluxo de trabalho de engenharia reversa combinando um loop de reversor/verificador com descompilação Ghidra através do ghidra-ai-bridge. O pipeline atual também recupera contexto do código-fonte do projeto próximo durante a geração e executa um verificador estrutural conservador antes de aceitar as passagens do verificador.

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

Requisitos

  • Python 3.10+
  • ghidra-ai-bridge — o re-agent utiliza este como backend para descompilar funções, obter referências cruzadas, ler estruturas/enums e consultar o Ghidra. Instale-o e aponte para o seu projeto Ghidra antes de executar re-agent reverse.
  • Uma configuração LLM suportada:
    • ANTHROPIC_API_KEY para Claude
    • OPENAI_API_KEY para APIs compatíveis com OpenAI
    • um login local codex CLI para o provedor Codex

Instalação

pip install auto-re-agent

Início Rápido

# 1. Inicializar a configuração do projeto
re-agent init

# 2. Editar re-agent.yaml com as configurações do seu projeto

# 3. Reverter uma única função
re-agent reverse --address 0x6F86A0

# 4. Reverter todas as funções de uma classe
re-agent reverse --class CTrain --max-functions 10

# 5. Executar verificações de paridade
re-agent parity --address 0x6F86A0

# 6. Verificar progresso
re-agent status

Configuração

O re-agent utiliza um sistema de configuração em camadas (prioridade mais alta primeiro): flags CLI > variáveis de ambiente (RE_AGENT_*) > re-agent.yaml > padrões.

llm:
  provider: claude           # claude | openai | openai-compat | codex
  model: claude-sonnet-4-5-20250929
  # api_key: set via RE_AGENT_LLM_API_KEY env var
  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"

Veja docs/configuration.md para todas as opções.

Referência CLI

ComandoDescrição
re-agent initGerar arquivo de configuração re-agent.yaml
re-agent reverse --address ADDRReverter uma única função
re-agent reverse --class CLASSReverter todas as funções de uma classe
re-agent reverse --dry-runMostrar o que seria revertido
re-agent parity --address ADDRExecutar verificações de paridade numa função
re-agent parity --filter REGEXExecutar verificações de paridade correspondendo ao padrão
re-agent statusMostrar progresso da reversão
re-agent status --class CLASSMostrar progresso para uma classe específica

Provedores LLM

  • Claude (SDK Anthropic) — defina ANTHROPIC_API_KEY
  • OpenAI / compatível com OpenAI — defina OPENAI_API_KEY, opcionalmente defina base_url
  • Codex CLI — utiliza codex exec local com credenciais de login do ChatGPT; nenhuma chave de API necessária

Motor de Paridade

O motor de paridade executa 11 sinais heurísticos configuráveis para verificar se o código revertido corresponde ao binário original:

SinalNívelDescrição
Código-fonte ausenteVERMELHONenhum corpo de fonte encontrado para a função com hook
Marcadores stubVERMELHOA fonte contém marcadores stub (ex.: NOTSA_UNREACHABLE)
Stub trivialVERMELHOMuitas chamadas de plugin com corpo pequeno e sem fluxo de controlo
ASM grande, fonte pequenaVERMELHOASM >= 80 instruções mas fonte <= 12 linhas
Muitas chamadas de pluginAMARELOChamadas de plugin dominam o corpo da função
Corpo curtoAMARELOCorpo tem menos de 6 linhas
Baixa contagem de chamadasAMARELODescompilação mostra muitos callees mas a fonte tem poucos
Sensibilidade FPAMARELOASM tem operações de ponto flutuante mas a fonte não
Incompatibilidade de contagem de chamadasAMARELOA contagem de chamadas na fonte difere significativamente da ASM
Lógica NaNAMARELOA descompilação tem tratamento NaN mas a fonte não
Wrapper inlineINFOA função é um wrapper inline fino

Verificador de Objetivos

O loop de reversão também executa um verificador estrutural conservador após o verificador LLM passar. Ele só bloqueia a aceitação em incompatibilidades fortes, como:

  • lacunas na contagem de chamadas entre o código candidato e a descompilação/ASM
  • lacunas no fluxo de controlo onde o candidato está claramente a faltar ramos ou loops

Isto é intencionalmente mais restrito do que uma verificação completa de equivalência, mas capta falsos positivos óbvios antes de serem registados como reversões bem-sucedidas.

Isto é importante na prática porque um verificador LLM ainda pode dar falso positivo em código que parece plausível enquanto falta a verdadeira estrutura de ramos ou chamadas do binário.

Segurança

  • Sem auto-commit: o re-agent escreve código, mas nunca faz commit ou push
  • Tentativas limitadas: limite máximo de iterações do loop de correção (padrão: 4)
  • Registos determinísticos: cada chamada LLM é registada com carimbo de data/hora
  • Sem operações destrutivas: nunca apaga ficheiros, modifica git ou executa builds
  • Isolamento de sessão: progresso anexado, nunca sobrescrito

Desenvolvimento

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/

Licença

MIT

Baixar ferramenta