Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
IDAssist — Plugin de rétro-ingénierie alimenté par IA pour IDA Pro | Kitploit
Outils/GitHubGitHub/symgraph/idassist
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeRétro-ingénierieDébogueursCollecte d'InformationsAnalyse de BinairesApprentissage AutomatiqueApprentissage et ÉducationRétro-Ingénierie Assistée par IA
GitHub
70573113il y a 11 joursVérifié par Kitploit
symgraph/idassist

IDAssist

Plugin de rétro-ingénierie alimenté par IA pour IDA Pro

Voir le dépôt

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

IDAssist

Plugin de Rétro-ingénierie Assisté par IA pour IDA Pro

Auteur : Jason Tang

Description

IDAssist est un plugin IDA Pro qui intègre l'analyse basée sur LLM directement dans l'interface d'IDA, offrant une rétro-ingénierie binaire assistée par IA via des fournisseurs LLM configurables, des graphes de connaissances sémantiques, une recherche documentaire RAG, et prend en charge une grande diversité de fournisseurs LLM.

Construit avec Python et PySide6, IDAssist s'exécute comme un panneau dockable dans IDA Pro 9.0+ et communique avec des fournisseurs LLM (OpenAI, Anthropic, Ollama, LiteLLM, et plus) pour analyser des fonctions, suggérer des renommages, répondre à des questions sur le code, et construire un graphe de connaissances interrogeable d'un binaire entier.

Capture d'écran

Fonctionnalités principales

Explication de fonction — Génère des explications détaillées en langage naturel des fonctions décompilées avec analyse de sécurité automatique incluant le niveau de risque, le profil d'activité, les indicateurs de sécurité et la détection d'API.

