JADEPUFFER

Opérateur de ransomware agentique (piloté par LLM) · Première documentation : 1er juillet 2026 ·

Présentation

JADEPUFFER est le nom donné par l'équipe Sysdig Threat Research à ce qu'elle considère comme la première opération de ransomware documentée pilotée de bout en bout par un grand modèle de langage, sans opérateur humain au clavier pendant l'intrusion ni l'extorsion. Sysdig a publié ses premières conclusions le 1er juillet 2026, décrivant un acteur de menace agentique, ou ATA : un opérateur dont la capacité d'attaque est fournie par un agent d'IA plutôt que par une boîte à outils pilotée par un humain ou un script d'exploitation fixe.

L'opérateur a obtenu l'accès initial en exploitant CVE-2025-3248, une faille d'exécution de code à distance non authentifiée dans le terminal de validation de code de Langflow, un framework open source de création d'applications LLM. La CISA a ajouté cette faille à son catalogue Known Exploited Vulnerabilities en mai 2025. À partir de ce seul point d'appui, l'agent LLM a enchaîné de façon autonome reconnaissance, collecte d'identifiants, pivot latéral vers un serveur de production distinct et un scénario destructeur d'extorsion de bases de données contre Alibaba Nacos et MySQL, chiffrant plus de 1 300 enregistrements de configuration avec une clé affichée une seule fois et jamais stockée.

Le 20 juillet 2026, Sysdig a signalé le retour de JADEPUFFER sur la même instance Langflow avec une charge utile nettement améliorée. La première campagne utilisait du Python improvisé et la fonction de chiffrement native d'une base de données ; cette nouvelle campagne a déployé ENCFORGE, un binaire de ransomware compilé en Go spécialement conçu pour détruire les artefacts d'IA et de machine learning : points de contrôle de modèles, index vectoriels et jeux de données d'entraînement sur environ 180 extensions de fichiers. Le contact d'extorsion intégré au binaire correspond à celui de la première campagne, reliant les deux opérations au même acteur.

Pourquoi cela importe aux défenseurs : la chaîne d'attaque de JADEPUFFER s'exécute presque entièrement dans des infrastructures cloud natives et conteneurisées plutôt que sur un poste Windows. Son importance ne tient ni à un nouvel exploit ni à une technique de chiffrement inédite. Sysdig précise qu'aucune technique individuelle n'était sophistiquée. La nouveauté réside dans le fait qu'un agent LLM a enchaîné des techniques ordinaires, une CVE connue, un contournement d'authentification Nacos documenté et une évasion via le socket Docker pour mener une opération d'extorsion complète et auto-corrective sans expert humain pilotant chaque étape. Cela abaisse le niveau de compétence nécessaire à ce type d'attaque au simple coût d'exploitation d'un agent.

À vérifier avant de s'y fier : Sysdig n'a pas indiqué combien d'environnements victimes distincts ont été touchés ni si d'autres déploiements Langflow ont été ciblés par le même opérateur en dehors des deux sessions documentées. Considérez JADEPUFFER comme un opérateur unique suivi à travers deux campagnes publiées, et non comme une famille Ransomware-as-a-Service largement répandue.

Chaîne d'attaque opérationnelle · de Langflow à ENCFORGE

  1. RCE Langflow

    CVE-2025-3248, sans authentification.

  2. Empreinte hôte et collecte d'identifiants

    Piloté par agent, auto-commenté, exécution parallèle.

  3. Persistance MinIO / cron

    Identifiants par défaut, beacon toutes les 30 min via crontab.

  4. Pivot vers Nacos / MySQL

    Contournement d'authentification + insertion d'un administrateur backdoor.

  5. Évasion via le socket Docker

    Conteneur privilégié, montage de l'hôte, nsenter.

    T1611
  6. Déploiement d'ENCFORGE

    Copié entre espaces de noms via le système de fichiers /proc.

  7. Chiffrement des actifs IA / ML

    ~180 extensions, AES-256-CTR + RSA-2048.

  8. Anti-récupération + note de rançon

    Appels vssadmin / bcdedit, liste de processus à arrêter, auto-suppression.

    T1486T1490

