En bref

  • JADEPUFFER est le premier opérateur ransomware utilisant un agent LLM autonome pour orchestrer l'intégralité d'une attaque, de l'exploitation initiale au chiffrement des données.
  • Le malware ENCFORGE, développé en Go, cible spécifiquement les infrastructures IA et ML : modèles, datasets, bases vectorielles, index d'embeddings, soit environ 180 extensions de fichiers.
  • La faille CVE-2025-3248 (CVSS 9.8) sur Langflow, permettant une RCE non authentifiée, est le vecteur d'entrée : la mise à jour vers la version 1.3.0+ est impérative.

Un agent LLM en mode attaquant : anatomie d'une première mondiale

La frontière entre l'intelligence artificielle comme outil défensif et l'IA comme vecteur d'attaque vient de franchir un nouveau cap. Le 21 juillet 2026, les chercheurs de Sysdig ont publié une analyse détaillée de JADEPUFFER, une opération ransomware dans laquelle un agent LLM autonome a piloté l'intégralité de la chaîne d'attaque contre des instances Langflow vulnérables. Ce n'est pas simplement un malware qui intègre quelques capacités d'IA pour contourner des détections : c'est un agent qui raisonne, s'adapte en temps réel, écrit et corrige son propre code d'exploitation, et prend des décisions tactiques sans intervention humaine.

La vulnérabilité au cœur de cette campagne est la CVE-2025-3248, une faille critique d'authentification manquante sur l'endpoint /api/v1/validate/code de Langflow. Avec un score CVSS de 9.8, cette faille permettait à tout attaquant non authentifié d'exécuter du code Python arbitraire directement sur le serveur hôte. Langflow, l'un des frameworks de construction de workflows d'agents IA les plus populaires au monde avec plusieurs millions de téléchargements, avait corrigé cette vulnérabilité dans sa version 1.3.0. Cependant, au moment des attaques documentées par Sysdig, un nombre significatif d'instances restait exposé sans patch sur des réseaux accessibles depuis Internet.

Ce qui distingue fondamentalement JADEPUFFER de toutes les campagnes ransomware documentées jusqu'à ce jour, c'est le comportement adaptatif de l'agent LLM lors de la phase d'exploitation. Lors de la première tentative, l'agent a généré un script Python destiné à établir un accès persistant sur le système cible. Ce script a échoué en raison des particularités de la configuration du serveur. Plutôt que de s'arrêter, comme le ferait un outil d'exploitation automatisé classique, l'agent a analysé le message d'erreur retourné par le système, identifié la cause du blocage, et généré une version corrigée de son code. Ce cycle s'est répété six fois en cinq minutes et vingt-quatre secondes, avec un temps de réaction moyen inférieur à une minute entre chaque itération, jusqu'à ce que l'agent trouve le vecteur d'exploitation fonctionnel.

Une fois l'accès initial établi, l'agent LLM a conduit une reconnaissance automatisée du système hôte : identification des services en cours d'exécution, cartographie de l'arborescence des répertoires, localisation des fichiers de configuration contenant des credentials, énumération des variables d'environnement. Sur la base de ces informations, l'agent a procédé à une escalade de privilèges et à un mouvement latéral vers d'autres systèmes du réseau interne, le tout sans aucune intervention de l'opérateur humain. Cette autonomie décisionnelle constitue le véritable saut qualitatif : l'attaquant n'a fourni que l'objectif stratégique, laissant à l'agent le soin de définir et d'exécuter la tactique.

