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
Outils/GitHubGitHub/symgraph/ghidrassist
Analyse StatiqueAnalyse des VulnérabilitésRétro-ingénierieDébogueursAnalyse de MalwareAnalyse de BinairesApprentissage et ÉducationRétro-Ingénierie Assistée par IA
GitHubsymgraph/ghidrassist

GhidrAssist

Une extension LLM pour Ghidra permettant l'assistance IA en rétro-ingénierie.

Voir le dépôt
69762il y a 2 moisVé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

GhidrAssist

Auteur : Jason Tang

Un plugin avancé alimenté par LLM pour l'assistance interactive en rétro-ingénierie dans Ghidra.

Description

GhidrAssist intègre les grands modèles de langage (LLM) dans Ghidra pour fournir une assistance intelligente pour l'exploration binaire et la rétro-ingénierie. Il prend en charge toute API compatible OpenAI v1, y compris les modèles locaux (Ollama, LM-Studio, Open-WebUI) et les fournisseurs cloud (OpenAI, Anthropic, Azure).

Fonctionnalités clés

Fonctionnalités principales :

  • Explication de code - Explique les fonctions et instructions à la fois en désassemblage et en pseudo-C décompilé
    • Panneau d'analyse de sécurité affichant le niveau de risque, le profil d'activité et l'utilisation de l'API
    • Résumés modifiables avec protection contre l'écrasement automatique
  • Chat interactif - Requêtes conversationnelles multi-tours avec historique persistant
  • Requêtes personnalisées - Requêtes directes au LLM avec contexte facultatif de la fonction/emplacement actuel

Système de connaissances Graph-RAG :

  • Graphe de connaissances sémantique - Représentation hiérarchique de l'analyse binaire
    • Hiérarchie sémantique à 5 niveaux : Déclaration → Bloc → Fonction → Module → Binaire
    • Les résumés pré-calculés par LLM permettent des requêtes rapides sans LLM
    • Persistance SQLite avec algorithmes de graphe JGraphT
    • Recherche en texte intégral (FTS5) sur les résumés et annotations de sécurité
  • Détection de communautés - Découverte automatique de modules via l'algorithme de Leiden
    • Regroupe les fonctions connexes en modules logiques
    • Structure de communauté hiérarchique avec résumés
    • Exploration visuelle du graphe avec profondeur configurable
  • Extraction de caractéristiques de sécurité - Analyse de sécurité complète
    • API réseau : sockets POSIX, WinSock, DNS, SSL/TLS, WinHTTP, WinINet
    • API d'E/S fichier : POSIX, Windows, fonctions de la bibliothèque C
    • API de chiffrement : OpenSSL, Windows crypto, spécifiques à la plateforme
    • Motifs de chaînes : adresses IP, URL, domaines, chemins de fichiers, clés de registre
    • Classification du niveau de risque (FAIBLE/MOYEN/ÉLEVÉ) et profilage d'activité
  • Onglet Graphe sémantique - Interface de graphe de connaissances visuelle
    • Vue graphe avec exploration en profondeur N-sauts
    • Vue liste de toutes les fonctions indexées
    • Recherche sémantique dans les résumés
    • Ré-indexation et analyse de sécurité en un clic

