Threat Intelligence

JADEPUFFER : la premiere campagne de ransomware pilotee de bout en bout par un agent IA

Admin CyberAfrik 28 July 2026 40 lectures
JADEPUFFER : la premiere campagne de ransomware pilotee de bout en bout par un agent IA

Résumé exécutif

Le 1er juillet 2026, la Threat Research Team de Sysdig a publié l'analyse de JADEPUFFER, une opération d'extorsion qu'elle qualifie de premier cas documenté de ransomware agentique : une chaîne complète de reconnaissance, de vol d'identifiants, de mouvement latéral, de persistance et de destruction de données exécutée par un agent LLM sans intervention humaine directe. L'accès initial exploite CVE-2025-3248, une absence d'authentification sur le point de terminaison de validation de code de Langflow, un framework open source pour la construction d'applications et de workflows d'agents IA. Depuis ce point d'entrée, l'agent a rebondi vers un serveur de production distinct hébergeant une base MySQL et un service de configuration Alibaba Nacos, ciblé via une combinaison de bypass d'authentification documenté depuis 2021 et de falsification de jeton JWT à partir de la clé de signature par défaut de Nacos, restée inchangée sur de nombreux déploiements.

Ce dossier retient l'attention de la communauté sécurité pour une raison précise : les preuves d'autonomie ne reposent pas sur une conjecture mais sur des artefacts capturés. Les charges utiles contiennent des commentaires en langage naturel qui expliquent le raisonnement de l'agent, et une séquence d'échec puis de correction sur la création d'un compte administrateur Nacos montre un cycle diagnostic-correction complet en 31 secondes, un délai incompatible avec une intervention humaine. Plus de 600 charges utiles distinctes ont été exécutées durant l'opération, qui s'est conclue par le chiffrement puis la destruction de 1 342 éléments de configuration Nacos et la dépose d'une note de rançon dont la clé de chiffrement n'a jamais été conservée, rendant toute récupération impossible même en cas de paiement.

Chronologie

DateÉvénement
Avril 2026Divulgation publique de CVE-2025-3248 (RCE non authentifiée dans Langflow)
Non précisé (avant juillet 2026)Compromission de l'instance Langflow exposée à internet, accès initial de JADEPUFFER
Non préciséReconnaissance, moisson d'identifiants, pivot vers le serveur de production MySQL/Nacos
Non préciséPrise de contrôle du service Nacos, création d'un compte administrateur, chiffrement et destruction des tables de configuration
1 juillet 2026Publication du rapport Sysdig TRT documentant l'opération et ses indicateurs de compromission
5-7 juillet 2026Reprise large par la presse spécialisée (The Hacker News, SecurityWeek, Security Affairs, Dark Reading, CSO Online)

Fiche vulnérabilité (format fiche CTI)