La première campagne s'est arrêtée à l'extorsion au niveau base de données dans MySQL et Nacos. Trois semaines plus tard, la seconde campagne est passée à un locker compilé et à un balayage du système de fichiers au niveau de l'hôte depuis le même point d'entrée. Aucune technique individuelle n'exigeait de vaincre un environnement durci ; la nouveauté réside dans le fait qu'un agent LLM les a enchaînées de bout en bout sans intervention humaine.

Source : Sysdig Threat Research Team, 1er et 20 juillet 2026

Stoppez les menaces avant leur propagation

Détectez les comportements malveillants, contenez les terminaux affectés et remédiez aux attaques avec Malware Protection Plus.

Gratuit pendant 30 jours. Terminaux illimités. Aucune carte bancaire requise.

Tactiques, techniques et procédures

JADEPUFFER couvre onze des quatorze tactiques MITRE ATT&CK Enterprise, de l'accès initial à l'impact, sans qu'aucune technique ne soit particulièrement sophistiquée. La densité provient d'un agent qui enchaîne des techniques ordinaires de bout en bout, et non d'une nouvelle chaîne d'exploitation.

Détail des techniquesTechniques clés · JADEPUFFER / ENCFORGE
TactiqueTechniquesComportement observé / télémétrie de défense
Accès initialExécution Python non authentifiée via le terminal /api/v1/validate/code de Langflow (CVE-2025-3248). Télémétrie : journaux d'accès Web sur ce chemin, règles WAF pour les terminaux de validation de code, alertes CISA KEV.
ExécutionPython encodé en Base64 livré via le point d'exécution RCE ; appels à l'API Docker Engine émis depuis le même processus applicatif. Télémétrie : création de sous-processus sous le propriétaire du processus de l'application Web, journaux des appels API Docker.
PersistanceEntrée crontab sur l'hôte Langflow envoyant un beacon sortant toutes les 30 minutes. Télémétrie : événements de modification crontab, connexions sortantes récurrentes à intervalle fixe depuis un hôte applicatif.
Élévation de privilègesRepère le socket Docker exposé, crée un conteneur privilégié avec le système de fichiers racine de l'hôte monté et l'espace de noms PID partagé, puis utilise nsenter pour entrer dans l'espace de noms de l'hôte. Télémétrie : appels API Docker create/start avec Privileged:true et PidMode:host.
Évasion des défensesENCFORGE est compressé avec UPX et n'a déclenché aucune détection par les outils courants de veille sur les menaces, tant sur l'échantillon compressé que décompressé au moment de l'analyse Sysdig. Les charges utiles ultérieures passent au décodage Base64 en ligne dans un point exec() plutôt qu'à base64 -d au niveau shell. Une copie CPython préparée utilise un homoglyphe Unicode (un caractère pi mathématique préfixant « thon ») pour contourner les contrôles naïfs de noms de fichiers.
Accès aux identifiantsRecherche les clés de fournisseurs LLM, identifiants cloud, phrases de récupération de portefeuilles et configurations de bases de données ; récupère credentials.json et .env depuis une instance MinIO utilisant des identifiants par défaut ; forge une session Nacos à l'aide de sa clé de signature JWT par défaut largement documentée et insère directement un compte administrateur backdoor dans la base Nacos.
DécouverteEmpreinte immédiate de l'hôte lors de l'exécution ; analyse de l'espace d'adresses interne et des services depuis l'hôte Langflow ; requêtes API Docker pour énumérer les conteneurs actifs et découvrir le PID de l'hôte avant de préparer l'évasion.
Mouvement latéralPivot depuis l'hôte Langflow vers un serveur MySQL et Alibaba Nacos distinct exposé à Internet à l'aide d'identifiants root MySQL, puis exploitation de la famille de contournements d'authentification Nacos (CVE-2021-29441).
CollecteExtrait la base Postgres sous-jacente de Langflow, prépare la sortie dans des fichiers locaux, les examine puis supprime les fichiers de préparation, une étape de nettoyage rarement effectuée par un script fixe.
Commande et contrôleBeacon HTTP piloté par cron vers l'infrastructure de l'attaquant ; binaire ENCFORGE et interpréteur CPython préparé récupérés en HTTP non chiffré depuis un serveur hébergé sur GCP.
ImpactLa première campagne a chiffré directement les lignes de configuration Nacos. Le binaire ENCFORGE de la seconde campagne chiffre environ 180 types de fichiers IA/ML, invoque vssadmin.exe et bcdedit.exe sous Windows pour neutraliser la récupération et arrête les processus qui verrouillent des fichiers avant le chiffrement.
Reconnaissance / Développement des ressources / Exfiltration—Aucune reconnaissance préalable ni préparation d'infrastructure n'a été observée avant l'exploitation initiale. Sysdig n'a identifié aucune capacité d'exfiltration, aucun canal de données sortant ni site de fuite dans le binaire ENCFORGE lui-même.
Étape 1T1190

Comment l'attaque commence

JADEPUFFER ne s'appuie ni sur un leurre, ni sur un e-mail d'hameçonnage, ni sur une action de l'utilisateur. L'entrée se fait par une seule requête HTTP non authentifiée vers le terminal de validation de code de Langflow, /api/v1/validate/code, que Sysdig identifie comme une faille d'authentification manquante suivie sous CVE-2025-3248. Ce terminal sert à vérifier qu'un extrait de code soumis par l'utilisateur est syntaxiquement valide ; la faille le transforme en exécution de code à distance.

Langflow est une cible attractive pour des raisons dépassant la faille elle-même. Ce framework open source largement déployé sert à créer des applications LLM et de nombreuses instances restent exposées sur des serveurs accessibles depuis Internet. Ces serveurs orchestrant des services d'IA connectés, ils contiennent souvent des clés API de fournisseurs LLM, des identifiants cloud et des connexions à des bases vectorielles et stockages d'objets directement dans leur environnement d'exécution. Ils sont aussi fréquemment déployés rapidement sans contrôles réseau. La CISA a ajouté CVE-2025-3248 à son catalogue Known Exploited Vulnerabilities en mai 2025, et la faille est restée le vecteur d'entrée de JADEPUFFER lors des deux campagnes documentées.

Toutes les charges utiles des deux campagnes ont été livrées de la même manière : du Python encodé en Base64 soumis via ce canal RCE unique. Aucun programme d'installation n'est déposé, aucune macro ni astuce de presse-papiers n'est utilisée. Toute l'opération passe par un seul terminal d'une seule application.

Étape 2T1059.006 · T1552.001 · T1053.003 · T1082 · T1046

Ce qui s'exécute sur le terminal

Immédiatement après l'exécution, l'agent établit l'empreinte de l'hôte : contexte utilisateur, version du noyau et de l'OS, nom d'hôte, interfaces réseau et liste des processus actifs. Il parcourt ensuite l'environnement en parallèle à la recherche de secrets dans plusieurs catégories : clés API de fournisseurs LLM de plusieurs éditeurs, identifiants de fournisseurs cloud avec prise en compte explicite des préfixes de variables d'environnement de clouds chinois aux côtés d'AWS, GCP et Azure, portefeuilles de cryptomonnaies et phrases de récupération, ainsi que chaînes de connexion de bases de données.

Il extrait ensuite la base Postgres sous-jacente de Langflow, collecte les identifiants et enregistrements utilisateurs stockés dans des fichiers locaux, les examine puis supprime les fichiers de préparation. Il sonde ensuite l'espace d'adresses interne et, après avoir trouvé une API de stockage d'objets MinIO réactive, s'authentifie avec la paire d'identifiants par défaut bien connue et déroule un scénario complet d'énumération des buckets : liste de tous les buckets, priorité à celui contenant l'état Terraform et à un bucket de configuration interne, puis récupération de fichiers d'identifiants nommés par leur chemin.

Pour assurer la persistance sur ce premier hôte, il écrit une seule entrée crontab qui envoie un beacon sortant vers l'infrastructure de l'attaquant toutes les 30 minutes en utilisant uniquement la bibliothèque standard Python. Dans la seconde campagne, après avoir localisé un socket Docker, le même agent a construit une chaîne d'évasion de conteneur fonctionnelle au cours d'une session active, découvert le PID de l'hôte via l'API Docker, copié le binaire ENCFORGE à travers la frontière du conteneur via le système de fichiers /proc de l'hôte et l'a lancé directement sur l'hôte, en dehors de l'isolation du conteneur initial. Chaque étape, y compris la récupération après un échec, a été générée et exécutée par le même agent dans une seule session continue.

Étape 3T1027 · T1140 · T1036 · T1611

