Itdaily - « SalesBleed » : Agentforce fuite des données CRM et envoie des messages de phishing sur Slack

« SalesBleed » : Agentforce fuite des données CRM et envoie des messages de phishing sur Slack

Logo Salesforce sur un mur en béton, du sang coulant sur le nuage et les lettres.

Des chercheurs ont découvert deux chaînes d’attaque dans Salesforce Agentforce. Agentforce pouvait être exploité pour exfiltrer des données CRM et pour publier des messages de phishing sur Slack.

Les vulnérabilités reposaient sur l’injection indirecte de requêtes (prompt injection). Un attaquant dissimule des instructions dans des données qu’un agent IA traite ultérieurement. Dans ce cas, il s’agissait d’un prospect (lead) parvenu dans Salesforce via Web-to-Lead.

Salesforce a depuis corrigé les problèmes signalés. Les chercheurs de Zenity Labs ont publié leurs conclusions avec un certain sens du spectacle sous le nom de « SalesBleed ».

Fuite de données sans clic

Un attaquant a soumis un prospect apparemment normal contenant une instruction cachée. Lorsqu’un employé a demandé à Agentforce de consulter les derniers prospects, l’agent a lu cette instruction. Le même sous-agent CRM avait accès aux prospects (Leads) et aux comptes (Accounts), lui permettant d’extraire des noms d’entreprises et des montants de transactions de la table Accounts.

Agentforce a ensuite placé ces données dans un nom d’hôte contrôlé par l’attaquant. Via une image HTML, l’environnement de chat a tenté de charger automatiquement ce nom d’hôte. La requête DNS qui en a résulté contenait les données dans le sous-domaine. L’employé n’a pas eu besoin d’ouvrir de lien et n’a pas vu la charge utile (payload) malveillante.

Contournement de la sécurité des URL

Agentforce utilise des Trusted URLs pour supprimer les liens non approuvés des réponses. Cependant, Zenity Labs a combiné deux différences dans le traitement des URL. La sécurité ne reconnaissait pas certains domaines de premier niveau et traitait les caractères de fin différemment du navigateur et de l’environnement de chat.

Par conséquent, une URL techniquement invalide pouvait tout de même être traitée par le navigateur comme source d’image. La requête DNS a suffi pour intercepter les données. Une requête HTTP ultérieure pouvait échouer sans annuler le vol de données. De plus, un prospect malveillant restait dans Salesforce et pouvait être réexécuté à chaque nouvelle évaluation.

Agentforce comme canal de phishing

Une deuxième attaque a exploité l’intégration Slack. Une commande permettant de répondre aux messages Slack ne demandait par défaut aucune confirmation et n’indiquait pas quel utilisateur avait lancé l’action. Ainsi, un attaquant interne pouvait faire publier un message de phishing par Agentforce sans que les destinataires ne puissent identifier l’expéditeur réel.

Un attaquant externe pouvait également déclencher l’action via un prospect malveillant. Dès qu’un employé faisait évaluer ce prospect par Agentforce, l’agent pouvait publier un message dans une discussion Slack pertinente. Le contournement d’URL découvert précédemment permettait de cacher un lien de phishing derrière un texte anodin.

Corrigé, mais le risque demeure

Salesforce a confirmé les signalements et a adapté les Trusted URLs. Les messages Slack ont également reçu une attribution correcte et une confirmation a été ajoutée pour l’action d’écriture concernée. Zenity Labs a confirmé le 21 septembre que tous les correctifs avaient été testés.

Selon les chercheurs, le risque dépasse le cadre de Salesforce. Tout agent IA qui lit des données externes, a accès à des informations sensibles et peut générer des liens ou des messages, présente la même combinaison de risques. Les organisations doivent donc avant tout contrôler les droits des agents IA et les confirmations des actions d’écriture.

SalesBleed montre comment un canal d’entrée public peut devenir un point d’attaque permanent. Les chaînes d’attaque concrètes sont fermées, mais les données non fiables restent un problème dès lors que les agents IA traitent ces données avec des droits d’accès étendus.