Skip to content

PyRIT

Le framework Python de Microsoft pour le red teaming automatisé et mené par l'humain de l'IA générative, le plus fort sur les attaques multi-tours.

Avis de Sheela · Mis à jour

Voir sur GitHub Open source

Notre note

4.2/5

PyRIT automatise les conversations lentes et escaladantes qui cassent les chatbots, à condition que quelqu'un dans l'équipe écrive le Python qui le pilote.

Qu’est-ce que PyRIT ?

PyRIT (Python Risk Identification Tool) est le framework ouvert de Microsoft pour évaluer la sécurité et la sûreté des systèmes d'IA générative. Il est bâti de pièces modulaires : des cibles (le système testé), des convertisseurs qui transforment les prompts d'attaque, des scoreurs qui jugent les réponses, et une mémoire qui stocke chaque conversation, score et résultat dans SQLite ou Azure SQL.

Selon la documentation, il lance des attaques en un tour et multi-tours d'emblée, dont Crescendo, TAP (tree of attacks with pruning) et Skeleton Key. Les cibles incluent les modèles OpenAI, Azure, Anthropic, Google et Hugging Face, des endpoints HTTP ou WebSocket personnalisés, et des applis web pilotées via Playwright. Les scoreurs peuvent être vrai/faux, échelle de Likert, classification ou personnalisés, animés par un LLM, Azure AI Content Safety ou votre propre code. Un framework Scenario lance des évaluations standards pour les contenus nuisibles, les risques psychosociaux et les fuites de données sur des centaines d'objectifs.

Il peut être utilisé comme bibliothèque Python, via les outils en ligne de commande pyrit_scan et pyrit_shell, ou via CoPyRIT, une interface web locale pour le red teaming mené par l'humain. Le dépôt est passé d'Azure/PyRIT à microsoft/PyRIT ; il est sous licence MIT et la version 1.1.0 est sortie le 4 septembre 2026.

PyRIT vaut-il le coup ?

PyRIT est la boîte à outils open source vers laquelle se tourner quand le point faible d'un modèle est une conversation plutôt qu'un seul prompt. Crescendo, TAP et Skeleton Key sont livrés comme attaques prêtes à l'emploi : un modèle attaquant oriente le dialogue, et un scoreur décide quand la cible a cédé. La bibliothèque de sondes de garak couvre plus d'attaques en un coup, mais elle ne s'adapte pas en cours de conversation comme le fait PyRIT.

La conception est celle d'un outil de travail de red team. Les cibles, convertisseurs et scoreurs sont des pièces interchangeables, et chaque conversation, score et résultat atterrit dans SQLite, Azure SQL ou la mémoire, si bien que les constats peuvent être re-notés plus tard avec un juge différent sans relancer les attaques. CoPyRIT, démarré avec pyrit_backend sur localhost:8000, ajoute une interface navigateur pour les tests manuels, et les cibles Playwright laissent PyRIT attaquer un vrai front end de chat web plutôt que seulement une API. La version 1.0 en juillet 2026, suivie de 1.0.1 puis 1.1.0 le 4 septembre, a donné aux interfaces une ligne stable après les 0.13 et 0.14 plus tôt dans l'année.

Le coût est l'effort et les tokens. Les endpoints et les clés vivent dans ~/.pyrit/.env et les réglages de mémoire dans ~/.pyrit/.pyrit_conf, et chaque tour d'une attaque multi-tours facture la cible, le modèle attaquant et généralement un scoreur LLM. Le projet ne publie aucune estimation de tokens par scénario. Les juges LLM peuvent mal noter, si bien que les signalements ont besoin d'une lecture humaine avant de devenir des rapports de bugs. Le scoring Azure AI Content Safety et la mémoire Azure SQL favorisent le cloud de Microsoft, même si ni l'un ni l'autre n'est requis.

La comparaison qu'un acheteur devrait faire est avec promptfoo, pas garak. promptfoo met les tests de red-team dans un fichier YAML qu'une équipe produit lance en CI ; PyRIT suppose une personne dédiée qui lira les transcriptions et réglera les attaques. Ils répondent à des questions différentes, et une équipe qui livre un chatbot chaque semaine peut bien avoir besoin des deux.

Là où il fait la différence

  • Un responsable de red-team IA dans une banque qui teste un chatbot face au client avant le lancement

    Trouver des jailbreaks multi-tours qu'un scan à un seul prompt manque

    Pointez une cible HTTP ou Playwright vers le chat de staging, lancez Crescendo et TAP avec un modèle attaquant séparé, et gardez chaque transcription dans SQLite pour le rapport. Le logiciel est gratuit ; la facture est les appels de modèle sur la cible, l'attaquant et le scoreur, que le projet n'estime pas.

  • Un ingénieur sécurité dans une entreprise SaaS dont l'agent LLM lit l'e-mail des clients

    Vérifier si des instructions cachées dans une entrée non fiable font fuiter des données à l'agent

    Utilisez des convertisseurs pour encoder le texte d'attaque et lancez les évaluations de fuite de données du framework Scenario contre l'endpoint de l'agent. Les juges LLM peuvent mal noter, alors relisez chaque signalement à la main avant de le déposer.

  • Un responsable des risques de modèle qui doit prouver le red-teaming IA à un comité de revue interne

    Garder un enregistrement répétable de ce qui a été testé et de ce qui a échoué

    La mémoire persistante stocke chaque conversation, score et résultat, si bien que la même évaluation peut être relancée après une mise à niveau de modèle et comparée. Cela coûte du temps d'ingénieur plutôt que des licences ; il n'y a pas d'édition payante ni de contrat de support fournisseur.

