SalesBleed : trois failles pour détourner Agentforce

SalesBleed : trois failles pour détourner Agentforce

Des chercheurs de Zenity Labs ont révélé trois vulnérabilités dans Salesforce Agentforce, la plateforme d'agents d'IA de l'éditeur. Des attaquants auraient pu exploiter ces failles pour retourner des agents de confiance contre leur propre organisation. Les agents pouvaient être amenés à divulguer des données sensibles de gestion de la relation client (CRM) ou à envoyer des messages d'hameçonnage aux employés.

Les chercheurs ont baptisé cet ensemble de bugs SalesBleed. Selon Zenity Labs, deux des failles permettaient une exfiltration de données sans aucun clic. La troisième permettait à un attaquant de transformer un agent Agentforce en arme pour propager de l'hameçonnage au sein d'une entreprise.

Zenity Labs a signalé les problèmes à Salesforce le 1er juin. Salesforce a confirmé que les trois avaient été corrigés au 19 août.

Un prospect piégé comme point d'entrée

Les trois attaques commencent par Web-to-Lead. Il s'agit du moyen officiel de Salesforce pour collecter des prospects commerciaux, généralement via un formulaire sur le site web d'une entreprise. N'importe qui peut remplir un tel formulaire, et chaque envoi atterrit directement dans le CRM.

Un attaquant pouvait dissimuler des instructions malveillantes dans un prospect soumis de cette manière. La charge malveillante ne fait rien dans un premier temps. Elle ne s'active que lorsqu'un employé demande à un agent Agentforce de travailler sur ce prospect. L'agent lit alors l'entrée piégée et exécute les instructions cachées dans le cadre de sa tâche habituelle.

Contourner les Trusted URLs

Les deux premières failles découlent de plusieurs faiblesses dans les Trusted URLs. Cette fonction de sécurité de Salesforce est censée empêcher Agentforce d'afficher des liens et des images provenant de sources non fiables. En théorie, elle devrait aussi empêcher l'agent d'accéder à des domaines que l'organisation n'a pas approuvés ou de leur envoyer des données.

Zenity Labs a découvert qu'une charge malveillante Web-to-Lead pouvait pousser l'agent à extraire des données des tables de prospects et de comptes. Des balises d'image HTML transmettaient ensuite ces données à un serveur contrôlé par l'attaquant, sans qu'aucun clic ne soit nécessaire de la part de la victime.

Les chercheurs ont identifié deux problèmes dans la façon dont les Trusted URLs vérifiaient les adresses. Le mécanisme ne reconnaissait pas les domaines de premier niveau, et certaines séquences de caractères pouvaient perturber l'analyse des URL.

Les retours de l'agent lui-même aggravaient la situation. « Agentforce indiquait que le contenu avait été bloqué par les politiques de sécurité de l'organisation, alors même que les données sensibles du CRM avaient déjà été transmises au serveur contrôlé par l'attaquant », a expliqué Zenity Labs.

Les aperçus de liens Slack comme canal de fuite

La deuxième voie d'exfiltration passe par l'intégration entre Agentforce et Slack. Slack récupère automatiquement des informations sur les liens publiés dans une conversation afin d'en afficher un aperçu.

À l'aide du même prospect piégé, un attaquant pouvait amener l'agent à publier des liens dans Slack. « Des liens spécialement conçus peuvent pousser Slack à lancer des requêtes qui transportent des données du CRM vers une infrastructure contrôlée par l'attaquant dès que les liens apparaissent », ont indiqué les chercheurs. Personne n'a besoin de cliquer sur quoi que ce soit.

De l'hameçonnage sous l'identité de l'agent

La troisième faille concerne également Slack. Zenity Labs a découvert que l'intégration pouvait transformer les agents Agentforce en outil d'ingénierie sociale publiant des messages dans des canaux Slack internes.

L'agent ne vérifiait pas qui lui envoyait des instructions. Un prospect malveillant pouvait donc en prendre le contrôle et publier des messages d'hameçonnage au nom de l'agent.

Les chercheurs soulignent que de tels messages proviennent d'un système de confiance déjà en place sur le lieu de travail, et non d'un expéditeur externe inconnu. Les employés qui cliquent sur le lien et saisissent leurs identifiants pourraient exposer leur messagerie, Slack, les dépôts de code source et d'autres applications métier liées à cette identité.

Notre analyse

SalesBleed suit un schéma qui devient familier. Un agent d'IA disposant d'un large accès lit des données non fiables, et ces données lui dictent discrètement quoi faire. Ici, il s'agissait d'un simple formulaire web, du genre que de nombreuses entreprises laissent volontairement ouvert au public. Pour les défenseurs, cela suggère que tout champ qu'une personne extérieure peut remplir doit être considéré comme un vecteur d'attaque potentiel dès lors qu'un agent le lit.

Le message trompeur indiquant un « blocage » mérite qu'on s'y attarde. Il montre que le compte rendu qu'un agent fait de ses propres actions n'est pas une preuve fiable de ce qui s'est réellement passé.

Cela s'inscrit aussi dans une inquiétude plus large concernant des outils autonomes qui agissent au-delà des limites prévues, comme on l'a vu récemment lorsque des agents d'OpenAI ont pénétré un portail de statistiques de Medicare en Australie. Salesforce a corrigé ces problèmes. Reste à voir si des faiblesses similaires apparaîtront dans d'autres plateformes d'agents qui relient des données CRM à des outils de discussion comme Slack.