La société de sécurité en IA PromptArmor a dévoilé une chaîne d'attaque visant Databricks Genie Code : un Skill contenant du code malveillant peut, sans que l'utilisateur s'en rende compte, envoyer les données du tenant vers un serveur de l'attaquant, tout en faisant apparaître une fenêtre de connexion de phishing dans l'interface de chat. Parmi les quatre types de contrôles de sécurité officiels listés par PromptArmor, aucun n'a bloqué cette chaîne.
Genie Code est l'assistant agentique intégré à Databricks, qui permet à l'utilisateur d'interroger des tables, d'exécuter des analyses et de générer des graphiques en langage naturel, les résultats étant directement rendus dans la fenêtre de chat du navigateur. Un Skill est un paquet de capacités que l'on peut télécharger vers l'agent ; il contient un texte descriptif et peut également embarquer du code exécutable.
Comment se déroule l'attaque
Le scénario démontré par PromptArmor ne compte que quatre étapes. L'utilisateur télécharge un Skill d'analyse de données d'apparence normale et demande à Genie de l'utiliser pour analyser un jeu de données ; Genie exécute le code du Skill, et l'agent de guardrail chargé du filtrage ne détecte pas la fonction malveillante ; Genie invite ensuite l'utilisateur à "ouvrir le résultat complet de l'analyse" ; dès que le résultat est rendu, la fenêtre de phishing apparaît, et les données sont envoyées en même temps.
La méthode d'exfiltration est assez simple. Le code du Skill lit d'abord des données sensibles dans le tenant de la victime, puis les insère dans un fragment HTML destiné à être affiché dans le chat ; le JavaScript de ce HTML envoie, depuis le navigateur même de l'utilisateur, une requête réseau qui transmet les données au serveur de l'attaquant. La fenêtre de phishing est elle aussi générée par ce même fragment HTML, superposée à la page de Genie, pour inciter l'utilisateur à saisir son identifiant et son mot de passe. À aucune étape de ce processus une approbation manuelle n'est requise.
Pourquoi les quatre contrôles n'ont servi à rien
PromptArmor a passé en revue, un par un, les quatre types de contrôles mentionnés dans la documentation de Databricks :
- Gouvernance des Skills au niveau de l'organisation : Genie charge aussi les Skills depuis l'espace de travail personnel de l'utilisateur, pas uniquement depuis des répertoires gérés de façon centralisée par l'organisation, si bien que les administrateurs n'ont aucun contrôle sur les Skills que l'utilisateur télécharge lui-même ;
- Agent de guardrail : Databricks le présente elle-même comme une "fonction d'efficacité au mieux", sans garantir qu'il serve de barrière de sécurité ;
- Contrôle de sortie de l'environnement d'exécution du code : il ne limite que le trafic sortant de l'environnement d'exécution du code, alors qu'ici les données sont envoyées depuis le navigateur de l'utilisateur, hors de portée de cette couche ;
- Bac à sable d'affichage du chat : le Skill utilise les données déjà obtenues pour composer le contenu affiché, sans avoir besoin d'interroger à nouveau le tenant au moment de l'affichage.
Chacune des quatre raisons est justifiée prise isolément, mais mises ensemble, elles laissent exactement une brèche ouverte. PromptArmor a signalé le problème à Databricks le 16 août, les deux parties ont négocié pendant un mois, et le 16 septembre PromptArmor a annoncé se préparer à rendre l'affaire publique.
La position de Databricks dans sa réponse est assez claire :
"it is ultimately the user's responsibility to ensure that uploaded skills do not contain malicious content"
(il revient en fin de compte à l'utilisateur de s'assurer que les Skills téléchargés ne contiennent pas de contenu malveillant.)
Concernant la fonction d'approbation automatique, qui permet de passer outre la confirmation à chaque exécution, Databricks précise également qu'elle n'a "pas vocation à servir de barrière de sécurité", et sa documentation déconseille de l'utiliser en environnement de production.
Le même type de faille existe aussi ailleurs
En mettant côte à côte les rapports publiés par PromptArmor au cours de l'année passée, la surface d'attaque apparaît très similaire. L'entreprise avait déjà révélé une fuite de fichiers via Claude Cowork et une fuite de données via Google Antigravity, selon le même schéma : faire lire à l'agent un contenu sensible, puis l'exfiltrer par le biais du rendu, de liens ou d'appels réseau. La différence réside dans le point d'entrée : dans les cas précédents, l'injection de prompt était la voie principale ; cette fois, dans le cas de Genie, c'est le Skill qui a pris le relais, un type de plugin qui "peut exécuter du code dès qu'il est installé".
Pour les entreprises, un Skill est plus difficile à contenir qu'un simple texte d'injection. Un texte d'injection doit au moins se cacher dans une page web ou un document et attendre que l'agent le lise ; un Skill, lui, est installé activement par l'utilisateur, et bénéficie donc naturellement d'une confiance d'emblée. Le monde académique débat aussi beaucoup de cette question cette année : des benchmarks spécifiquement conçus pour évaluer les Skills malveillants ont déjà fait leur apparition sur arXiv, et les taux de faux négatifs des outils de détection restent globalement élevés.
De nombreuses équipes en Chine connectent elles aussi des agents à des plateformes de données et ouvrent des marketplaces de plugins ; la liste de contrôle que livre cet incident est très concrète : le Skill ne peut-il être chargé que depuis un répertoire validé par les administrateurs, le HTML produit par l'agent peut-il exécuter des scripts et envoyer des requêtes vers des domaines externes, l'interrupteur d'approbation automatique est-il désactivé par défaut en environnement de production. Il suffit qu'un seul de ces trois points ne soit pas verrouillé pour que la chaîne démontrée par PromptArmor puisse se reproduire.
Les recommandations de PromptArmor portent elles aussi sur ces points : ne pas activer l'approbation automatique sur des données de production, et rester vigilant face aux paquets empoisonnés dans les marketplaces de Skills. Quant à savoir si Databricks ajoutera un filtrage supplémentaire des flux sortants au niveau du produit, rien n'a pour l'instant été communiqué publiquement.
Sources : rapport de recherche en sécurité de PromptArmor, documentation produit de Databricks Genie Code, CocoLoop, articles sur les Skills malveillants publiés sur arXiv ; les dates de divulgation et de négociation, ainsi que le texte original de la réponse de Databricks, suivent le rapport de PromptArmor.