Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
auto-re-agent — Reconstruire et valider du code C/C++ à partir de programmes compilés grâce à l'IA. | Kitploit
Outils/GitHubGitHub/dryxio/auto-re-agent
Analyse StatiqueAnalyse des VulnérabilitésRétro-ingénierieDébogueursAnalyse de BinairesApprentissage et ÉducationRétro-Ingénierie Assistée par IAExploitation de Binaires
GitHubdryxio/auto-re-agent

auto-re-agent

Reconstruire et valider du code C/C++ à partir de programmes compilés grâce à l'IA.

Voir le dépôt
1.3k15511il y a 13h 51mVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

re-agent

Agent autonome de rétro-ingénierie — boucle de rétro-ingénierie/vérification consciente du code source, vérificateur d'objectif, moteur de parité, et backend Ghidra.

Aperçu

Démo : YouTube

re-agent automatise un flux de travail de rétro-ingénierie en combinant une boucle de rétro-ingénierie/vérification avec la décompilation Ghidra via ghidra-ai-bridge. Le pipeline actuel récupère également le contexte source du projet à proximité pendant la génération et exécute un vérificateur structurel conservateur avant d'accepter les passages de vérification.

root@kitploit:~
re-agent reverse --class CTrain
    │
    ├── Config (re-agent.yaml + env + CLI)
    │   └── project_profile (stub_markers, hook_patterns, source_layout)
    │
    ├── Orchestrateur (single / class runner)
    │   ├── Sélecteur de fonctions (classe par nombre d'appelants, filtre les complétées)
    │   ├── Collecteur de contexte (décompilation + xrefs + structures + récupération source)
    │   │
    │   ├── Boucle Agent (rétro-ingénierie → vérification → correction, max N tours)
    │   │   ├── Fournisseurs LLM : Claude | APIs compatibles OpenAI | Codex CLI
    │   │   └── Modèles de prompt (fichiers .md personnalisables)
    │   │
    │   ├── Vérificateur d'objectif (vérifications de cohérence du nombre d'appels + flux de contrôle)
    │   │
    │   ├── Moteur de parité (porte de vérification VERT/JAUNE/ROUGE)
    │   │   ├── Indexeur source (analyseur de corps C++)
    │   │   ├── 11 signaux heuristiques (tous configurables/activables)
    │   │   └── Règles sémantiques + Approbations manuelles
    │   │
    │   └── État de session (fichier JSON de progression)
    │
    └── Backend RE : ghidra-ai-bridge
        └── Drapeaux de capacités → dégradation progressive

Prérequis

  • Python 3.10+
  • ghidra-ai-bridge — re-agent utilise ceci comme backend pour décompiler les fonctions, récupérer les xrefs, lire les structures/énums et interroger Ghidra. Installez-le et pointez-le vers votre projet Ghidra avant d'exécuter re-agent reverse.
  • Une installation LLM prise en charge :
    • ANTHROPIC_API_KEY pour Claude
    • OPENAI_API_KEY pour les APIs compatibles OpenAI
    • une connexion codex CLI locale pour le fournisseur Codex

Installation

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

Démarrage rapide

root@kitploit:~
# 1. Initialiser la configuration du projet
re-agent init

# 2. Modifier re-agent.yaml avec les paramètres de votre projet

# 3. Rétro-ingénierie d'une seule fonction
re-agent reverse --address 0x6F86A0

# 4. Rétro-ingénierie de toutes les fonctions d'une classe
re-agent reverse --class CTrain --max-functions 10

# 5. Exécuter les vérifications de parité
re-agent parity --address 0x6F86A0

# 6. Vérifier la progression
re-agent status

Configuration

re-agent utilise un système de configuration en couches (priorité la plus élevée en premier) : drapeaux CLI > variables d'environnement (RE_AGENT_*) > re-agent.yaml > valeurs par défaut.

root@kitploit:~
llm:
  provider: claude           # claude | openai | openai-compat | codex
  model: claude-sonnet-4-5-20250929
  # api_key: défini via la variable d'env 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"

Voir docs/configuration.md pour toutes les options.

Référence CLI

CommandeDescription
re-agent initGénérer le fichier de configuration re-agent.yaml
re-agent reverse --address ADDRRétro-ingénierie d'une seule fonction
re-agent reverse --class CLASSRétro-ingénierie de toutes les fonctions d'une classe
re-agent reverse --dry-runAfficher ce qui serait rétro-conçu
re-agent parity --address ADDRExécuter les vérifications de parité sur une fonction
re-agent parity --filter REGEXExécuter les vérifications de parité correspondant au motif
re-agent statusAfficher la progression de la rétro-ingénierie
re-agent status --class CLASSAfficher la progression pour une classe spécifique

Fournisseurs LLM

  • Claude (SDK Anthropic) — définir ANTHROPIC_API_KEY
  • OpenAI / compatible OpenAI — définir OPENAI_API_KEY, éventuellement définir base_url
  • Codex CLI — utilise codex exec local avec les identifiants de connexion ChatGPT ; aucune clé API requise

Moteur de parité

Le moteur de parité exécute 11 signaux heuristiques configurables pour vérifier que le code rétro-conçu correspond au binaire d'origine :

SignalNiveauDescription
Source manquanteROUGEAucun corps source trouvé pour la fonction hookée
Marqueurs de stubROUGELa source contient des marqueurs de stub (ex. NOTSA_UNREACHABLE)
Stub trivialROUGEForte dépendance aux appels plugin avec un corps minuscule et aucun flux de contrôle
Grand ASM petite sourceROUGEASM >= 80 instructions mais source <= 12 lignes
Forte dépendance aux appels pluginJAUNELes appels plugin dominent le corps de la fonction
Corps courtJAUNELe corps a moins de 6 lignes
Faible nombre d'appelsJAUNELa décompilation montre de nombreux appelés mais la source en a peu
Sensibilité aux virgules flottantesJAUNEL'ASM contient des opérations en virgule flottante mais pas la source
Déséquilibre du nombre d'appelsJAUNELe nombre d'appels source diffère significativement de l'ASM
Logique NaNJAUNELa décompilation contient une gestion NaN mais pas la source
Wrapper inlineINFOLa fonction est un mince wrapper inline

Vérificateur d'objectif

La boucle de rétro-ingénierie exécute également un vérificateur structurel conservateur après les passes du vérificateur LLM. Il ne bloque l'acceptation que sur des incohérences fortes telles que :

  • écarts du nombre d'appels entre le code candidat et la décompilation/ASM
  • écarts de flux de contrôle où le candidat manque clairement des branches ou des boucles

Ceci est intentionnellement plus étroit qu'une vérification complète d'équivalence, mais cela permet d'attraper les faux positifs évidents avant qu'ils ne soient enregistrés comme des rétro-ingénieries réussies.

C'est important en pratique car un vérificateur LLM peut toujours produire des faux positifs sur du code qui semble plausible tout en manquant la véritable structure de branche ou d'appel du binaire.

Sécurité

  • Pas d'auto-commit : re-agent écrit du code mais ne commet ni ne pousse jamais
  • Réessais limités : Plafond strict du nombre d'itérations de correction (par défaut : 4)
  • Journaux déterministes : Chaque appel LLM est journalisé avec horodatage
  • Aucune opération destructive : Ne supprime jamais de fichiers, ne modifie pas git, n'exécute pas de builds
  • Isolation de session : La progression est ajoutée, jamais écrasée

Développement

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/

Licence

MIT

Télécharger l’outil