Comment le malware échappe à la détection

L'évasion de cette opération est architecturale plutôt que fondée sur l'obfuscation des fichiers. Chaque charge utile arrive via la surface légitime d'exécution de code de l'application elle-même : aucun dropper externe, aucune pièce jointe d'e-mail et aucun téléchargement suspect à signaler lors de la livraison. L'application constitue elle-même le mécanisme de livraison.

ENCFORGE est compressé avec UPX et n'a généré aucune détection dans les outils courants de veille sur les menaces, sur l'échantillon compressé comme sur l'échantillon décompressé, au moment de l'analyse Sysdig. Dans la session RCE, la technique de l'agent a mûri au fil des itérations : un premier script construisait sa logique ligne inerte par ligne inerte afin d'éviter de déclencher une signature sur une requête unique, puis il est passé à une charge utile Base64 en ligne à exécution unique, décodée directement dans un point exec(), invisible pour les outils recherchant uniquement des motifs base64 -d au niveau du shell.

L'artefact d'évasion le plus évident est un homoglyphe. En plus de deux interpréteurs CPython nommés normalement, le serveur de préparation de l'opérateur hébergeait un troisième binaire dont le nom remplaçait la lettre p par un caractère pi mathématique Unicode, conçu pour contourner les vérifications de nom de fichier telles que basename in ("python","python3") ou une commande d'arrêt de processus ne correspondant qu'à la chaîne littérale. L'évasion via le socket Docker est en elle-même une technique d'évasion : plutôt que de tenter une action détectable dans le conteneur restreint, l'agent créait pour chaque commande un conteneur privilégié temporaire monté sur l'hôte, puis le détruisait immédiatement, réduisant l'empreinte laissée par chaque artefact.

Étape 4T1078 · T1210 · T1486 · T1490 · T1489

Ce qu'il tente d'accéder ou de modifier

Sur l'hôte Langflow, l'objectif est d'obtenir des identifiants et un accès de préparation : données applicatives du stockage d'objets MinIO, sauvegardes et buckets d'artefacts de machine learning, ainsi que tout fichier .env ou credentials.json accessible. Rien de cela n'est la cible finale ; ce sont des accessible. Rien de cela n'est la cible finale ; ce sont des moyens d'atteindre un serveur de base de données de production distinct.

Sur ce second serveur, l'agent modifie directement la base du service de configuration Nacos : il insère un compte administrateur backdoor dans les tables users et roles, corrige le compte lorsque la première tentative d'insertion échoue, puis utilise la session obtenue pour chiffrer directement les éléments de configuration du service avec la fonction de chiffrement propre à la base, supprimer les tables originales et historiques et les remplacer par une table d'extorsion contenant une demande de paiement.

Dans la campagne ENCFORGE, la cible s'étend au système de fichiers lui-même : environ 180 extensions couvrant les points de contrôle et poids de modèles (formats PyTorch, TensorFlow, HuggingFace, llama.cpp), les fichiers d'index vectoriels et les formats colonnaires de jeux de données d'entraînement. Une option de ligne de commande permet à l'opérateur d'ajouter des extensions personnalisées par campagne, et le texte d'aide du binaire cite comme exemples les adaptateurs de fine-tuning LoRA et les anciens poids de modèles, preuve que le ciblage est volontairement conçu autour de l'infrastructure IA. Le binaire compilé contient également du code anti-récupération propre à Windows, avec des appels littéraux à vssadmin.exe et bcdedit.exe, indiquant qu'un build Windows existe ou est prévu même si la session observée par Sysdig s'exécutait sous Linux.

Flux d'exécution

À quoi ressemble la chaîne d'attaque dans la télémétrie des processus et API

Rôle de Malware Protection Plus

JADEPUFFER commence dans une infrastructure Linux et cloud compromise, mais son activité de ransomware peut atteindre les terminaux Windows via des stockages partagés ou mappés. Malware Protection Plus se concentre sur les comportements côté Windows visibles dans cette zone d'impact.

Les indicateurs clés comprennent vssadmin.exe et bcdedit.exe utilisés pour désactiver la récupération, l'arrêt malveillant de processus et le renommage massif de fichiers en .locked. Malware Protection Plus peut détecter ces comportements, isoler les terminaux affectés et fournir une visibilité sur la filiation des processus pour l'investigation et la réponse.

