Automating Reverse Engineering avec AI/ML, Graphs, and LLM Agents
Instructeurs: Malachi Jones & Joe Mansour
Dates: 15 au 18 juin 2026
Lieu: Hilton DoubleTree Montreal
Capacité: 25
Ce cours enseigne comment automatiser la rétro-ingénierie (RE) pour les logiciels malveillants, les micrologiciels et l'analyse de vulnérabilités en utilisant l'IA/ML, les graphes, les grands modèles de langage (LLM) et les agents. Les étudiants commencent avec Blackfyre, un framework développé pour ce cours et publié en open source, qui structure les binaires en Protocol Buffers (protobuf) pour l'analyse en aval. Ils utilisent également le plugin Ghidra Blackfyre, supportant à la fois l'exécution interactive et headless pour l'intégration dans les pipelines RE. Sur cette base, des laboratoires pratiques guident les étudiants dans l'implémentation d'un système d'analyse de graphes léger inspiré de BinQL qui s'intègre avec Neo4j pour représenter les binaires comme des graphes de fonctions, blocs de base, imports et chaînes, permettant des flux de travail tels que le regroupement de malware, l'analyse d'écosystème de micrologiciel et le traçage de vulnérabilités. Une implémentation de référence BinQL complète en open source sera publiée après le cycle de formation plus tard cette année. Pour réduire la complexité, les étudiants sont initiés à NL2GQL, qui traduit les questions RE en langage naturel en requêtes de graphes, leur permettant de se concentrer sur l'analyse plutôt que sur la syntaxe de requête.
La seconde moitié du cours se concentre sur les embeddings, les transformers et l'automatisation pilotée par LLM. Les étudiants apprennent à convertir les artefacts binaires—fonctions, chaînes, imports et blocs de base—en embeddings vectoriels pour la détection de similarité, le regroupement, la prédiction de noms de fonctions et l'analyse de vulnérabilités. Une technique centrale est BasicBlockRank (BBR), qui utilise les graphes de flux de contrôle et d'appels pour classer les blocs de base, les artefacts référencés héritant de leur importance, améliorant la qualité des embeddings pour les tâches en aval. Ces embeddings servent également de fondation pour les flux de travail RAG, KnowledgeRAG et agents, où ils ancrent la récupération, le raisonnement et la prise de décision. En s'appuyant sur cela, le cours introduit les transformers pour la prédiction de fonctions et la similarité binaire, et les pipelines d'agents utilisant Autogen et le Model Context Protocol (MCP). Il se conclut par le fine-tuning de modèles LLaMA via LLaMAFactory pour améliorer les applications spécifiques à la RE telles que l'étiquetage de fonctions, le reporting et la précision NL2GQL.
Aperçu du cours
Ce cours enseigne comment automatiser la rétro-ingénierie (RE) pour les logiciels malveillants, les micrologiciels et l'analyse de vulnérabilités en utilisant l'IA/ML, l'analyse de graphes, les grands modèles de langage (LLM) et les agents. Les étudiants commencent avec Blackfyre, un framework développé pour ce cours et publié en open source, qui structure les binaires en Protocol Buffers (protobuf) pour l'analyse en aval. Ils utilisent également le plugin Ghidra Blackfyre, supportant à la fois l'exécution interactive et headless pour l'intégration dans les pipelines RE. Sur cette base, des laboratoires pratiques guident les étudiants dans l'implémentation d'un système d'analyse de graphes léger inspiré de BinQL qui s'intègre avec Neo4j pour représenter les binaires comme des graphes de fonctions, blocs de base, imports et chaînes, permettant des flux de travail tels que le regroupement de malware, l'analyse d'écosystème de micrologiciel et le traçage de vulnérabilités. Une implémentation de référence BinQL complète en open source sera publiée après le cycle de formation plus tard cette année. Pour réduire la complexité, les étudiants sont initiés à NL2GQL, qui traduit les questions RE en langage naturel en requêtes de graphes, leur permettant de se concentrer sur l'analyse plutôt que sur la syntaxe de requête.
La seconde moitié du cours se concentre sur les embeddings, les transformers et l'automatisation pilotée par LLM. Les étudiants apprennent à convertir les artefacts binaires—fonctions, chaînes, imports et blocs de base—en embeddings vectoriels pour la détection de similarité, le regroupement, la prédiction de noms de fonctions et l'analyse de vulnérabilités. Une technique centrale est BasicBlockRank (BBR), qui utilise les graphes de flux de contrôle et d'appels pour classer les blocs de base, les artefacts référencés héritant de leur importance, améliorant la qualité des embeddings pour les tâches en aval. Ces embeddings servent également de fondation pour les flux de travail RAG, KnowledgeRAG et agents, où ils ancrent la récupération, le raisonnement et la prise de décision. En s'appuyant sur cela, le cours introduit les transformers pour la prédiction de fonctions et la similarité binaire, et les pipelines d'agents utilisant Autogen et le Model Context Protocol (MCP). Il se conclut par le fine-tuning de modèles LLaMA via LLaMAFactory pour améliorer les applications spécifiques à la RE telles que l'étiquetage de fonctions, le reporting et la précision NL2GQL.
Sujets par jour
- Jour 1: Introduction aux concepts et techniques de base
- Vue d'ensemble de la RE automatisée et défis des flux de travail manuels
- Fondamentaux de l'analyse binaire (IRs, pyvex/angr, Ghidra p-code) et Blackfyre: extraction, sortie protobuf et bibliothèque Python (avec plugin Ghidra pour modes interactif et headless)
- Introduction aux graphes pour la RE et BinQL: représentation des binaires comme fonctions, blocs de base, chaînes et imports, et requêtes pour supporter les flux de travail inter-binaires
- Introduction aux concepts de base IA/ML pour la RE: bases du NLP et des réseaux neuronaux (vecteurs, embeddings et pourquoi ils sont importants pour les binaires)
- Labs: Utiliser le plugin Ghidra Blackfyre en modes interactif et headless pour extraire les artefacts, puis construire et interroger des graphes binaires avec BinQL comme fondation pour l'analyse inter-binaire et pilotée par ML
- Jour 2: Flux de travail de graphes et analyse inter-binaire
- Flux de travail inter-binaires: regroupement de familles de malware, analyse d'écosystèmes de micrologiciel et traçage de vulnérabilités partagées
- NL2GQL: traduction de questions RE en langage naturel en requêtes de graphes
- Graphes de connaissances pour représenter et raisonner sur des ensembles ou systèmes de binaires
- BasicBlockRank (BBR): une approche basée sur les graphes utilisant les CFG et graphes d'appels pour classer les blocs de base, les artefacts (p. ex., chaînes, imports, fonctions) héritant de l'importance des blocs qui les référencent
- Labs: Appliquer l'analyse de graphes à des ensembles de binaires, utiliser BBR pour propager l'importance de bloc aux artefacts, et améliorer la qualité des embeddings pour les tâches RE à l'échelle de l'écosystème
- Jour 3: Transformers et approches neuronales pour la RE
- Concepts de base ML et réseaux neuronaux pour la rétro-ingénierie, incluant les embeddings pour les fonctions et chaînes
- Architectures Transformer: embeddings de tokens, auto-attention, encodage positionnel, réseaux feed-forward et stratégies de décodage (MLM, greedy, beam search)
- Gestion de séquences longues avec attention sparse, en se concentrant sur Longformer (une variante Transformer qui réduit le coût d'attention pour les longues séquences) pour mettre à l'échelle l'analyse d'entrées binaires et symboliques étendues
- Embeddings pondérés BasicBlockRank (BBR) pour la détection de malware, l'étiquetage de fonctions et l'analyse de similarité, où l'importance des artefacts est héritée des blocs de base critiques
- Labs: Générer des embeddings avec transformers, appliquer Longformer pour les entrées binaires longues, et démontrer comment la pondération BBR améliore les tâches RE telles que la prédiction de fonctions et la recherche de similarité
- Jour 4: LLMs, Agents et Fine-Tuning
- LLMs pour la RE: résumé, étiquetage de fonctions et reporting de vulnérabilités
- Ingénierie de prompts, RAG et KnowledgeRAG pour l'automatisation RE
- Embeddings comme fondation pour les flux de travail d'agents, s'appuyant sur les méthodes du Jour 3 pour alimenter la récupération, l'ancrage et le raisonnement sur les binaires
- Flux de travail agentiques: pipelines mono-agent et multi-agents utilisant Autogen
- Labs: Combiner les embeddings du Jour 3 avec les LLMs, Autogen et le Model Context Protocol (MCP: une norme pour connecter les LLMs à des outils et données externes) pour construire des pipelines d'agents efficaces pour l'automatisation RE
Exigences matérielles/logicielles
Les étudiants doivent s'assurer d'avoir un ordinateur portable avec un minimum de 32 Go de RAM, 250 Go d'espace disque libre, et un processeur avec au moins 4 cœurs, équivalent à un Intel i7 ou supérieur. Le processeur doit être une architecture x86_64 pour assurer la compatibilité avec la machine virtuelle (VM) fournie par le cours et pour exécuter VirtualBox version 7.1 ou ultérieure. De plus, le processeur doit supporter AVX (Advanced Vector Extensions), qui sont requis pour exécuter des frameworks d'apprentissage automatique tels que TensorFlow et PyTorch. Les capacités de connectivité sont également essentielles pour accéder aux services externes utilisés dans les composants de grands modèles de langage (LLMs) du cours. VirtualBox devrait être pré-installé pour permettre la participation aux laboratoires pratiques et exercices.
Prérequis
Les étudiants doivent avoir une base solide en rétro-ingénierie et être à l'aise avec le développement Python orienté objet. La familiarité avec les concepts ML de base (p. ex., vecteurs, apprentissage supervisé, précision/rappel) est utile mais non requise; ces sujets seront introduits et couverts au début du cours pour amener tous les participants à une base commune.
Objectifs
- Automatiser les flux de travail d'analyse de malware, micrologiciel et vulnérabilités en utilisant Blackfyre, BinQL/Neo4j et embeddings pour des tâches telles que la détection de similarité, la prédiction de noms de fonctions, le regroupement et la détection de vulnérabilités.
- Étendre l'analyse au-delà des binaires individuels, en appliquant les graphes et embeddings aux familles de malware et systèmes de micrologiciel pour révéler des insights à l'échelle de l'écosystème et accélérer la découverte de vulnérabilités.
- Exploiter efficacement les LLMs à travers RAG, KnowledgeRAG, agents Autogen, MCPs et fine-tuning avec LLaMAFactory, permettant des requêtes en langage naturel, un résumé précis, le reporting de vulnérabilités et l'étiquetage de fonctions spécifique à la RE.
Qui devrait suivre ce cours
- Rétro-ingénieurs et analystes de malware qui souhaitent automatiser les flux de travail manuels tels que l'étiquetage de fonctions, la détection de similarité et le traçage de vulnérabilités.
- Analystes de micrologiciel intéressés par la mise à l'échelle de l'analyse sur des systèmes de binaires et l'identification de vulnérabilités à l'échelle de l'écosystème.
- Chercheurs en sécurité et ingénieurs avec expérience Python qui souhaitent appliquer les méthodes IA/ML, graphes et LLMs à l'analyse binaire.
- Praticiens explorant l'IA/ML pour la RE qui peuvent déjà connaître les fondamentaux de la RE mais souhaitent une exposition pratique aux embeddings, bases de données de graphes et flux de travail pilotés par LLM.
Qui ne serait pas un bon candidat pour ce cours
Participants sans expérience préalable en rétro-ingénierie — le cours suppose une familiarité avec les concepts et outils RE.
Changements par rapport à l'offre précédente du cours
Le cours de cette année s'étend au-delà des versions antérieures en introduisant des flux de travail pilotés par les graphes, des méthodes LLM avancées et l'automatisation agentique pour la rétro-ingénierie:
- BinQL avec Neo4j: Les étudiants obtiennent un accès anticipé exclusif à BinQL, qui structure les binaires comme des graphes de fonctions, blocs de base, imports et chaînes, et permet l'analyse inter-binaire via la norme de requête GQL.
- Langage naturel vers GQL (NL2GQL): Les questions de rétro-ingénierie exprimées en langage RE quotidien (p. ex., "lister les binaires dans cette image de micrologiciel qui appellent la fonction vulnérable X") sont traduites en requêtes de graphes précises.
- Graphes de connaissances pour mise à l'échelle de l'analyse: Passage des flux de travail mono-binaire aux insights à l'échelle de l'écosystème sur les familles de malware ou systèmes de binaires de micrologiciel.
- KnowledgeRAG: Extension de RAG avec embeddings et graphes de connaissances, ancrant le raisonnement LLM dans des données RE structurées pour le résumé, le reporting de vulnérabilités et la génération de signatures.
- LLMs agentiques avec Autogen: Introduction d'agents LLM autonomes utilisant des outils qui peuvent planifier, raisonner et interagir de manière itérative avec les systèmes RE tels que désassembleurs et bases de données de graphes, permettant une automatisation adaptative de flux de travail comme le triage à grande échelle et l'exploration récursive de familles de malware.
BIO
Dr. Malachi Jones est un chercheur principal et gestionnaire en IA/LLM de cybersécurité chez Microsoft, où il dirige actuellement une équipe qui fait progresser l'autonomie des agents d'équipe rouge au sein de Microsoft Security AI (MSECAI). Son objectif actuel est de construire des agents d'équipe rouge autonomes, tandis que ses travaux antérieurs se concentraient sur l'affinage de grands modèles de langage (LLM) pour les tâches de sécurité et le développement de capacités de rétro-ingénierie dans Security Copilot.
Avec plus de 15 ans dans la recherche en sécurité, Dr. Jones a contribué à la fois au monde académique et à l'industrie. Chez MITRE, il a fait progresser les approches basées sur le ML et l'IR pour la rétro-ingénierie automatisée, et chez Booz Allen Dark Labs, il s'est spécialisé dans la sécurité embarquée et a co-écrit le brevet américain 10,133,871.
En plus de son travail chez Microsoft, Dr. Jones est le fondateur de Jones Cyber-AI, une organisation dédiée à la recherche indépendante et aux initiatives d'enseignement. À travers Jones Cyber-AI, il a développé et enseigné son cours spécialisé, Automating Reverse Engineering Processes avec AI/ML, NLP, and LLMs, lors de conférences de premier plan, notamment Black Hat USA (2019, 2021, 2023–2025) et RECON Montreal (2023–2025). Sa recherche indépendante en IA/ML, graphes et agents LLM garantit que ses cours restent à la pointe et alignés avec les dernières avancées en cybersécurité et rétro-ingénierie.
Il a précédemment occupé le poste de professeur adjoint à l'Université du Maryland, College Park, et détient un B.S. en génie informatique de l'Université de Floride, ainsi qu'un M.S. et un Ph.D. de Georgia Tech, où ses recherches appliquaient la théorie des jeux à la cybersécurité. Son expertise continue de stimuler l'innovation en cybersécurité pilotée par l'IA et en rétro-ingénierie automatisée.
Joe Mansour est chercheur en sécurité chez Microsoft. Spécialisé dans la rétro-ingénierie de malware, il développe des détections pour protéger les clients. Son expertise est ancrée dans une expérience qui couvre le red teaming, l'évaluation de vulnérabilités et le hacking matériel. Joe a contribué à des projets impliquant la rétro-ingénierie automatisée, démontrant son aptitude pour l'analyse binaire et le développement d'outils pour simplifier les complexités de la rétro-ingénierie. Il détient un M.S. en informatique de l'Université Johns Hopkins et un B.S. de l'Université de l'Illinois à Urbana-Champaign.
Pour s'inscrire
Cliquez ici pour vous inscrire.