Fonctionnalités avancées :

  • Contrôle de la réflexion/raisonnement étendu - Ajuster la profondeur de raisonnement du LLM pour équilibrer qualité et vitesse
    • Prise en charge d'OpenAI o1/o3/o4, Claude avec réflexion étendue, et modèles de raisonnement locaux
    • Niveaux d'effort configurables : Faible (rapide), Moyen (équilibré), Élevé (approfondi)
    • Persistance par programme - différents binaires peuvent utiliser différents niveaux de raisonnement
    • Implémentation agnostique au fournisseur (Anthropic, OpenAI, Azure, LiteLLM, LMStudio, Ollama)
  • Mode agentique ReAct - Investigation autonome utilisant un raisonnement structuré (Penser-Agir-Observer)
    • Le LLM propose des étapes d'investigation basées sur votre requête
    • Exécution systématique d'outils avec suivi de progression via des listes de tâches
    • Préservation de l'historique des itérations montrant toutes les étapes d'investigation
    • Synthèse finale avec réponse complète et conclusions clés
    • Métriques précises (itérations, appels d'outils, durée)
  • Intégration MCP - Client du protocole de contexte de modèle pour l'analyse basée sur des outils
    • Fonctionne avec GhidrAssistMCP pour les outils spécifiques à Ghidra
    • Appel d'outil conversationnel avec exécution automatique de fonctions
    • Prise en charge du transport SSE (Server-Sent Events)
  • Appel de fonctions - Le LLM peut naviguer de manière autonome dans les binaires et modifier l'analyse
    • Renommer les fonctions et variables
    • Naviguer vers les adresses et références croisées
    • Exécuter des commandes Ghidra
  • Onglet Actions - Proposer et appliquer des améliorations d'analyse en masse
    • Détection de vulnérabilités de sécurité
    • Analyse de la qualité du code
    • Suggestions de refactorisation automatisée
  • RAG (Génération augmentée par récupération) - Améliorer les requêtes avec des documents contextuels
    • Ajouter une documentation personnalisée, des notes d'exploit, des références d'architecture
    • Recherche en texte intégral basée sur Lucene
    • Injection de contexte dans les requêtes
  • Génération de jeu de données RLHF - Recueillir des commentaires pour le réglage fin du modèle

Architecture

Le plugin utilise une architecture modulaire orientée services :

Services de base :

  • Modes de requête : Requêtes classiques, requêtes améliorées par MCP, ou investigation agentique complète
  • Orchestrateur ReAct : Gère les boucles d'investigation autonomes avec suivi des tâches et accumulation des résultats
  • Gestionnaire d'outils conversationnel : Gère les sessions d'appel d'outils multi-tours
  • MCPToolManager : Interface avec les serveurs MCP externes pour des outils spécialisés

Backend Graph-RAG :

  • BinaryKnowledgeGraph : Stockage hybride SQLite + JGraphT pour les connaissances sémantiques
  • GraphRAGEngine : Moteur de requêtes sans LLM utilisant des résumés pré-calculés
  • SemanticExtractor : Résumé de fonctions alimenté par LLM avec traitement par lots
  • SecurityFeatureExtractor : Analyse statique pour les API réseau, E/S fichier et chiffrement
  • CommunityDetector : Implémentation de l'algorithme de Leiden pour la découverte de modules

Couche de données :

  • AnalysisDB : Base de données SQLite pour l'historique des chats, les retours RLHF et les graphes de connaissances
  • SchemaMigrationRunner : Migrations de base de données versionnées pour des mises à niveau transparentes
  • RAGEngine : Recherche de documents basée sur Lucene pour l'injection de contexte personnalisé

Composants d'interface utilisateur :

  • Interface basée sur des onglets : Explication, Requête, Actions, Graphe sémantique, Gestion RAG, Serveurs MCP
  • Orchestration des services via TabController

Feuille de route future :

  • Réglage fin du modèle à l'aide du jeu de données RLHF collecté
  • Intégrations d'outils MCP supplémentaires
  • Capacités agentiques améliorées, collaboration multi-agent
  • Recherche de similarité basée sur des embeddings

Captures d'écran

Screenshot

https://github.com/user-attachments/assets/bd79474a-c82f-4083-b432-96625fef1387

Démarrage rapide

  • Si nécessaire, copiez l'archive ZIP de la version binaire dans le répertoire Ghidra_Install/Extensions/Ghidra.
  • Lancez Ghidra -> Fichier -> Installer l'extension -> Activer GhidrAssist.
  • Chargez un binaire et lancez le CodeBrowser.
  • CodeBrowser -> Fichier -> Configurer -> Divers -> Activer GhidrAssist.
  • CodeBrowser -> Fenêtre -> GhidraAssistPlugin.
  • Assurez-vous que les chemins des bases de données RLHF et RAG sont appropriés pour votre environnement.
  • Pointez l'hôte API vers votre fournisseur d'API préféré et définissez la clé API.
  • (Facultatif) Dans l'onglet Options d'analyse, définissez le niveau d'effort de raisonnement (Aucun/Faible/Moyen/Élevé) pour les modèles prenant en charge la réflexion étendue.
  • Ouvrez GhidrAssist avec l'option GhidrAssist dans le menu Fenêtres et commencez à explorer.

Configuration du LLM

GhidrAssist fonctionne avec toute API compatible OpenAI v1. Les détails de configuration sont spécifiques au fournisseur - voici quelques ressources utiles :

Fournisseurs LLM locaux :

  • LM Studio - Hébergement local facile de modèles avec interface graphique
  • Ollama - Gestion locale de modèles en ligne de commande
  • Open-WebUI - Interface web pour les modèles locaux

Fournisseurs cloud :

  • API OpenAI
  • Anthropic Claude
  • Azure OpenAI

Proxy LiteLLM (Passerelle multi-fournisseurs) :

  • LiteLLM - API unifiée pour plus de 100 fournisseurs de LLM
  • Prend en charge AWS Bedrock, Google Vertex AI, Azure, et bien d'autres
  • Sélectionnez "LiteLLM" comme type de fournisseur dans les paramètres de GhidrAssist
  • Détection automatique de la famille de modèles pour un formatage correct des messages

Modèles recommandés

Pour le mode agentique (nécessite un raisonnement solide et l'utilisation d'outils) :

  • Cloud : GPT-5.1, Claude Sonnet 4.5
  • Local : GPT-OSS, Llama 3.3 70B, DeepSeek-R1 70B, Qwen2.5 72B

Modèles avec prise en charge de la réflexion/raisonnement étendu :

  • OpenAI : o1-preview, o1-mini, o3-mini, o4-mini, gpt-5 (utilisez le paramètre reasoning_effort)
  • Anthropic : Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5, Claude Opus 4.1/4, Claude Sonnet 4 (utilisez le paramètre thinking.budget_tokens)
  • Local : openai/gpt-oss-20b via Ollama/LMStudio (prend en charge les niveaux d'effort)

Directives sur l'effort de raisonnement :

  • Faible : Analyse rapide, jetons de réflexion minimaux (~5-10s, coût réduit)
  • Moyen : Profondeur de raisonnement équilibrée (~15-30s, coût modéré)
  • Élevé : Analyse de sécurité approfondie (~30-60s, coût x2, recommandé pour la recherche de vulnérabilités)

Remarque : Le mode agentique nécessite des modèles avec des capacités solides d'appel de fonctions et de raisonnement multi-étapes. Les modèles plus petits peuvent avoir des difficultés avec les investigations complexes. La réflexion étendue est facultative mais peut améliorer considérablement la qualité de l'analyse pour les tâches complexes de rétro-ingénierie.

Utilisation de GhidrAssistMCP pour l'analyse basée sur des outils

GhidrAssistMCP fournit des outils MCP qui permettent au LLM d'interagir directement avec les capacités d'analyse de Ghidra.

Configuration

  1. Démarrer le serveur MCP

  2. Configurer GhidrAssist :

    • Ouvrez Outils → Paramètres GhidrAssist → Onglet Serveurs MCP
    • Ajoutez le serveur : http://127.0.0.1:8081 en tant que GhidrAssistMCP avec le type de transport SSE
  3. Activer MCP dans les requêtes :

    • Dans l'onglet Requête personnalisée, cochez "Utiliser MCP"
    • Activez éventuellement "Agentique" pour le mode d'investigation autonome

Modes d'utilisation

Requêtes MCP classiques :

  • Activez la case à cocher "Utiliser MCP"
  • Posez des questions comme "Que fait la fonction actuelle ?"
  • Le LLM peut appeler des outils pour obtenir la décompilation, les références croisées, etc.

Mode agentique (recommandé) :

  • Activez les deux cases à cocher "Utiliser MCP" et "Agentique"
  • Posez des questions complexes comme "Trouver les vulnérabilités dans cette fonction" ou "Analyser le graphe d'appels"
  • L'agent ReAct va :
    1. Proposer des étapes d'investigation sous forme de liste de tâches
    2. Exécuter systématiquement des outils pour recueillir des informations
    3. Suivre la progression et accumuler les résultats
    4. Synthétiser une réponse complète avec des preuves

Exemples de requêtes :

  • "Quelles vulnérabilités de sécurité existent dans cette fonction ?"
  • "Tracer le flux de données de l'entrée utilisateur à cet appel"
  • "Trouver toutes les fonctions qui modifient la variable globale X"
  • "Analyser la gestion des erreurs dans la fonction actuelle"

Utilisation du graphe sémantique (Graph-RAG)

L'onglet Graphe sémantique fournit une interface de graphe de connaissances pour explorer les résultats d'analyse binaire sans nécessiter d'appels LLM pour chaque requête.

Pour commencer

  1. Indexer le binaire :

    • Ouvrez l'onglet Graphe sémantique
    • Cliquez sur "Réindexer le binaire" pour extraire les relations structurelles
    • Cliquez sur "Analyse sémantique" pour générer des résumés LLM (nécessite une API)
    • La progression est affichée dans la barre d'état
  2. Explorer le graphe :

    • Vue liste : Parcourir toutes les fonctions indexées avec leurs résumés et indicateurs de sécurité
    • Vue graphe : Visualiser les relations d'appel avec une profondeur N-sauts configurable
    • Vue recherche : Recherche en texte intégral dans les résumés et annotations de sécurité
  3. Analyse de sécurité :

    • Cliquez sur "Analyse de sécurité" pour rechercher des fonctionnalités pertinentes pour la sécurité
    • Les résultats incluent : API réseau, E/S fichier, utilisation du chiffrement, motifs de chaînes
    • Les niveaux de risque (FAIBLE/MOYEN/ÉLEVÉ) sont attribués en fonction des fonctionnalités détectées

Intégration de l'onglet Explication

Lors de l'affichage d'une fonction dans l'onglet Explication :

  • Si la fonction est indexée, le résumé pré-calculé est affiché instantanément
  • Le panneau de sécurité affiche : le niveau de risque, le profil d'activité, les API utilisées
  • Cliquez sur "Modifier" pour modifier les résumés (protégés contre l'écrasement automatique)
  • Utilisez "Actualiser" pour régénérer le résumé avec le LLM

Avantages

  • Requêtes rapides : Les résumés pré-calculés éliminent la latence du LLM pour les requêtes répétées
  • Analyse hors ligne : Parcourir les données indexées sans connexion API
  • Focus sécurité : Détection automatique des motifs de code pertinents pour la sécurité
  • Découverte de modules : La détection de communautés regroupe automatiquement les fonctions connexes

Page d'accueil

https://symgraph.ai

Version minimale

Ce plugin nécessite la version minimale suivante de Ghidra :

  • 11.0

Licence

Ce plugin est publié sous licence MIT.

Télécharger l’outil