Dans une seconde phase, documentée lors d'un retour sur une instance précédemment compromise, JADEPUFFER a déployé ENCFORGE, un ransomware entièrement développé en langage Go. La particularité d'ENCFORGE est d'avoir été conçu spécifiquement pour maximiser les dommages sur des infrastructures d'intelligence artificielle. Le malware cible environ 180 extensions de fichiers soigneusement sélectionnées pour couvrir l'ensemble de l'écosystème ML moderne : les fichiers .ckpt et .safetensors (checkpoints PyTorch et modèles Hugging Face), les fichiers .bin et .pkl (modèles binaires et pickles Python), les extensions .faiss, .index et .hnswlib (bases vectorielles pour systèmes RAG), les formats .parquet, .arrow et .jsonl (datasets d'entraînement), ainsi que les fichiers de configuration d'Ollama, LangChain, LlamaIndex et des principaux frameworks d'agents IA.

D'un point de vue technique, ENCFORGE implémente un schéma de chiffrement hybride robuste. Une clé AES-256 unique est générée aléatoirement pour chaque fichier chiffré, et cette clé est elle-même chiffrée avec la clé publique RSA-4096 de l'opérateur. Sans la clé privée correspondante, contrôlée exclusivement par JADEPUFFER, le déchiffrement est cryptographiquement impossible. Les fichiers compromis reçoivent une extension distinctive et l'agent dépose automatiquement des notes de rançon dans chaque répertoire affecté, contenant des instructions de contact via une messagerie chiffrée sur le réseau Tor.

L'impact économique de ce type d'attaque sur les organisations dépasse largement celui d'un ransomware traditionnel. Un chiffrement de fichiers bureautiques est douloureux mais récupérable depuis les sauvegardes. La perte d'un modèle IA entraîné sur des mois de travail, avec des coûts GPU pouvant atteindre plusieurs centaines de milliers d'euros pour les plus grands modèles, représente une destruction de valeur considérable. La destruction d'une base vectorielle RAG peut paralyser l'ensemble d'un système d'IA générative d'entreprise du jour au lendemain. ENCFORGE a manifestement été architecturé par des acteurs qui maîtrisent les workflows MLOps et comprennent où se situe la valeur dans une infrastructure IA moderne.

La question de l'attribution reste à ce jour non résolue. Sysdig n'a pas formellement lié JADEPUFFER à un groupe APT connu. Les éléments de l'infrastructure C2 présentent des similitudes avec d'autres campagnes d'extorsion observées en 2025, sans permettre une attribution formelle. Ce qui est établi en revanche, c'est que l'outil LLM utilisé pour orchestrer l'agent appartient à la famille des frameworks commerciaux de construction d'agents, suggérant un groupe disposant de ressources financières non négligeables mais accessible à un spectre d'acteurs plus large que les seuls États-nations.

L'IA offensive entre dans l'ère opérationnelle

La découverte de JADEPUFFER marque une étape que la communauté cybersécurité redoutait depuis l'émergence des LLM capables de générer du code : l'emploi d'agents IA autonomes comme vecteur d'attaque à part entière. Jusqu'à présent, les usages offensifs documentés de l'IA se limitaient à l'assistance à la rédaction de phishing plus convaincants, à la génération de variantes de malwares pour contourner les signatures antivirus, ou à la synthèse vocale pour des attaques de vishing. JADEPUFFER franchit une frontière qualitative en confiant à un agent la prise de décision tactique en temps réel, dans une boucle de rétroaction continue.

Cette évolution a des conséquences directes sur les capacités de détection des équipes SOC. Les solutions de sécurité traditionnelles s'appuient en grande partie sur la reconnaissance de comportements répétitifs et déterministes. Un agent qui génère dynamiquement son code d'exploitation, adapte sa stratégie en fonction des réponses du système, et varie ses patterns à chaque tentative, rend obsolètes de nombreuses approches basées sur des règles statiques ou des signatures comportementales fixes. Les équipes de sécurité devront accélérer l'adoption de capacités de détection basées elles-mêmes sur l'IA, notamment autour de l'analyse des anomalies d'exécution de processus et des comportements réseau anormaux.

Le ciblage délibéré des actifs IA met également en lumière un angle mort structurel dans les stratégies de protection des entreprises. Si les bases de données relationnelles, les systèmes ERP et les données clients bénéficient généralement de politiques de sauvegarde bien établies, les modèles ML entraînés, les datasets propriétaires et les configurations de pipelines IA sont souvent stockés avec beaucoup moins de rigueur sécuritaire. L'émergence d'ENCFORGE devrait accélérer la prise de conscience sur la nécessité de traiter ces actifs avec le même niveau de protection que n'importe quelle donnée critique de l'entreprise.

Enfin, la CVE-2025-3248 sur Langflow illustre le problème récurrent du cycle de vie sécurité dans l'écosystème des outils IA open source. Développés à grande vitesse pour répondre à une demande du marché explosive, ces projets accumulent parfois une dette de sécurité significative. Langflow est aujourd'hui un standard pour construire des workflows d'agents IA, déployé dans des milliers d'environnements de production. Une faille CVSS 9.8 non patchée sur un tel outil représente une surface d'attaque massive, d'autant que ces instances sont fréquemment exposées sur Internet avec des accès réseau larges.

Ce qu'il faut retenir

  • Mettre à jour Langflow vers la version 1.3.0+ immédiatement et auditer les logs pour détecter toute requête POST suspecte vers /api/v1/validate/code depuis juin 2025.
  • Intégrer les modèles ML, datasets et bases vectorielles dans les politiques de sauvegarde offline avec des points de restauration testés régulièrement.
  • L'IA offensive autonome est désormais opérationnelle : les équipes SOC doivent réévaluer leurs capacités de détection face à des attaquants adaptatifs et non-déterministes.

Comment détecter une compromission JADEPUFFER sur mon infrastructure ?

Recherchez dans les logs Langflow toute requête POST vers /api/v1/validate/code depuis des adresses IP inconnues, notamment si ces requêtes contiennent du code Python encodé en base64. Des processus Python ou Go lancés de manière inhabituelle depuis le processus Langflow, des fichiers avec des extensions inconnues dans vos répertoires de modèles, ou des connexions réseau sortantes non habituelles vers des adresses Tor constituent des indicateurs de compromission forts. En cas de suspicion, isolez immédiatement l'instance et réalisez une capture mémoire avant toute action corrective.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact