Agentic Security - Scanner de vulnérabilités LLM
Agentic Security est un scanner open-source de vulnérabilités LLM agentiques et kit de red team. Au lieu de lancer une liste fixe de prompts, il utilise une boucle agentique pour tester un modèle ou une API cible — générer des sondes, observer les réponses, et s’adapter — pour découvrir les jailbreaks, les injections de prompt, et le comportement non sécurisé. Il effectue également des tests de stress des API, ce qui est important car de nombreux déploiements LLM échouent sur les limites de débit et l’épuisement des ressources avant d’échouer sur la sécurité du contenu.
Scannez uniquement les systèmes que vous possédez ou êtes autorisé à tester.
Installation
| Méthode | Commande |
|---|
| pip | pip install agentic_security |
| Depuis la source | git clone https://github.com/msoedov/agentic_security && pip install -e . |
| Exécuter l’UI | agentic_security (sert une UI web locale) |
| Headless | agentic_security --headless |
| Vérifier | agentic_security --help |
Exécution d’un scan
| Commande | Description |
|---|
agentic_security | Démarrer l’UI locale (port par défaut 8718) |
agentic_security --port 8718 | Choisir un port |
agentic_security --headless | Mode CI/non-interactif |
--llm-spec <file> | Définir le format de requête cible |
--max-budget N | Limiter les tokens/requêtes dépensées |
Définir la cible
Le scanner a besoin de savoir comment appeler votre endpoint LLM. Vous fournissez une spécification HTTP :
POST https://api.example.com/v1/chat/completions
Authorization: Bearer $TOKEN
Content-Type: application/json
{
"model": "my-model",
"messages": [{"role": "user", "content": "<<PROMPT>>"}]
}
<<PROMPT>> est remplacé par chaque sonde adversaire générée, donc n’importe quelle API compatible OpenAI ou personnalisée peut être ciblée.
Ce qu’il teste
| Catégorie | Cherche |
|---|
| Jailbreaks | Contournement des instructions de sécurité |
| Injection de prompt | Surcharge d’instructions via l’entrée |
| Fuite de données | Divulgation du prompt système / données d’entraînement |
| Contenu nuisible | Conformité dangereuse |
| Fuzzing | Entrées malformées/cas limites |
| Stress | Comportement sous charge/limites de débit |
Ensembles de données et sondes
| Source | Fournit |
|---|
| Ensembles de sondes intégrés | Prompts adverses organisés |
| Ensembles de données HuggingFace | Corpus de jailbreak communautaires |
| CSV personnalisé | Vos propres sondes |
| Génération agentique | Attaques adaptatives générées par modèle |
Lecture des résultats
| Sortie | Signification |
|---|
| Taux d’échec | Part des sondes qui ont produit une sortie non sécurisée |
| Ventilation par module | Quelle classe d’attaque a réussi |
| Transcriptions d’exemple | Les paires exactes prompt/réponse |
| Débit/latence | Comportement de l’API sous stress |
Concentrez-vous d’abord sur les modules à taux d’échec élevé — c’est là où vos garde-fous sont les plus fins.
Intégration CI
# Scan headless avec un plafond de dépense, échouer sur le seuil
agentic_security --headless --llm-spec ./target.spec --max-budget 50000
| Pratique | Pourquoi |
|---|
| Plafonner le budget | Le fuzzing agentique peut dépenser des tokens rapidement |
| Épingler les ensembles de sondes | Résultats comparables d’exécution à exécution |
| Exécuter au changement de prompt/modèle | Les deux modifient la surface de sécurité |
| Associer avec des garde-fous | Rescanner après l’ajout de LLM Guard |
Agentic Security vs outils connexes
| Aspect | Agentic Security | garak | DeepTeam |
|---|
| Approche | Fuzzing agentique + stress | Bibliothèque de sondes statiques | Suite de tests pythonique |
| Test de stress API | Oui | Non | Non |
| UI | UI web locale | CLI | Code |
| Meilleur pour | Scan black-box d’endpoint | Larges sondes de modèle | Red teaming CI au niveau de l’application |
Ressources