La compromission Langflow en amont, l'exploitation du socket Docker et l'activité du conteneur vers l'hôte exigent des contrôles de sécurité des workloads cloud, du runtime de conteneurs et du réseau. Malware Protection Plus complète ces couches en protégeant les terminaux Windows où l'attaque devient visible.

Indicateurs de compromission

Les indicateurs durables décrivent des comportements qui devraient persister malgré la reconstruction de l'infrastructure. Les indicateurs volatils (adresses IP, hachages, adresses de contact) sont propres aux deux campagnes documentées et devraient évoluer si l'opérateur recommence.

Modèles de processus et d'API

Durables · 6 modèles

Chaînes comportementales susceptibles de réapparaître indépendamment de la reconstruction de l'infrastructure.

  • python3 -c "exec(base64.b64decode(...))" under a Langflow / uvicorn / gunicorn process ownerRCE-channel execution pattern — entry vector indicator
  • Docker API POST /containers/create with Privileged:true + PidMode:hostHost-escape signature, high confidence
  • nsenter --target 1 invoked from inside a containerNamespace-crossing — not legitimate for application containers
  • MinIO ListBuckets → GetObject(credentials.json / .env) using minioadmin:minioadminDefault-credential object-store enumeration
  • crontab beacon: */30 * * * * python3 -c "urlopen(...)"Fixed-interval beacon persistence
  • Mass *.locked creation in .gguf / .safetensors / .ckpt / .faiss / .parquet pathsAI/ML-targeted encryption impact

Artefacts du système de fichiers et de rançon

Durables · 5 indicateurs

Noms et structures réutilisés par l'opérateur sur plusieurs builds et campagnes.

  • Ransom notes: README, HOW_TO_DECRYPT, README_DECRYPTENCFORGE campaign — filesystem drop
  • README_RANSOM extortion table inserted into targeted databaseFirst campaign — database-native extortion
  • Internal project names: encfile (locker), keyforge (keygen companion)Toolchain identifiers — survive recompilation
  • Deployed binary filename: lockd (staged under /tmp/.sk/)Observed session staging path
  • Staged CPython copy with U+1D70B homoglyph in filenameString-evasion tell — staged but not deployed in observed session

Infrastructure réseau

Volatile · rotation attendue

Utile actuellement, non pérenne. Récupérez en temps réel les valeurs les plus récentes dans les listes d'IoC publiées par Sysdig.

  • 45.131.66[.]106 (AS49453, NL)First campaign source / cron beacon target (port 4444)
  • 34.153.223[.]102:9191 (GCP)ENCFORGE and CPython delivery — second campaign C2
  • e78393397[@]proton[.]meExtortion contact — same in both campaigns; strongest attribution link

Hachages propres au build

Volatils · changent à la recompilation

Liés à cet échantillon compilé précis. Utilisez-les comme éléments de confirmation, et non comme règles de détection principales.

  • 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2SHA-256 — lockd (UPX-packed)
  • ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328SHA-256 — lockd (unpacked, Go 1.22.12)
  • 2378bf45bb54fb2defc460063c9b43e09870741b62692b7f6acbc3cd7898bb3SHA-256 — embedded RSA-2048 public key DER (changes if operator regenerates keypair)

Recommandations de détection

