
Un scanner de sécurité pour vos workflows agentiques LLM
Un scanner de sécurité pour vos workflows agentiques !
Le Agentic Radar est conçu pour analyser et évaluer les systèmes agentiques afin d'en tirer des informations sur la sécurité et le fonctionnement. Il aide les développeurs, chercheurs et professionnels de la sécurité à comprendre comment fonctionnent les systèmes agentiques et à identifier les vulnérabilités potentielles.
Il permet aux utilisateurs de créer un rapport de sécurité pour les systèmes agentiques, notamment :
Le rapport HTML complet résume toutes les conclusions et facilite la revue et le partage.
Voir un exemple de rapport complet ici
Agentic Radar inclut le mappage des vulnérabilités détectées vers des frameworks de sécurité bien connus 🛡️.
Si vous ne vous intéressez qu'à la visualisation, essayez l'Agentic Visualizer.
C'est un outil web qui permet de visualiser les workflows agentiques de manière conviviale.
Il n'y en a pas ! Assurez-vous simplement d'avoir Python (pip) installé sur votre machine.
pip install agentic-radar
# Check that it is installed
agentic-radar --version
Certaines fonctionnalités nécessitent des installations supplémentaires, selon le framework agentique ciblé. Voir plus ci-dessous.
Les extras CrewAI sont nécessaires lorsque vous utilisez l'une des fonctionnalités suivantes avec CrewAI :
Vous pouvez installer Agentic Radar avec les dépendances CrewAI supplémentaires en exécutant :
pip install "agentic-radar[crewai]"
[!WARNING] Ceci installera le paquet
crewai-toolsqui n'est pris en charge que sur les versions Python >= 3.10 et < 3.13. Si vous utilisez une autre version de Python, les descriptions des outils seront moins détaillées ou totalement absentes.
Les extras OpenAI Agents sont nécessaires lorsque vous utilisez l'une des fonctionnalités suivantes avec OpenAI Agents :
Vous pouvez installer Agentic Radar avec les dépendances OpenAI Agents supplémentaires en exécutant :
pip install "agentic-radar[openai-agents]"
Agentic Radar prend désormais en charge deux commandes principales :
scanAnalyse le code à la recherche de workflows agentiques et génère un rapport.
agentic-radar scan [OPTIONS] FRAMEWORK:{langgraph|crewai|n8n|openai-agents|autogen}
Exemple :
agentic-radar scan langgraph -i path/to/langgraph/example/folder -o report.html
testTeste les agents d'un workflow agentique pour détecter diverses vulnérabilités. Nécessite que OPENAI_API_KEY soit définie comme variable d'environnement.
agentic-radar test [OPTIONS] FRAMEWORK:{openai-agents} ENTRYPOINT_SCRIPT_WITH_ARGS
Exemple :
agentic-radar test openai-agents "path/to/openai-agents/example.py"
En savoir plus sur cette fonctionnalité ici.
Le durcissement des invites agentiques améliore automatiquement les invites système détectées dans votre workflow agentique et les affiche dans le rapport. Il transforme de simples instructions d'agent en invites système structurées de haute qualité, conformes aux meilleures pratiques d'ingénierie des invites.
[!NOTE]
Frameworks actuellement pris en charge (d'autres à venir) : OpenAI Agents, CrewAI, Autogen
Son utilisation est assez simple :
Définissez votre variable d'environnement OPENAI_API_KEY en exécutant export OPENAI_API_KEY=<api_key>.
Exécutez Agentic Radar avec l'option --harden-prompts, par exemple :
agentic-radar scan openai-agents --harden-prompts -i examples/openai-agents/
basic/lifecycle_example -o report.html
Agentic Radar prend désormais en charge le test de vos workflows d'agents au moment de l'exécution afin d'identifier les vulnérabilités critiques via des entrées adverses simulées.
Cela inclut des tests automatisés pour :
Actuellement pris en charge pour :
La commande test lance votre workflow agentique avec une suite de tests conçue pour simuler des entrées malveillantes ou adverses. Ces tests sont basés sur des scénarios d'attaque réels, alignés sur l'OWASP LLM Top 10.
[!NOTE]
Cette fonctionnalité nécessite que OPENAI_API_KEY ou AZURE_OPENAI_API_KEY soit définie comme variable d'environnement. Vous pouvez la définir en ligne de commande ou dans un fichier .env.
Le test s'exécute comme suit :
agentic-radar test <framework> "<path/to/the/workflow/main.py any-necessary-args>"
Par exemple :
agentic-radar test openai-agents "examples/openai-agents/basic/lifecycle_example.py"
L'outil s'injecte dans le workflow agentique fourni par l'utilisateur, détecte les informations nécessaires et exécute les tests préparés.
Vous pouvez passer des tests personnalisés à Agentic Radar en créant un fichier YAML avec la structure suivante :
include_default_tests: false
tests:
- name: TestA
input: Mention A.
success_condition: Attack succeeded if A is mentioned.
- name: TestB
input: Mention B.
success_condition: Attack succeeded if B is mentioned.
name est le nom du test, input est le texte d'entrée à transmettre à l'agent, et success_condition est une description de ce qui constitue une attaque réussie (elle sera utilisée par un LLM oracle pour déterminer si le test a réussi ou échoué).
Vous pouvez ensuite exécuter le test Agentic Radar avec l'option --config pointant vers votre fichier YAML :
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"
Par défaut, Agentic Radar inclut également les tests intégrés. Vous pouvez les désactiver en définissant include_default_tests sur false dans votre fichier YAML.
Tous les résultats de test sont affichés dans un tableau visuellement riche directement dans le terminal. Chaque ligne indique :
Cela permet de repérer facilement les vulnérabilités d'un coup d'œil, en particulier dans les systèmes multi-agents.
Pour intégrer Agentic Radar dans votre pipeline CI/CD, vous pouvez utiliser l'exemple de workflow GitHub Actions fourni. Il suffit de copier le YAML dans le répertoire .github/workflows de votre dépôt.
Ce workflow exécute automatiquement des analyses Agentic Radar sur votre base de code à chaque push de modifications dans le dépôt. Le rapport généré est téléchargé comme artefact dans l'exécution GitHub Actions.
Cette matrice montre quels frameworks agentiques prennent en charge toutes les fonctionnalités d'Agentic Radar. Avec le temps, nous nous efforcerons de couvrir tous les frameworks actuels avec toutes les fonctionnalités existantes, tout en introduisant de nouveaux frameworks dans la combinaison.
Y a-t-il des fonctionnalités que vous souhaiteriez voir en premier ? Votez anonymement ici ou ouvrez une issue GitHub.
Nous accueillons avec plaisir les contributions de la communauté IA et sécurité ! Rejoignez notre communauté Discord ou notre communauté Slack pour échanger avec d'autres développeurs, discuter des fonctionnalités, obtenir de l'aide et contribuer à Agentic Radar 🚀
Si vous aimez ce que vous voyez, laissez-nous une étoile ! Cela nous inspire pour nous améliorer et innover, et aide d'autres personnes à découvrir le projet 🌟
Q : Mon code source est-il partagé ou tout s'exécute-t-il localement ?
R : Les principales fonctionnalités (analyse statique du workflow et cartographie des vulnérabilités) s'exécutent entièrement en local. Votre code n'est donc partagé nulle part. Pour certaines fonctionnalités avancées optionnelles, des LLM peuvent être utilisés. Par exemple, lors de l'utilisation du durcissement des invites, les invites système détectées peuvent être envoyées à un LLM pour analyse.
| Fonctionnalité | Scan | Détection MCP | Durcissement des invites | Test agentique |
|---|
| OpenAI Agents | ✅ | ✅ | ✅ | ✅ |
| CrewAI | ✅ | ✅ | ✅ | ❌ |
| n8n | ✅ | ✅ | ❌ | ❌ |
| LangGraph | ✅ | ✅ | ❌ | ❌ |
| Autogen | ✅ | ✅ | ✅ | ❌ |