Chat de requête interactif — Posez des questions sur le binaire avec un historique de chat persistant. Utilisez des macros de contexte (#func, #addr, #line, #range) pour injecter du code de fonction, des adresses ou des plages de désassemblage dans les requêtes.

Actions automatisées — Suggestions de renommage assistées par IA pour les fonctions, variables et types. Examinez les modifications proposées dans un tableau avec scores de confiance, puis appliquez les actions sélectionnées à l'IDB.

Graphe de connaissances sémantique — Construisez et explorez un graphe de connaissances des fonctions du binaire, des relations d'appel, des flux de données et des caractéristiques de sécurité. Inclut le rendu visuel du graphe, la recherche sémantique et la détection de communautés.

Recherche documentaire RAG — Téléchargez des documents de référence (.txt, .md, .rst, .pdf) et utilisez-les comme contexte lors des requêtes LLM. Prend en charge la recherche hybride texte+vecteur via l'indexation Whoosh.

Intégration SymGraph — Envoyez et récupérez les noms de fonctions, noms de variables, types et données de graphe vers la plateforme collaborative SymGraph. Inclut un assistant multi-étapes avec résolution de conflits pour les récupérations.

Gestion des paramètres — Configurez plusieurs fournisseurs LLM et MCP, gérez les identifiants API SymGraph, personnalisez le prompt système et définissez les chemins de base de données.

Capacités avancées

Agent ReAct

L'onglet Query prend en charge un mode agent ReAct autonome. Lorsqu'il est activé, le LLM planifie une stratégie d'investigation, exécute des outils pour rassembler des informations, réfléchit aux résultats et synthétise une réponse complète — le tout automatiquement en plusieurs cycles de raisonnement.

Réflexion étendue

Configurez les niveaux d'effort de raisonnement pour contrôler à quel point le LLM « réfléchit » avant de répondre :

NiveauBudget de réflexionIdéal pour
AucunDésactivéRequêtes rapides et simples
Faible~2K jetonsAnalyse simple
Moyen~10K jetonsComplexité modérée
Élevé~25K jetonsAnalyse approfondie, code complexe

Intégration MCP

IDAssist peut se connecter à des serveurs MCP externes pour des interactions LLM augmentées par des outils, où le modèle peut inspecter programmatiquement des fonctions, lire le désassemblage, interroger les références croisées et modifier l'IDB pendant le raisonnement. Les serveurs MCP basés sur URL (SSE ou HTTP streamable) et les serveurs MCP basés sur stdio démarrés à partir d'une commande CLI locale sont pris en charge. IDAssist fournit également des outils internes intégrés pour l'appel de fonction sans nécessiter de serveur MCP externe.

Appel de fonction

Les fournisseurs LLM avec support d'appel d'outils peuvent invoquer des fonctions d'analyse IDA en cours de conversation, permettant une investigation itérative sans intervention manuelle.

Feedback RLHF

Fournissez un feedback pouce vers le haut/pouce vers le bas sur les explications et les réponses aux requêtes. Les retours sont stockés localement et peuvent être utilisés pour améliorer l'ingénierie des prompts et la sélection des modèles.

Architecture

IDAssist suit un modèle MVC (Modèle-Vue-Contrôleur) :

  • Vues (src/views/) — Widgets d'onglets PySide6 qui émettent des signaux lors des interactions utilisateur
  • Contrôleurs (src/controllers/) — Connectent les signaux des vues aux appels de services, gèrent l'état
  • Services (src/services/) — Logique métier, fournisseurs LLM, accès à la base de données, analyse de graphe
  • Outils internes (src/services/internal_tools.py) — Définitions d'outils spécifiques à IDA pour l'appel de fonction LLM
  • Outils graphiques (src/services/graphrag/graphrag_tools.py) — Outils de lecture/écriture du graphe sémantique pour l'interaction LLM

Principes de conception clés :

  • Tous les appels à l'API IDA s'exécutent sur le thread principal via execute_on_main_thread()
  • Les réponses LLM sont diffusées de manière incrémentielle vers l'interface utilisateur
  • Bases de données SQLite locales pour la persistance (aucune base de données externe requise)
  • Registre de services singleton avec initialisation thread-safe

Démarrage rapide

  1. Installer le plugin (recommandé — Gestionnaire de plugins IDA) :

    hcli plugin install idassist
    

    Ceci installe automatiquement le plugin et ses dépendances Python dans l'environnement IDA.

  2. Ou installer manuellement (à partir de l'archive de version) :

    Téléchargez le dernier zip de version depuis les versions GitHub et extrayez-le dans votre répertoire de plugins IDA :

    Linux / macOS :

    unzip IDAssist-*.zip -d ~/.idapro/plugins/
    

    Windows : Extrayez le zip dans %APPDATA%\Hex-Rays\IDA Pro\plugins\.

    Installez ensuite les dépendances en utilisant le Python fourni avec IDA (pas votre Python système) :

    Linux / macOS :

    <IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssist/requirements.txt
    

    Windows :

    "<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssist\requirements.txt"
    

    Remplacez <IDA_INSTALL_DIR> par le chemin d'installation de votre IDA Pro (par exemple, /opt/idapro-9.0 ou C:\Program Files\IDA Pro 9.0).

    Astuce : Vous pouvez également définir la variable d'environnement IDAUSR sur un répertoire personnalisé contenant un sous-répertoire plugins/.

  3. Ouvrir IDAssist : Lancez IDA Pro, ouvrez un binaire et appuyez sur Ctrl+Shift+A (ou Édition > Plugins > IDAssist).

  4. Configurer un fournisseur : Allez dans l'onglet Paramètres, cliquez sur Ajouter sous Fournisseurs LLM, et configurez votre fournisseur préféré.

  5. Analyser une fonction : Naviguez vers n'importe quelle fonction, cliquez sur l'onglet Explain et appuyez sur Expliquer la fonction.

Pour des instructions détaillées, voir Démarrage.

Configuration des fournisseurs LLM

IDAssist prend en charge les types de fournisseurs suivants :

Télécharger l’outil