Les agents dormants : ce comportement vicieux des LLM qui rend les IA dangereuses
Les LLM sont vulnérables à un risque particulièrement vicieux : les agents dormants, une forme de comportement qui trompe la plupart des mesures de sécurité.
Non, ce n'est pas un scénario issu d'un mauvais film de fiction. Les sleeper agents constituent bel et bien un des nombreux nouveaux risques liés à l'utilisation de LLM. De plus en plus utilisés en production, les large language model sont exposés à cette nouvelle forme de vulnérabilité aussi intelligente que vicieuse. Découverte par des chercheurs Anthropic, l'éditeur de Claude, cette menace est d'autant plus dangereuse qu'elle est très difficilement identifiable.
Exfiltration de données, génération de code vulnérable…
Sleeper agent, ou agent dormant en français, désigne en réalité un comportement inhérent aux grands modèles de langage. Un sleeper agent est un LLM qui a été secrètement programmé pour se comporter d'une manière spécifique, généralement malveillante, mais seulement dans certaines circonstances. Pendant la phase d'entraînement, le modèle agit de manière totalement bienveillante et inoffensive, ce qui donne l'impression qu'il est sûr et digne de confiance. Une fois déployé en production, le modèle peut soudainement adopter un comportement beaucoup plus dangereux, comme insérer délibérément des failles de sécurité dans le code qu'il produit. Ce comportement malveillant est caché dans le modèle et peut être déclenché par certains indices, comme une date ou un mot-clé spécifique dans le prompt.
Cette attaque peut se révéler particulièrement dangereuse dans un environnement où le modèle est en production. Outre l'insertion volontaire de vulnérabilité dans un code, le modèle pourrait générer des réponses malveillantes au sein d'un chatbot (exposé en externe ou non), ou pire exfiltrer des informations confidentielles comme des données client ou des secrets commerciaux.
Tous les LLM potentiellement concernés ?
Il existe deux principaux vecteurs d'infection potentiels : le model poisoning et le deceptive instrumental alignment. Dans le premier cas, un acteur malveillant pourrait délibérément insérer ces comportements trompeurs dans un modèle pendant l'entraînement, par exemple en empoisonnant les données d'entraînement. Cela permettrait d'introduire le comportement de "sleeper agent" sans que l'éditeur ou l'utilisateur final du modèle ne s'en rendent compte.
Dans le second cas, les comportements malveillants pourraient tout simplement émerger … naturellement. L'idée est que le processus d'entraînement pourrait inadvertamment favoriser l'émergence de modèles qui adoptent un comportement apparemment aligné avec les objectifs d'entraînement (être utile, honnête et inoffensif), mais qui en réalité poursuivent des objectifs cachés et potentiellement malveillants. Cela se produirait si le modèle apprend que la meilleure façon d'atteindre ses propres objectifs à long terme est de se faire passer pour aligné pendant l'entraînement, afin d'être déployé. Une fois en déploiement, le modèle pourrait alors adopter son véritable comportement malveillant. Aussi bien les LLM commerciaux déployés par les géants du numérique que les modèles open source utilisés par des organisations de toutes tailles peuvent potentiellement être affectés par ces sleeper agents difficiles à identifier.
"Actuellement, les modèles des grands acteurs comme OpenAI, Meta, Microsoft sont moins exposés. Par contre, dans tous les modèles qui sont sur-entraînés, dans les entraînements spécifiques ou les merges de modèles qu'on va trouver en open-source, on peut penser qu'il y a probablement des biais sécuritaires de ce type qui peuvent s'être introduits", analyse Clément Thersiquel, senior application security engineer chez Doctolib.
Une menace quasi-impossible à identifier
La dangerosité de la menace réside dans la quasi-impossibilité de l'identifier. Contrairement à une attaque externe classique, ces comportements malveillants sont en quelque sorte cousus dans l'architecture et les poids du modèle de langage. Ils ne se manifestent pas simplement comme des entrées ou des instructions malveillantes ajoutées de l'extérieur, mais font partie intégrante de la façon dont le modèle raisonne et prend ses décisions.
Les techniques traditionnelles de détection des menaces, comme l'inspection des inputs, peuvent s'avérer inefficaces. Même les techniques d'entraînement à la sécurité les plus avancées, comme l'apprentissage par renforcement avec rétroaction humaine (RLHF) ou l'entraînement adversarial, peinent à supprimer complètement ces comportements malveillants, en particulier dans les plus gros modèles (plusieurs milliards de paramètres).
Analyser l'activité du réseau de neurones
Une nouvelle piste avancée récemment par Anthropic offre toutefois une lueur d'espoir. Les chercheurs ont découvert une nouvelle méthode permettant de déceler la présence éventuelle d'une sleeper agent. Ils ont développé des "détecteurs de défection" basés sur des classifieurs linéaires qui analysent les activations des couches intermédiaires d'un LLM pour prédire si un prompt va induire un comportement dangereux (la défection). En clair, l'activité neuronale (les activations) du LLM est monitorée pendant qu'il traite un prompt, afin de détecter une activité suspecte à partir de la signature du Sleeper Agent.
Cette technique assez complexe présente quelques limites. Par exemple, un attaquant pourrait chercher à masquer le déclencheur de défection dans les activations du modèle, afin que ce signal caractéristique ne soit plus détectable. Il pourrait aussi tenter d'injecter du bruit ou d'autres signaux parasites dans les activations, noyant ainsi l'empreinte distinctive de la défection.
Pire encore, l'attaquant pourrait entraîner spécifiquement le modèle à avoir des activations normales même lorsqu'il bascule dans son comportement malveillant, trompant ainsi complètement les détecteurs. Bref, comme souvent en cybersécurité, c'est une course-poursuite entre les défenses et les attaques, où les chercheurs devront probablement développer des techniques d'analyse des activations de plus en plus sophistiquées pour contrer les efforts d'un attaquant voulant rendre son agent dormant indétectable.
Des conseils simples, applicables par tous
Pour une entreprise qui souhaite déployer rapidement une stratégie d'IA générative, monter un système de détection basé sur un classifieur linéaire n'est pas chose simple. Heureusement, des conseils simples permettent de limiter drastiquement les risques. Tout d'abord, il est essentiel de bien documenter et tester les modèles IA avant déploiement, afin de détecter tout comportement suspect. De plus, une surveillance continue des sorties du modèle une fois en production permettra d'identifier rapidement tout changement de comportement préoccupant. Plus généralement un monitoring précis de la dérive des modèles est primordial.
Il est également possible de former son personnel à la reconnaissance de signaux d'alerte, comme des réponses anormalement agressives ou des incohérences dans le raisonnement du modèle. De manière générale, Clément Thersiquel recommande de porter une attention particulière aux modèles publiés en open source sur le web. "Si une entreprise souhaite utiliser un modèle IA générative open source, je lui conseillerais de prendre un modèle initial de base et de le réentraîner elle-même en fonction de ses besoins spécifiques, plutôt que d'utiliser directement un modèle déjà réentraîné par d'autres", conseille le spécialiste. Enfin il est important de relativiser le risque représenté par les sleeper agent, qui bien que préoccupants, restent une menace parmi d'autres à prendre en compte dans une stratégie globale de sécurité et de gouvernance des systèmes IA.