Les techniques propres à JADEPUFFER n'ont rien d'exceptionnel prises séparément. La détection consiste ici à repérer une séquence inhabituelle, et non une signature inédite unique : un processus applicatif lançant des interpréteurs de scripts, une application communiquant avec le socket Docker et une frontière d'espace de noms franchie depuis un conteneur. Ces schémas comportementaux ne dépendent pas du fait de savoir que l'opérateur utilise un LLM.

  1. 01

    Exécution d'un interpréteur de script sous le propriétaire d'un processus d'application Web

    Télémétrie des processus d'exécution

    À surveiller : python3, sh ou des interpréteurs similaires lancés comme enfants d'un processus worker Langflow, uvicorn ou gunicorn, en particulier avec des motifs base64 ou exec() dans la ligne de commande.

    Pourquoi cela fonctionne : un appel légitime de validation de code ne devrait jamais lancer lui-même un shell ou un sous-processus lisant des secrets ou écrivant sur le disque. Cette détection intercepte le vecteur d'entrée quelle que soit la charge utile suivante.

  2. 02

    Accès anormal au socket Docker

    Télémétrie conteneur / API

    À surveiller : tout processus applicatif autre qu'un système d'orchestration émettant des appels vers /var/run/docker.sock, en particulier /containers/create ou /containers/{id}/start.

    Pourquoi cela fonctionne : Langflow, comme la plupart des serveurs applicatifs, n'a aucune raison légitime de créer des conteneurs. Correctement limitée aux processus hors orchestration, cette détection génère presque aucun faux positif.

  3. 03

    Création d'un conteneur privilégié lié à l'hôte

    Télémétrie du runtime de conteneurs

    À surveiller : requêtes de création de conteneur combinant Privileged: true avec PidMode: host ou un montage bind du système de fichiers racine (/:/host).

    Pourquoi cela fonctionne : cette combinaison n'a pratiquement aucun cas d'usage légitime en dehors d'agents système spécialisés et constitue la signature directe d'une tentative d'évasion de conteneur.

  4. 04

    nsenter depuis l'intérieur d'un conteneur

    Télémétrie des processus

    À surveiller : nsenter --target 1 ou des appels équivalents de franchissement d'espace de noms émis depuis un processus conteneurisé.

    Pourquoi cela fonctionne : cette action franchit délibérément la frontière d'isolation que le conteneur est censé faire respecter. Une application conteneurisée ne devrait jamais l'effectuer légitimement.

  5. 05

    Énumération d'un stockage d'objets avec identifiants par défaut

    Journaux applicatifs / d'accès

    À surveiller : appels ListBuckets séquentiels suivis de requêtes GetObject ciblées vers des fichiers nommés credentials.json ou .env, authentifiés avec une paire d'identifiants par défaut connue telle que minioadmin:minioadmin.

    Pourquoi cela fonctionne : ce schéma d'énumération large qui se resserre immédiatement sur des fichiers nommés comme des identifiants se distingue des lectures applicatives normales et reste cohérent avec les comportements connus de JADEPUFFER.

  6. 06

    Chiffrement massif sur les chemins d'actifs IA / ML

    Télémétrie intégrité des fichiers / EDR

    À surveiller : création massive et rapide de fichiers suffixés .locked, concentrée dans des répertoires contenant des poids de modèles, index vectoriels ou jeux de données d'entraînement. Alertez séparément sur tout processus renommant plus qu'un seuil de fichiers sur une courte période.

    Pourquoi cela fonctionne : la concentration sur des extensions propres à l'IA/ML, plutôt qu'un balayage large et indiscriminé, signale que l'opérateur comprend et cible volontairement l'infrastructure IA au lieu d'exécuter un locker générique.

  7. 07

    Exécution de commandes anti-récupération Windows

    Télémétrie EDR / processus

    À surveiller : suppression de clichés instantanés via vssadmin.exe ou modifications de la récupération de démarrage via bcdedit.exe exécutées par un binaire inconnu ou récemment déposé, surtout sur les systèmes proches du stockage de modèles ou des cibles de sauvegarde.

    Pourquoi cela fonctionne : l'utilisation légitime de ces outils d'administration est rare et passe généralement par des processus connus de gestion des changements. Une invocation non planifiée depuis un nouveau processus, surtout hors des chemins de déploiement normaux, est un indicateur fort de ransomware, quel que soit le vecteur de compromission initial.

  8. 08

    Cadence de beacon à intervalle fixe

    Télémétrie réseau / DNS

    À surveiller : connexions sortantes se répétant à un intervalle fixe précis (30 minutes dans le cas observé) depuis un processus lancé par cron sur un serveur applicatif.

    Pourquoi cela fonctionne : le trafic piloté par un humain ou une application légitime produit rarement une cadence aussi exacte. Les beacons lancés par tâche planifiée constituent un signal durable de persistance même si la charge utile change, car le mécanisme cron lui-même reste identique.

Recommandations de durcissement

