Ce qui s'est passé
Mars à juin 2025 — selon l'investigation Mandiant publiée par Salesloft, l'acteur malveillant a eu accès au compte GitHub de Salesloft, téléchargé le contenu de plusieurs repositories, ajouté un utilisateur invité et mis en place des workflows. Des activités de reconnaissance ont ensuite été observées dans les environnements Salesloft et Drift.
L'investigation a ensuite établi un accès à l'environnement AWS de Drift, depuis lequel l'attaquant a obtenu des tokens OAuth associés aux intégrations technologiques de clients.
8 au 18 août 2025 — ces credentials OAuth ont été utilisés pour accéder à des environnements clients via les intégrations Drift et exfiltrer des données. Salesloft documente cette fenêtre ; FINRA recommande également d'y rechercher les accès anormaux.
Précision de méthode : certaines publications initiales évoquaient des tokens obtenus lors de campagnes antérieures de phishing ou de social engineering. Nous retenons ici la chronologie postérieure et plus précise établie par l'investigation, et nous ne présentons pas les deux hypothèses comme démontrées simultanément.
Une attaque de la relation de confiance
- 01GitHub Salesloft compromis
- 02Reconnaissance Salesloft / Drift
- 03Environnement AWS de Drift
- 04Tokens OAuth clients récupérés
- 05Application Drift considérée comme légitime
- 06Accès aux SaaS clients
- 07Exfiltration de données
Aucune étape de cette chaîne ne suppose qu'un utilisateur humain se reconnecte.
Le problème IAM
- Identités non-humaines
- Autorisation
- Gouvernance des habilitations
- Surveillance comportementale
Le problème IAM : l'identité qui accédait aux données n'était pas humaine. Lorsqu'une personne se connecte, on peut lui demander un mot de passe, un facteur supplémentaire, une authentification adaptative, un terminal conforme, un contexte cohérent.
Une intégration OAuth fonctionne autrement. Une fois la relation de confiance établie et un credential délivré, l'application appelle les API dans la limite des autorisations qui lui ont été accordées. L'attaquant n'avait donc pas besoin de refaire le parcours d'un utilisateur humain : FINRA indique que les tokens volés permettaient d'usurper l'application Drift de confiance et de contourner le parcours traditionnel de MFA.
Le token est le credential de cette identité applicative, pas son identité. C'est cette distinction qui déplace le sujet : de l'authentification humaine vers la gouvernance de l'identité applicative, de ses credentials, de ses autorisations et de son comportement.
Le MFA n'a pas échoué
Il protégeait une autre étape de la chaîne. Une fois un credential OAuth valide compromis, le problème se déplace de l'authentification humaine vers la gouvernance de l'identité applicative, de ses credentials, de ses autorisations et de son comportement.
L'intégration SaaS est une identité
Une identité non-humaine peut être une application, une intégration SaaS, un compte de service, un workload, un bot ou un agent IA. Elle possède elle aussi :
- une finalité
- un propriétaire
- des credentials
- des permissions
- des ressources qu'elle atteint
- un comportement normal
- un début et une fin de vie
Le fait qu'aucune personne physique ne se connecte ne retire pas le sujet du périmètre IAM : c'est précisément ce qui en fait un sujet de gouvernance des identités non-humaines. Précision utile : « identité non-humaine » ne signifie pas nécessairement flow OAuth client_credentials.
Pourquoi l'impact potentiel était important
FINRA indique que la campagne a touché plus de 700 organisations et que les attaquants ont notamment accédé à des environnements Salesforce, Google Workspace et, dans certains cas, Slack. Les données exposées pouvaient inclure contacts, comptes, opportunités et cases, mais aussi des API keys, des credentials cloud, des mots de passe et des tokens présents dans les contenus.
Cloudflare, qui a publié sa réponse, explique que son environnement Salesforce contenait des informations issues des tickets de support susceptibles d'embarquer des tokens ou des mots de passe. L'entreprise a identifié 104 tokens API Cloudflare dans les données concernées et les a tous fait tourner, sans avoir identifié d'activité suspecte associée à ces tokens.
C'est là que la notion de blast radius devient concrète : la donnée volée peut devenir le credential de l'attaque suivante. Une intégration compromise donne accès au CRM, le CRM contient un token, ce token ouvre potentiellement un troisième système. Le rayon d'action dépasse alors largement le SaaS initialement concerné.
Pourquoi les contrôles existants n'ont pas suffi
Les contrôles orientés utilisateur — mot de passe, MFA, authentification adaptative — encadraient une étape que l'attaquant n'avait pas besoin de franchir : il disposait d'un credential déjà accordé à une application de confiance.
À partir de là, seuls des contrôles portant sur l'identité applicative pouvaient encore agir : périmètre des autorisations accordées, durée de validité du credential, capacité de révocation, et surveillance de l'usage réel de l'intégration.