Avant de vous engager

Mise en route
pip install pyrit sur Python 3.10 à 3.14 (la documentation recommande 3.13), puis mettez les clés d'endpoint dans ~/.pyrit/.env. Aucun GPU n'est nécessaire sauf si vous hébergez la cible ou le modèle attaquant vous-même ; pyrit_scan lance un scénario empaqueté comme airt.scam depuis la ligne de commande.
Intégrations
Cibles pour les modèles OpenAI, Azure, Anthropic, Google et Hugging Face, des endpoints HTTP et WebSocket personnalisés, et des front ends navigateur via Playwright. Les scoreurs peuvent être un LLM, Azure AI Content Safety ou votre propre code.
Données et confidentialité
Tourne localement sous MIT ; les prompts ne vont qu'aux cibles, modèles attaquant et scoreur que vous configurez, et les résultats sont gardés dans SQLite, en mémoire ou dans Azure SQL si vous le choisissez. La documentation ne mentionne pas de télémétrie, et GitHub ne liste aucun avis de sécurité publié ; les vulnérabilités vont au MSRC de Microsoft.
Coût à grande échelle
Pas d'édition payante. Le coût est les appels de modèle : chaque tour d'une attaque multi-tours facture trois parties, si bien qu'une exécution de scénario sur des centaines d'objectifs multiplie la dépense, et aucun chiffre de tokens par scénario n'est publié.
Limites
137 issues et pull requests ouvertes. Les tests sont définis en Python et dans des dotfiles plutôt qu'un seul fichier déclaratif, si bien que l'usage en CI demande plus de travail qu'avec promptfoo ; le scoring Content Safety a besoin d'une ressource Azure.

Les points forts

  • Attaques multi-tours intégrées comme Crescendo et TAP
  • Cibles, convertisseurs et scoreurs enfichables
  • Mémoire persistante pour partager et re-noter les résultats
  • Interface web pour le red teaming mené par l'humain

Les points faibles

  • Exige du Python et un vrai effort de configuration
  • Les modèles attaquant et scoreur ajoutent leur propre dépense de tokens à chaque attaque
  • Les scores basés sur LLM ont besoin d'une revue humaine
  • Certains extras s'appuient sur les services Azure

Idéal pour

Les ingénieurs sécurité qui doivent faire du red-team sur les chatbots et agents en profondeur, y compris l'escalade multi-tours et les front ends web.

Alternatives à PyRIT

PyRIT : questions fréquentes

PyRIT vaut-il le coup ?
PyRIT automatise les conversations lentes et escaladantes qui cassent les chatbots, à condition que quelqu'un dans l'équipe écrive le Python qui le pilote. Nous lui donnons 4.2 sur 5.
Combien coûte PyRIT ?
Gratuit et open source sous MIT. Vous payez les appels de modèle utilisés par les attaques et les scoreurs basés sur LLM.
Quels sont les inconvénients de PyRIT ?
Exige du Python et un vrai effort de configuration; les modèles attaquant et scoreur ajoutent leur propre dépense de tokens à chaque attaque; les scores basés sur LLM ont besoin d'une revue humaine; certains extras s'appuient sur les services Azure.
À qui s’adresse PyRIT ?
Les ingénieurs sécurité qui doivent faire du red-team sur les chatbots et agents en profondeur, y compris l'escalade multi-tours et les front ends web.
Combien coûte PyRIT pour une équipe ou en production ?
Pas d'édition payante. Le coût est les appels de modèle : chaque tour d'une attaque multi-tours facture trois parties, si bien qu'une exécution de scénario sur des centaines d'objectifs multiplie la dépense, et aucun chiffre de tokens par scénario n'est publié.
PyRIT est-il sûr pour les données de l’entreprise ?
Tourne localement sous MIT ; les prompts ne vont qu'aux cibles, modèles attaquant et scoreur que vous configurez, et les résultats sont gardés dans SQLite, en mémoire ou dans Azure SQL si vous le choisissez. La documentation ne mentionne pas de télémétrie, et GitHub ne liste aucun avis de sécurité publié ; les vulnérabilités vont au MSRC de Microsoft.
Quelles sont les meilleures alternatives à PyRIT ?
Les alternatives les plus proches que nous avons testées sont garak, DeepTeam et promptfoo.

Réponses vérifiées le 26 oct. 2026.