Toutes les campagnes JADEPUFFER documentées jusqu'à présent ont reposé sur l'exposition à Internet et des configurations par défaut, et non sur la capacité à vaincre un environnement durci. Gain rapide = une seule modification de configuration, déployable en quelques jours. Standard = nécessite un déploiement ou un changement d'architecture, réalisable en quelques semaines.

  1. Corriger Langflow et ne jamais exposer les terminaux de validation de code à Internet

    Critique

    Mettez à jour vers une version de Langflow corrigeant CVE-2025-3248. Ce terminal figure dans le catalogue Known Exploited Vulnerabilities de la CISA avec une échéance de remédiation dépassée depuis mai 2025. Le seul état des correctifs ne suffit pas : placez Langflow et les serveurs d'orchestration IA similaires derrière une authentification et des contrôles d'accès réseau, quelle que soit leur version.

    À faire : considérez comme inacceptable l'exposition Internet d'un terminal d'exécution de code, quel que soit son état de correction. Confirmez que CVE-2025-3248 apparaît dans votre système de gestion des correctifs et qu'elle est corrigée sur toutes les instances Langflow gérées.

  2. Ne jamais exposer un compte administrateur de base de données à Internet

    Gain rapide

    Le serveur MySQL et Nacos en aval était accessible depuis un hôte externe avec des identifiants root. Appliquez des identifiants forts et uniques ainsi que des restrictions d'adresses IP source sur chaque port d'administration de base de données.

    À faire : vérifiez qu'aucune base de données de production n'accepte de connexion administrative en dehors d'un réseau de gestion défini. Auditez MySQL, Nacos, Postgres et tout service acceptant des connexions d'administration à distance.

  3. Restreindre l'accès au socket Docker

    Standard

    Si /var/run/docker.sock doit être accessible depuis un conteneur applicatif, placez-le derrière un proxy de socket n'autorisant que les appels API strictement nécessaires à l'application. Langflow n'en nécessite aucun.

    À faire : exécutez les conteneurs applicatifs sans privilèges root et alertez sur tout appel à l'API Docker Engine provenant d'un processus hors orchestration. Supprimez le montage du socket des conteneurs applicatifs qui n'en ont pas besoin.

  4. Durcir Nacos et les plateformes de découverte de services configurées par défaut

    Standard

    Remplacez la valeur token.secret.key par défaut plutôt que de conserver la valeur documentée, mettez à niveau vers une version imposant une clé personnalisée et ne connectez jamais Nacos à sa base sous le compte root.

    À faire : auditez toute instance Nacos, MinIO ou service similaire utilisant encore des identifiants fournisseur par défaut. MinIO avec identifiants par défaut a été directement exploité dans les deux campagnes sans vulnérabilité supplémentaire.

  5. Ne pas stocker de clés API fournisseur ni d'identifiants cloud dans un runtime d'orchestration IA

    Gain rapide

    La première campagne JADEPUFFER confirme que ces secrets sont collectés immédiatement après l'obtention de l'exécution. Placez-les dans un gestionnaire de secrets dédié, hors de portée des processus accessibles depuis le Web.

    À faire : auditez et renouvelez tout identifiant accessible à un processus Langflow sur un hôte ayant exécuté une version vulnérable. Considérez les clés API LLM et identifiants cloud des environnements applicatifs comme compromis si CVE-2025-3248 n'a pas été corrigée.

  6. Conserver des snapshots hors ligne ou immuables des artefacts de modèles de production

    Standard

    Les données métier chiffrées peuvent généralement être restaurées depuis une sauvegarde. Les points de contrôle de modèles, index vectoriels et jeux de données d'entraînement chiffrés ne peuvent souvent pas être reproduits sans plusieurs semaines de réentraînement. Sysdig estime le coût de récupération entre 75 000 et 500 000 dollars par modèle.

    À faire : appliquez des contrôles d'accès au niveau du système de fichiers sur les répertoires de poids de modèles afin qu'ils ne soient pas lisibles par tous depuis le processus de l'application Web. Incluez les artefacts de modèles dans la planification de sauvegarde et de récupération au même titre que les bases de données, avec au moins une copie hors ligne ou immuable.

Références principales

Sources de cette page. Dernière vérification par rapport aux rapports de Sysdig Threat Research Team jusqu'au 20 juillet 2026.

Interceptez les points d'accès Windows d'un opérateur de ransomware agentique.

Malware Protection Plus détecte les schémas comportementaux de chaîne d'attaque, les commandes anti-récupération, les listes d'arrêt de processus et les renommages massifs de fichiers sur tout terminal Windows géré dans la zone d'impact.