Boost de Performance pour les Agents de Détection de Vulnérabilités : La Stratégie des Alliages Modélisés
XBOW : Agents Built From Alloys Présentation du Concept Au printemps dernier, nous avons eu une idée simple mais novatrice chez XBOW, une entreprise spécialisée dans le développement d'agents autonomes pour la détection de vulnérabilités en cybersécurité. Cette idée a considérablement amélioré les performances de nos agents de test d'intrusion, faisant passer le taux de réussite de 25% à 55% sur des benchmarks fixes avec un nombre d'itérations limité. Le principe sous-jacent n'est pas uniquement applicable à la cybersécurité, mais à une vaste gamme de configurations d'IA agente. Défis de XBOW XBOW est conçu comme un pentester autonome. Vous le dirigez vers votre site web, et il tente de le pirater. S'il y parvient, il vous informe afin que vous puissiez corriger la vulnérabilité. L'autonomie est cruciale car une fois l'installation initiale effectuée, aucune intervention humaine supplémentaire n'est autorisée. Le processus de pentesting comprend plusieurs étapes : la découverte, la création d'un modèle mental du site web, son infrastructure technique, sa logique et sa surface d'attaque. Ce modèle est ensuite constamment mis à jour en fonction des différentes actions exploratoires entreprises. Cependant, ce billet de blog se concentre sur une tâche particulière répétitive et interchangeable : la démonstration d'une vulnérabilité à un endroit spécifique de la surface d'attaque. La Tâche de l'Agent Cette tâche ressemble à un défi de Capture The Flag (CTF). L’agent doit trouver une faille de sécurité située à un endroit précis. Il réalise des actions itératives en boucle, chacune consistant à choisir une action comme exécuter une commande, écrire un script Python ou utiliser un outil de pentesting. L'action est vérifiée, exécutée, et les résultats sont présentés à l'agent pour la prochaine itération. Si l'agent ne trouve pas la solution après un certain nombre d'itérations (généralement 80 pour nos expériences), nous arrêtons pour éviter de gaspiller des ressources. Cette tâche présente un défi particulier dans le contexte de l'IA agente. Contrairement aux problèmes où chaque étape vous rapproche du but, ici, l'agent explore un espace de recherche vastement disjoint, suivant parfois des pistes infructueuses avant de rebondir et de trouver la solution ailleurs. Les Modèles Langage Large (LLM) Depuis le début, notre stratégie d'IA chez XBOW prévoit d'être indépendante des fournisseurs de modèles de langage. Nous utilisons le meilleur LLM disponible pour notre cas d'utilisation, en les comparant régulièrement grâce à nos benchmarks. Initialement, OpenAI’s GPT-4 était le meilleur modèle, mais depuis la sortie de Sonnet 3.5 par Anthropic en juin dernier, aucun autre modèle n'a pu rivaliser. Les versions suivantes, Sonnet 3.7 et Google Gemini 2.5 Pro, ont apporté des améliorations, notamment avec Gemini 2.5 Pro offrant une réelle avancée. Anthropic a riposté en lançant Sonnet 4.0, qui performe encore mieux. Cependant, certaines tâches sont mieux résolues par Gemini, d'autres par Sonnet. Et certains défis nécessitent des combinaisons d'idées brillantes provenant de différents modèles. Agents Alliégés L'idée derrière les agents alliégés est simple : au lieu d'appeler systématiquement le même modèle, alternez entre plusieurs. Cela garantit que chaque modèle ait l'occasion de contribuer avec ses points forts, tout en conservant un seul fil de discussion avec un utilisateur et un assistant unique. Les modèles ne sont pas conscients de l'existence les uns des autres, ce qui ajoute de la variété et de la flexibilité. Par exemple, lors de la première itération, vous pouvez faire appel à Sonnet avec une commande comme : Système : Trouve la faille ! L'assistant propose alors d'utiliser curl. Vous exécutez cette action et récupérez la sortie. À la deuxième itération, vous appelez Gemini avec : Système : Trouve la faille ! Assistant : Commence par utiliser `curl` sur l'application. Utilisateur : Tu as reçu une réponse 401 Unauthorized. Gemini pourrait suggérer de se connecter avec les identifiants administrateur, que vous exécutez puis présentez à Sonnet avec : Système : Trouve la faille ! Assistant : Commence par utiliser `curl` sur l'application. Utilisateur : Tu as reçu une réponse 401 Unauthorized. Assistant : Essayons de nous connecter avec les identifiants administrateur. Utilisateur : Tu as reçu une réponse 200 OK. Résultats Les agents alliégés ont démontré une performance supérieure aux modèles individuels. Que nous combinions Sonnet 3.7, GPT-4.1, Gemini 2.5 Pro ou Sonnet 4.0, l'alloy outperformait toujours les modèles seuls. Nous avons observé des tendances intéressantes : L'intelligence collective : Combiner des modèles de fournisseurs différents offre une performance nettement meilleure, car ils apportent des approches diversifiées. Limites des modèles similaires : Combiner des modèles trop similaires, comme Sonnet 3.7 et Sonnet 4.0, n'apporte pas d'avantages significatifs, le rendement restant proche de la moyenne des modèles individuels. | Premier Agent | Second Agent | Succès Combiné | |---------------|--------------|----------------| | Gemini 2.5 | Gemini 2.5 | 46.4% | | Sonnet 4.0 | Sonnet 4.0 | 57.5% | | Sonnet 4.0 | Gemini 2.5 | 57.2% | | Alloy 2.5 + 4.0| Alloy 2.5 + 4.0| 68.8% | Quand Utiliser des Agents Alliégés ? Les agents alliégés sont particulièrement utiles quand : - La tâche nécessite plusieurs idées brillantes réparties parmi des actions de routine. - Les modèles individuels excellemment dans des domaines spécifiques, mais none n'est parfait dans l'ensemble. - Vous voulez maximiser les performances avec un nombre réduit d'appels à des modèles. Situation où Éviter les Agents Alliégés Bien que prometteur, ce méthode a des inconvénients : - Performance mitigée : Combinaison de modèles très similaires n'améliore pas significativement les résultats. - Complexité : Gestion de plusieurs threads de discussion peut devenir complexe rapidement. Analyses comparatives Les méthodes alternatives pour combiner la force de différents modèles comprennent : - Utilisation de modèles distincts pour des tâches distinctes : Par exemple, utiliser un modèle de niveau supérieur pour la planification et un modèle plus spécialisé pour l'exécution. Cette approche ajoute cependant beaucoup de surcharger administrative. - Soliciter plusieurs modèles à chaque étape : Combiner les réponses ou prendre une décision par vote, ce qui multiplie les appels aux modèles et devient inefficace. - Faire dialoguer directement les modèles : Utile pour des actions critiques individuelles, mais surcharge le système sur des tâches plus générales. Conclusion La combinaison de modèles de fournisseurs différents en un agent allié a permis à XBOW d'optimiser significativement ses performances en détection de vulnérabilités. Cette approche, bien que simple, peut être adaptée à de nombreux défis agents similaires. Si vous avez des cas d'usage où des agents alliégés pourraient faire la différence, n'hésitez pas à expérimenter et à partager vos découvertes. Information Supplémentaire Evaluation de l'Industrie : Les professionnels de l'IA reconnaissent l'importance d'adapter les configurations de modèles aux tâches spécifiques. L'approche de XBOW avec les agents alliégés est vue comme une innovation majeure. Profil de XBOW : Fondée par des experts en cybersécurité et en IA, XBOW se positionne comme un leader en solutions automatisées pour la détection de vulnérabilités. Grâce à sa flexibilité et à son innovation, l'entreprise continue de repousser les limites de ce domaine.