Strix - Guide de l’agent de test de pénétration IA
Strix est un outil de test de pénétration IA open-source qui fonctionne comme un chercheur en sécurité plutôt que comme un scanner statique. Au lieu de faire correspondre des patterns dans le code source, il exécute dynamiquement l’application cible, interagit avec elle, teste des vulnérabilités, et valide chaque découverte avec un exploit de preuve de concept. Cette étape de validation est le différenciateur : les découvertes s’accompagnent d’une preuve qu’elles sont réellement exploitables, ce qui réduit le bruit de faux positifs qui rend la sortie des scanners traditionnels coûteuse à analyser.
Test autorisé uniquement. Strix attaque activement la cible et génère des exploits fonctionnels. Exécutez-le exclusivement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite. L’utilisation non autorisée est illégale.
Installation
| Méthode | Commande |
|---|
| pip | pip install strix-agent |
| Docker | docker run -it strixagent/strix |
| Depuis la source | git clone https://github.com/usestrix/strix && pip install -e . |
| Clé LLM | export OPENAI_API_KEY=... (ou un autre fournisseur) |
| Vérifier | strix --version |
Utilisation de base
| Commande | Description |
|---|
strix --target ./repo | Tester une base de code locale |
strix --target https://staging.example.com | Tester une application en cours d’exécution |
strix --target ./repo --instruction "focus on auth" | Diriger l’agent |
strix --help | Liste complète des options |
| Phase | Ce que l’agent fait |
|---|
| Recon | Cartographie l’app : routes, entrées, surfaces d’authentification |
| Hypothèse | Raisonne sur les classes de vulnérabilité probables |
| Exploit | Crée et envoie des payloads réels |
| Valider | Confirme l’impact avec une PoC fonctionnelle |
| Rapport | Documente la découverte + étapes de reproduction |
La phase de validation est ce qui sépare Strix d’un scanner : une découverte n’apparaît que si l’agent a pu réellement la déclencher.
Classes de vulnérabilité
| Classe | Exemples |
|---|
| Injection | SQLi, injection de commandes, SSTI |
| XSS | Réfléchi, stocké, basé sur le DOM |
| Contrôle d’accès | IDOR, escalade de privilèges, authz cassée |
| SSRF | Accès aux services internes |
| Logique métier | Abus de flux qu’un scanner ne peut pas modéliser |
| Auth | Gestion de session, défauts de tokens |
Contrôles de portée et de sécurité
| Contrôle | Objectif |
|---|
| Cible explicite | Seule la cible déclarée est testée |
| Exécutions en bac à sable | Exécutez l’agent dans un conteneur isolé |
| Modes lecture seule | Limiter les actions destructrices si supportées |
| Limitation de débit | Éviter de surcharger la cible |
| Examiner les PoCs | Inspectez toujours les exploits générés avant de les réutiliser |
Exécutez Strix sur staging, pas en production, et limitez la sortie réseau du conteneur.
Flux de travail courants
# Évaluer un déploiement staging que vous possédez
strix --target https://staging.internal.example.com
# Examen ciblé d'un module d'authentification
strix --target ./app --instruction "audit the login and session handling"
# Exécuter à l'intérieur d'un conteneur pour l'isolement
docker run --rm -it -e OPENAI_API_KEY strixagent/strix \
--target https://staging.example.com
Lecture de la sortie
| Champ | Signification |
|---|
| Finding | La classe de vulnérabilité et son emplacement |
| PoC | La requête/payload concrète qui l’a déclenchée |
| Impact | Ce qu’un attaquant gagne |
| Reproduction | Étapes pour confirmer manuellement |
Comme chaque découverte s’accompagne d’une PoC, le triage devient une vérification plutôt qu’une investigation.
Strix vs outils traditionnels
| Aspect | Strix | SAST (Semgrep) | DAST (ZAP) |
|---|
| Méthode | Agent IA, dynamique + validé | Correspondance de patterns statiques | Crawl + attaque |
| Faux positifs | Bas (validé par PoC) | Plus élevé | Moyen |
| Logique métier | Oui (raisonne sur l’intention) | Non | Limité |
| Vitesse | Plus lent (agentic) | Rapide | Moyen |
| Idéal pour | Évaluation validée en profondeur | Couverture de code large | DAST à l’échelle de l’app |
Complète plutôt que de remplacer : utilisez Semgrep pour la couverture, ZAP pour le crawling DAST, et Strix pour la profondeur validée.
Ressources