﻿﻿{"id":2283,"date":"2026-02-06T09:15:24","date_gmt":"2026-02-06T08:15:24","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/ghidra-mcp-quand-lia-fait-le-reverse-engineering-a-votre-place\/"},"modified":"2026-02-06T09:15:24","modified_gmt":"2026-02-06T08:15:24","slug":"ghidra-mcp-quand-lia-fait-le-reverse-engineering-a-votre-place","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/ghidra-mcp-quand-lia-fait-le-reverse-engineering-a-votre-place\/","title":{"rendered":"Ghidra MCP &#8211; Quand l&#8217;IA fait le reverse engineering \u00e0 votre place"},"content":{"rendered":"<p>Ghidra, le framework de reverse engineering open source de la NSA, est un outil que tous les analystes s\u00e9cu utilisent au quotidien pour d\u00e9monter des binaires. Sauf que voil\u00e0&#8230; quand vous passez des heures \u00e0 renommer des fonctions, documenter des structures et tracer des cross-references \u00e0 la main, \u00e7a finit par devenir un poil r\u00e9p\u00e9titif.<\/p>\n<p>Du coup, un d\u00e9veloppeur a eu l&#8217;id\u00e9e de coller un<br \/>\n<a href=\"https:\/\/korben.info\/onemcp-serveur-mcp-anthropic-facile.html\">serveur MCP<\/a><br \/>\n(Model Context Protocol) directement sur Ghidra. &#8220;Encore un wrapper IA bidon ??&#8221;&#8230; mais non les amis car<br \/>\n<a href=\"https:\/\/github.com\/bethington\/ghidra-mcp\">Ghidra MCP Server<\/a><br \/>\nest un bridge Python + plugin Java qui expose pas moins de 110 outils d&#8217;analyse via le protocole MCP. Rien que \u00e7a.<\/p>\n<p>Concr\u00e8tement, \u00e7a veut dire que vous pouvez brancher Claude, ou n&#8217;importe quel outil compatible MCP, directement sur votre session Ghidra et lui demander de d\u00e9compiler des fonctions, tracer des call graphs, renommer des variables en batch ou m\u00eame cr\u00e9er des structures de donn\u00e9es automatiquement.<\/p>\n<p>Au niveau architecture, un plugin Java tourne dans Ghidra et expose une API REST sur localhost:8089, puis un bridge Python fait la traduction entre le protocole MCP et ces endpoints HTTP. Vous lancez Ghidra, vous activez le serveur via Tools &gt; GhidraMCP &gt; Start MCP Server, et hop, votre IA peut causer directement avec le d\u00e9compileur.<\/p>\n<p>Et c&#8217;est pas juste de la d\u00e9compilation basique. Y&#8217;a de l&#8217;analyse de structures, de l&#8217;extraction de strings, du mapping m\u00e9moire complet, de la gestion de scripts Ghidra (plus de 70 scripts d&#8217;automatisation livr\u00e9s avec le projet !) et m\u00eame un syst\u00e8me de documentation cross-binaire.<\/p>\n<p>En gros, vous analysez un malware, vous documentez toutes les fonctions, et si vous tombez sur une variante plus tard, l&#8217;outil transf\u00e8re automatiquement votre doc via un syst\u00e8me de hash SHA-256 sur les opcodes. Plut\u00f4t chouette ! En revanche, \u00e7a marche pas si le code est fortement obfusqu\u00e9&#8230; logique.<\/p>\n<p>Bon, pour ceux qui connaissent d\u00e9j\u00e0<br \/>\n<a href=\"https:\/\/korben.info\/oghidra-dopage-a-lia-pour-ghidra-en-local.html\">OGhidra<\/a><br \/>\n(qui fait tourner des LLM en local dans Ghidra), Ghidra MCP Server c&#8217;est l&#8217;approche inverse. Au lieu d&#8217;embarquer l&#8217;IA dans Ghidra, c&#8217;est Ghidra qui s&#8217;ouvre \u00e0 l&#8217;IA via un protocole standardis\u00e9. Du coup vous n&#8217;\u00eates pas limit\u00e9 \u00e0 un seul mod\u00e8le&#8230; Claude, GPT, Gemini, n&#8217;importe quel client MCP fait l&#8217;affaire.<\/p>\n<p>C\u00f4t\u00e9 pr\u00e9requis, faut Java 21, Maven 3.9+, Python 3.10+ et \u00e9videmment Ghidra 12.0.2. L&#8217;install se fait en quelques \u00e9tapes : cloner le repo, pip install, copier les libs Ghidra dans lib\/, compiler avec Maven et d\u00e9ployer le zip dans les extensions. Rien de bien sorcier si vous \u00eates d\u00e9j\u00e0 dans l&#8217;\u00e9cosyst\u00e8me&#8230; sauf si vous \u00eates sous Windows, l\u00e0 faudra peut-\u00eatre un peu gal\u00e9rer avec Maven.<\/p>\n<p>Les op\u00e9rations batch sont par exemple tr\u00e8s int\u00e9ressantes&#8230; Avec cette fonctionnalit\u00e9, vous pouvez renommer 50 variables d&#8217;un coup, poser des commentaires sur toutes les fonctions d&#8217;un module, typer des param\u00e8tres en s\u00e9rie.<\/p>\n<p>Bref, si vous faites de l&#8217;analyse de binaires et que vous voulez arr\u00eater de tout vous taper \u00e0 la main, c&#8217;est le genre de combo reverse engineering + IA qui va vous faire gagner pas mal de temps !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ghidra, le framework de reverse engineering open source de la NSA, est un outil que tous les analystes s\u00e9cu utilisent au quotidien pour d\u00e9monter des binaires. Sauf que voil\u00e0&#8230; quand vous passez des heures \u00e0 renommer des fonctions, documenter des structures et tracer des cross-references \u00e0 la main, \u00e7a finit par devenir un poil r\u00e9p\u00e9titif. Du coup, un d\u00e9veloppeur a eu l&#8217;id\u00e9e de coller un serveur MCP (Model Context Protocol) directement sur Ghidra. &#8220;Encore un wrapper IA bidon ??&#8221;&#8230; mais non les amis car Ghidra MCP Server est un bridge Python + plugin Java qui expose pas moins de 110 outils d&#8217;analyse via le protocole MCP. Rien que \u00e7a. Concr\u00e8tement, \u00e7a veut dire que vous pouvez brancher Claude, ou n&#8217;importe quel outil compatible MCP, directement sur votre session Ghidra et lui demander de d\u00e9compiler des fonctions, tracer des call graphs, renommer des variables en batch ou m\u00eame cr\u00e9er des structures de donn\u00e9es automatiquement. Au niveau architecture, un plugin Java tourne dans Ghidra et expose une API REST sur localhost:8089, puis un bridge Python fait la traduction entre le protocole MCP et ces endpoints HTTP. Vous lancez Ghidra, vous activez le serveur via Tools &gt; GhidraMCP &gt; Start MCP Server, et hop, votre IA peut causer directement avec le d\u00e9compileur. Et c&#8217;est pas juste de la d\u00e9compilation basique. Y&#8217;a de l&#8217;analyse de structures, de l&#8217;extraction de strings, du mapping m\u00e9moire complet, de la gestion de scripts Ghidra (plus de 70 scripts d&#8217;automatisation livr\u00e9s avec le projet !) et m\u00eame un syst\u00e8me de documentation cross-binaire. En gros, vous analysez un malware, vous documentez toutes les fonctions, et si vous tombez sur une variante plus tard, l&#8217;outil transf\u00e8re automatiquement votre doc via un syst\u00e8me de hash SHA-256 sur les opcodes. Plut\u00f4t chouette ! En revanche, \u00e7a marche pas si le code est fortement obfusqu\u00e9&#8230; logique. Bon, pour ceux qui connaissent d\u00e9j\u00e0 OGhidra (qui fait tourner des LLM en local dans Ghidra), Ghidra MCP Server c&#8217;est l&#8217;approche inverse. Au lieu d&#8217;embarquer l&#8217;IA dans Ghidra, c&#8217;est Ghidra qui s&#8217;ouvre \u00e0 l&#8217;IA via un protocole standardis\u00e9. Du coup vous n&#8217;\u00eates pas limit\u00e9 \u00e0 un seul mod\u00e8le&#8230; Claude, GPT, Gemini, n&#8217;importe quel client MCP fait l&#8217;affaire. C\u00f4t\u00e9 pr\u00e9requis, faut Java 21, Maven 3.9+, Python 3.10+ et \u00e9videmment Ghidra 12.0.2. L&#8217;install se fait en quelques \u00e9tapes : cloner le repo, pip install, copier les libs Ghidra dans lib\/, compiler avec Maven et d\u00e9ployer le zip dans les extensions. Rien de bien sorcier si vous \u00eates d\u00e9j\u00e0 dans l&#8217;\u00e9cosyst\u00e8me&#8230; sauf si vous \u00eates sous Windows, l\u00e0 faudra peut-\u00eatre un peu gal\u00e9rer avec Maven. Les op\u00e9rations batch sont par exemple tr\u00e8s int\u00e9ressantes&#8230; Avec cette fonctionnalit\u00e9, vous pouvez renommer 50 variables d&#8217;un coup, poser des commentaires sur toutes les fonctions d&#8217;un module, typer des param\u00e8tres en s\u00e9rie. Bref, si vous faites de l&#8217;analyse de binaires et que vous voulez arr\u00eater de tout vous taper \u00e0 la main, c&#8217;est le genre de combo reverse engineering + IA qui va vous faire gagner pas mal de temps !<\/p>\n","protected":false},"author":1,"featured_media":2284,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2283","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2283"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2283\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2284"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}