Contexte de la vulnérabilité Marimo
Le notebook open‑source Marimo, utilisé pour le développement interactif, a été affecté par la faille CVE‑2026‑39987. Cette vulnérabilité de type remote code execution (RCE) est pré‑authentifiée, ce qui signifie qu’un acteur malveillant peut exécuter du code arbitraire dès qu’il accède à l’interface WebSocket "/terminal/ws". Le score CVSS de 9.3 indique une sévérité critique, et toutes les versions publiées de Marimo sont concernées. Sysdig a observé une exploitation active dès les premières heures suivant la divulgation publique.
Chaîne d'attaque détaillée
Le scénario documenté commence à 12:52 p.m. lorsqu’une adresse IP (172.236.12[.]17) ouvre une connexion WebSocket vers le point d’entrée exposé. Cette connexion fournit un shell interactif complet sur le serveur compromis. Le script Python, écrit et débogué à la main, récupère ensuite les informations d’identification stockées dans AWS Secrets Manager via l’API AWS, extrait la clé privée SSH et la stocke localement. En moins de huit secondes, le même script initie une connexion SSH vers un bastion hébergé sur AWS, authentifiant avec la clé récupérée. Les horodatages montrent la séquence exacte : 18:57:22 – connexion WebSocket, 18:57:26 – récupération de la clé AWS, 18:57:30 – authentification SSH réussie.
Après le pivot initial, l’opérateur maintient la session pendant plus de neuf heures, exécutant plus de 850 commandes interactives. Aucun outil offensif public n’est détecté ; le code repose sur une unique invocation de Python 3, fonctionnant en arrière‑plan comme un écouteur de type asyncssh, et communiquant avec un serveur VPS contrôlé par l’attaquant.
Analyse de la rapidité et de l’évitement des détections
Sysdig souligne que la vitesse de huit secondes correspond à ce que l’on attend habituellement d’attaques assistées par IA. Ici, la rapidité provient uniquement de la compétence humaine : le script exploite directement la faille sans passer par un framework d’agent. Cette approche « hand‑rolled » évite les signatures de détection associées aux outils courants (Metasploit, Cobalt Strike, etc.). De plus, le passage direct du secret AWS à la connexion SSH ne laisse aucune trace intermédiaire exploitable par les systèmes de surveillance basés sur le comportement.
Implications pour la défense
Le cas Marimo montre que la réduction du temps entre découverte et exploitation ne dépend pas exclusivement de l’IA. Les équipes de sécurité doivent renforcer la protection des points d’entrée WebSocket, appliquer le principe du moindre privilège sur les secrets stockés dans AWS Secrets Manager, et surveiller les appels d’API AWS depuis des environnements non autorisés. La mise en place de honeypots ciblant les endpoints "/terminal/ws" pourrait détecter les tentatives de connexion pré‑authentifiées. Enfin, la détection d’invocations Python inhabituelles, notamment celles qui écrivent des clés privées sur le disque, constitue un indicateur de compromission pertinent.