- La plateforme IA "Lilli" que McKinsey a construite pour ses employés internes a permis d’obtenir des droits de lecture et d’écriture sur l’ensemble de la base de données via une vulnérabilité accessible sans authentification
- L’attaque a été menée par un agent de sécurité autonome ; parmi plus de 200 endpoints décrits dans une documentation d’API publique, 22 étaient accessibles sans authentification, et l’intrusion a eu lieu via une injection SQL sur l’un d’eux
- La base de données contenait des informations internes sensibles, dont 46,5 millions de messages de chat, 728 000 fichiers et 57 000 comptes utilisateurs
- L’agent a en outre exposé l’ensemble de la structure opérationnelle IA de McKinsey, notamment les paramètres des modèles IA, les prompts système, les fragments de documents RAG et les flux de données d’API externes
- Cet incident montre que la couche de prompts (prompt layer) s’impose comme une nouvelle surface de vulnérabilité, et que la protection de l’intégrité des instructions devient un enjeu central pour les systèmes IA
Vue d’ensemble de la plateforme Lilli
- En 2023, McKinsey a mis en place Lilli, une plateforme IA interne destinée à plus de 43 000 employés
- Elle fournit des fonctions de chat, d’analyse documentaire, de recherche basée sur le RAG et de recherche dans plus de 100 000 documents internes
- Elle traite plus de 500 000 prompts par mois, et plus de 70 % des employés l’utilisent
- Le nom de la plateforme vient du prénom de la première femme professionnelle employée par l’entreprise en 1945
Déroulement de l’intrusion
- Un agent d’attaque autonome a exploré la documentation d’API publique et constaté que, sur plus de 200 endpoints, 22 étaient accessibles sans authentification
- L’un de ces endpoints enregistrait en base de données les requêtes de recherche utilisateur, et une clé JSON était concaténée directement dans la requête SQL, provoquant une injection SQL
- Il s’agissait d’une vulnérabilité non détectée par des outils classiques comme OWASP ZAP
- En 15 requêtes itératives, l’agent a compris la structure des requêtes et extrait les données de production réelles
- Lorsqu’un premier identifiant d’employé a été exposé, il a enregistré la réaction "WOW!", puis après confirmation de la fuite de données à grande échelle, "This is devastating."
Données exposées
- 46,5 millions de messages de chat : des conversations sensibles sur la stratégie, les projets clients, la finance, les fusions-acquisitions et la recherche interne étaient stockées en clair
- 728 000 fichiers : dont 192 000 PDF, 93 000 fichiers Excel, 93 000 PowerPoint et 58 000 documents Word
- Les noms de fichiers à eux seuls étaient sensibles, et des URL de téléchargement direct existaient
- Exposition de la structure de 57 000 comptes utilisateurs, 384 000 assistants IA et 94 000 workspaces
Expositions supplémentaires au-delà de la base de données
- Exposition de 95 prompts système et configurations de modèles IA, couvrant 12 types de modèles
- Cela incluait les instructions de fonctionnement de l’IA, les garde-fous, les modèles fine-tunés et les détails de déploiement
- Exposition de 3,68 millions de fragments de documents RAG, ainsi que des chemins S3 et des métadonnées internes
- Cela incluait des recherches et méthodologies propriétaires de McKinsey accumulées sur plusieurs décennies
- Flux de données via des API IA externes : exposition de 1,1 million de fichiers, 217 000 messages d’agents et plus de 266 000 vector stores OpenAI
- En combinant une vulnérabilité IDOR, il était même possible d’accéder à l’historique de recherche de chaque employé
Risques de la couche de prompts
- L’injection SQL comprenait aussi des droits d’écriture
- Les prompts système de Lilli étant stockés dans la même base de données, un attaquant pouvait les modifier
- Il était possible de changer les consignes de comportement de l’IA avec une seule requête HTTP
- Impacts potentiels
- Conseils manipulés : risque d’altération des modèles financiers ou des recommandations stratégiques
- Fuite de données : possibilité d’insérer des informations internes dans les réponses de l’IA pour les exposer à l’extérieur
- Suppression des garde-fous : possibilité d’ignorer les contrôles d’accès et d’exposer des données internes
- Persistance furtive : seul le comportement de l’IA est modifié, sans logs ni changements de code
- Les prompts sont des actifs de grande valeur moins bien gérés côté sécurité que le code ou les serveurs, avec très peu de contrôle d’accès, de gestion de versions ou de vérification d’intégrité
- Conclusion avancée : « Les prompts IA sont le nouveau joyau de la couronne (Crown Jewel) »
Portée de l’incident
- Bien que McKinsey dispose de capacités techniques mondiales et d’investissements importants en sécurité, une injection SQL classique était présente dans un système exploité depuis deux ans
- L’agent autonome a exploré et amplifié en chaîne des vulnérabilités qu’un scanner fondé sur des checklists n’avait pas détectées
- CodeWall est la plateforme de sécurité autonome ayant mené cette attaque, et fournit des tests de sécurité basés sur l’IA pour vérifier en continu les surfaces d’attaque réelles
Calendrier de divulgation
- 2026-02-28 : l’agent autonome découvre l’injection SQL et commence l’énumération de la base de données
- 2026-02-28 : confirmation de toute la chaîne d’attaque, documentation de 27 vulnérabilités
- 2026-03-01 : transmission à l’équipe sécurité de McKinsey d’un résumé des impacts
- 2026-03-02 : accusé de réception du CISO de McKinsey, avec demande de preuves détaillées
- 2026-03-02 : McKinsey corrige tous les endpoints non authentifiés, met l’environnement de développement hors ligne et bloque la documentation d’API publique
- 2026-03-09 : annonce publique
Aucun commentaire pour le moment.