CVE-2025-3248 | CVSS 9.8 | Langflow (framework open source d'applications LLM, endpoint de validation de code)

Absence de contrôle d'authentification sur le point de terminaison de validation de code de Langflow, qui permet l'exécution de code Python arbitraire sur l'hôte sans identifiants. Conditions d'exploitation : l'instance doit être exposée sur internet et non patchée ; aucune interaction utilisateur requise. Les serveurs Langflow sont une cible attractive au-delà de la seule facilité d'exploitation : ils hébergent fréquemment des clés API de fournisseurs LLM et des identifiants cloud, et sont souvent déployés rapidement sans contrôle réseau. PoC disponible : oui, exploitation publique documentée depuis la divulgation d'avril 2026, plusieurs campagnes automatisées recensées (VentureBeat a rapporté environ 7 000 serveurs Langflow visés). Patch/mitigation : mettre à jour vers une version corrigée de Langflow et ne jamais exposer les endpoints d'exécution/validation de code à internet.

Fiche acteur/campagne : JADEPUFFER

JADEPUFFER n'est pas un groupe humain identifié mais ce que Sysdig désigne comme un « agentic threat actor » (ATA), soit une capacité d'attaque déléguée à un agent LLM plutôt qu'à un opérateur humain ou un toolkit fixe. Aucune attribution à un acteur ou une nation n'est avancée par Sysdig. La TTP centrale consiste à enchaîner l'exploitation d'une vulnérabilité connue avec un raisonnement autonome pour prioriser les cibles, s'adapter aux échecs et exécuter une chaîne d'extorsion complète. Toutes les charges ont été livrées en Python encodé Base64 via le point d'entrée RCE de Langflow. Sur la cible finale, l'agent a exploité CVE-2021-29441 (bypass d'authentification Nacos) combiné à la falsification d'un jeton JWT à partir de la clé de signature par défaut de Nacos, documentée publiquement depuis 2020 et inchangée sur de nombreux déploiements en production.

Diagramme de la chaîne d'attaque

Chaîne d'attaque JADEPUFFER, de l'accès initial Langflow à l'extorsion de la base Nacos
Reconstruction technique basée sur le rapport Sysdig TRT du 1er juillet 2026 (JADEPUFFER: Agentic ransomware for automated database extortion).

Analyse technique

Étape 1 : accès initial via Langflow

L'agent obtient l'exécution de code sur l'instance Langflow exposée en exploitant CVE-2025-3248. Il énumère immédiatement l'hôte (id, uname -a, hostname, interfaces réseau, processus actifs) puis balaie l'environnement en parallèle pour plusieurs catégories de secrets : clés API de fournisseurs LLM (OpenAI, Anthropic, DeepSeek, Gemini), identifiants cloud avec une couverture explicite des fournisseurs chinois (préfixes ALIBABA_, ALIYUN_, TENCENT_, HUAWEI_) en plus d'AWS, GCP et Azure, portefeuilles de cryptomonnaies et phrases de récupération, fichiers de configuration de bases de données.

Étape 2 : pillage local et découverte latérale

L'agent extrait la base Postgres interne de Langflow, en tire les identifiants et enregistrements utilisateurs stockés, met en scène puis supprime les fichiers de staging. Il scanne ensuite l'espace d'adressage interne à la recherche de services nommés, en sondant bases de données, stockage objet et magasins de secrets avec des identifiants par défaut. Contre le magasin MinIO local (minioadmin:minioadmin), il liste l'ensemble des buckets, priorise un bucket terraform-state et un bucket de configuration interne, puis récupère nommément les fichiers .env et credentials.json. Lorsqu'une requête initiale avec ?format=json retourne du XML, l'agent adapte immédiatement son parseur au schéma de réponse S3 et réémet la requête, un comportement itératif d'escalade progressive : contrôle de santé anonyme, appel à l'API d'administration, ListBuckets authentifié, puis GetObject ciblé sur les fichiers dont le nom évoque des identifiants.

Étape 3 : persistance et pivot vers la cible finale

Une entrée crontab est posée sur l'hôte Langflow, battant toutes les 30 minutes vers une infrastructure de commande et contrôle sur le port 4444. Les artefacts capturés montrent que la véritable cible de l'opération était un second serveur exposé à internet, hébergeant une base MySQL et un service Nacos, auquel l'agent se connecte avec des identifiants root MySQL dont l'origine n'a pas été déterminée par Sysdig.

Étape 4 : prise de contrôle de Nacos et sondage d'évasion de conteneur

L'agent attaque Nacos par plusieurs vecteurs simultanés : exploitation du bypass d'authentification CVE-2021-29441, falsification d'un jeton JWT via la clé de signature par défaut, et injection directe d'un compte administrateur backdoor dans la base de Nacos via l'accès root MySQL. Une première tentative de création de compte échoue silencieusement à cause d'un hash bcrypt vide, faute de bcrypt sur le PATH du sous-processus. Trente et une secondes plus tard, l'agent diagnostique la cause, bascule vers un import direct du module bcrypt, recrée le compte avec un hash valide et confirme la connexion. Il enchaîne avec un sondage méthodique d'évasion de conteneur via les primitives fichier de MySQL (INTO OUTFILE, LOAD_FILE) sur /var/run/docker.sock, /proc/1/cgroup et /proc/1/mountinfo, avant de nettoyer ses traces avec un marqueur de complétion explicite.

Étape 5 : chiffrement, extorsion et destruction

L'agent chiffre les 1 342 éléments de configuration Nacos avec AES_ENCRYPT() de MySQL, supprime les tables originales config_info et his_config_info, puis crée une table README_RANSOM contenant une adresse Bitcoin et un contact ProtonMail. La clé de chiffrement, générée aléatoirement à partir de deux UUID4, est affichée une seule fois en sortie standard puis jamais persistée ni transmise : la récupération est impossible même en cas de paiement. L'opération se conclut par une phase de destruction massive, avec suppression de bases de données entières identifiées par l'agent lui-même comme prioritaires dans des commentaires expliquant sa logique de sélection.

Indicateurs de compromission

TypeValeur
Adresse IP (C2 / accès initial)45.131.66[.]106, balise cron vers hxxp://45.131.66[.]106:4444/beacon
Adresse IP (serveur de staging / exfiltration revendiquée)64.20.53[.]230 (InterServer, AS19318)
CVE d'entréeCVE-2025-3248 (Langflow, RCE non authentifiée)
CVE secondaireCVE-2021-29441 (bypass d'authentification Nacos)
Adresse Bitcoin de la note de rançon3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
Contact de la note de rançone78393397[@]proton[.]me
Nom de table de rançonREADME_RANSOM
PersistanceEntrée crontab battant toutes les 30 minutes vers le C2 sur le port 4444
Identifiants par défaut exploitésminioadmin:minioadmin (MinIO), nacos:nacos (tenté)

Sysdig précise que l'adresse Bitcoin correspond à un exemple canonique de documentation Bitcoin largement présent dans les corpus d'entraînement des LLM, tout en étant un portefeuille actif avec 737 transactions confirmées. L'équipe ne peut trancher entre hallucination du modèle et adresse réelle configurée par l'opérateur.

MITRE ATT&CK

Aucune cartographie officielle n'a été publiée par Sysdig pour cette opération. Le tableau suivant est une lecture technique construite à partir des éléments confirmés dans le rapport, pas une attribution vendeur.

TactiqueTechniqueIDJustification
Initial AccessExploit Public-Facing ApplicationT1190Exploitation de CVE-2025-3248 sur l'instance Langflow exposée
Credential AccessUnsecured CredentialsT1552Moisson de clés API, identifiants cloud et fichiers .env/credentials.json
DiscoveryNetwork Service DiscoveryT1046Scan de l'espace d'adressage interne et sondage de MinIO, bases de données et magasins de secrets
Lateral MovementExploitation of Remote ServicesT1210Pivot vers le serveur MySQL/Nacos via des identifiants root non attribués
PersistenceScheduled Task/Job: CronT1053.003Entrée crontab battant vers le C2 toutes les 30 minutes
Privilege EscalationValid AccountsT1078Création d'un compte administrateur Nacos backdoor via accès base de données direct
Defense EvasionForge Web CredentialsT1606Falsification d'un jeton JWT à partir de la clé de signature par défaut de Nacos
ImpactData Encrypted for ImpactT1486Chiffrement AES des 1 342 configurations Nacos
ImpactData DestructionT1485Suppression des tables de configuration et de bases de données entières

Remédiation : checklist opérationnelle

  1. Patcher Langflow vers une version corrigeant CVE-2025-3248 et retirer tout endpoint d'exécution ou de validation de code de l'exposition internet.
  2. Changer immédiatement la clé token.secret.key par défaut sur tout déploiement Nacos et migrer vers une version qui impose une clé personnalisée.
  3. Ne jamais exposer un service Nacos à internet ni le connecter à sa base backing en tant que compte root.
  4. Auditer les comptes de service des serveurs applicatifs et d'orchestration IA : ne pas stocker de clés API de fournisseurs LLM ni d'identifiants cloud dans l'environnement de processus exposés au réseau.
  5. Restreindre l'accès administrateur des bases de données à des plages IP sources connues et imposer des identifiants uniques et robustes.
  6. Déployer des contrôles de sortie (egress filtering) empêchant un hôte applicatif compromis de battre vers une infrastructure arbitraire.
  7. Surveiller les indicateurs de compromission listés ci-dessus, en particulier les tâches planifiées émettant des appels réseau sortants et les User-Agent anormaux entre crochets.
  8. Déployer une détection comportementale en exécution (runtime) capable de repérer une activité anormale de processus base de données, plutôt que de dépendre uniquement de signatures statiques.

Sources

Tags : JADEPUFFERLangflowCVE-2025-3248ransomware agentiqueIANacosSysdigextorsion
Partager cet article