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
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
GitHubsymgraph/idassist
7057312il y a 3 joursVérifié par Kitploit

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.

Télécharger l’outil

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) :

    root@kitploit:~
    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 :

    root@kitploit:~
    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 :

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

    Windows :

    root@kitploit:~
    "<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 :

TypeMéthode d'authentificationNotes
anthropic_platformClé APIAPI Anthropic directe
anthropic_oauthOAuth (navigateur)Authentification basée sur navigateur
anthropic_claude_cliCLI localeUtilise le binaire CLI claude
bedrockIdentifiants AWSAPI Converse AWS Bedrock directe
openai_platformClé APIAPI OpenAI directe
openai_oauthOAuth (navigateur)Authentification basée sur navigateur
ollamaAucun (local)Modèles auto-hébergés
litellmURL de proxyProxy multi-fournisseur

Modèles recommandés

FournisseurModèleAtouts
Anthropicclaude-sonnet-4-6Analyse de code solide, réflexion étendue
OpenAIgpt-5.3-codexRapide, bonne analyse générale
Ollamaqwen2.5-coder:32bLocal, aucune clé API requise

Utilisation du graphe sémantique

L'onglet Graphe sémantique fournit un graphe de connaissances du binaire :

  1. Réindexer le binaire — Extrait la structure des fonctions, le graphe d'appels et les références croisées
  2. Analyse sémantique — Génère des résumés LLM pour chaque fonction
  3. Analyse de sécurité — Détecte les motifs de vulnérabilité et les API pertinentes pour la sécurité
  4. Flux réseau — Suit les opérations réseau à travers le graphe d'appels
  5. Détection de communautés — Regroupe les fonctions connexes en modules

Explorez le graphe via la Vue liste (appelants, appelés, arêtes, drapeaux), le Graphe visuel (diagramme de nœuds interactif avec expansion N-sauts), ou la Recherche (7 types de requêtes incluant la recherche sémantique, les fonctions similaires et le contexte d'appel).

Actions du menu contextuel

Cliquez avec le bouton droit dans toute vue de désassemblage ou pseudocode pour accéder à :

ActionRaccourciEffet
Expliquer la fonctionCtrl+Shift+EOuvre l'onglet Explain et génère une explication
Demander à propos de la sélectionCtrl+Shift+QOuvre l'onglet Query avec le contexte #func
Suggestions de renommage—Ouvre l'onglet Actions et génère des suggestions

Prérequis

  • IDA Pro 9.0+ avec Python 3 et PySide6
  • Décompilateur Hex-Rays (recommandé pour les fonctionnalités de pseudocode)
  • Paquets Python listés dans requirements.txt

Documentation

  • Index de la documentation
  • Démarrage
  • Références des onglets : Explain | Query | Actions | Graphe sémantique | RAG | Paramètres
  • Flux de travail : Explain | Query | Graphe sémantique

Page d'accueil

https://symgraph.ai

Licence

Voir le fichier LICENSE pour plus de détails.