00:00:00Voici Shannon, un testeur d'intrusion IA autonome et open-source qui analyse le code et exécute
00:00:05des exploits en direct via l'automatisation du navigateur pour déceler toutes sortes de failles, du SSRF
00:00:11(Server-Side Request Forgery) au XSS (Cross-Site Scripting), en passant par l'injection SQL et bien plus encore,
00:00:17vous fournissant un rapport de sécurité complet avec zéro faux positif. Mais avec l'annonce de Claude
00:00:22Code Security et le fait que Shannon soit basé sur le SDK de Claude, ce qui empêche d'utiliser
00:00:27votre abonnement, est-il utile d'apprendre un outil qui pourrait ne pas durer ?
00:00:31Abonnez-vous et entrons dans le vif du sujet.
00:00:32Dans l'un de mes anciens jobs, nous payions des milliers de dollars à des testeurs externes avant une
00:00:38sortie majeure, pour finalement découvrir des bugs à corriger, puis nous devions refaire des tests,
00:00:43ce qui coûtait cher en temps et en argent. C'est précisément ce que Shannon vient résoudre.
00:00:48Vous pouvez lancer Shannon autant de fois que vous le souhaitez, l'intégrer à un pipeline CI/CD
00:00:53et l'exécuter automatiquement. Et comme c'est open source, c'est gratuit. Enfin, il existe une version payante
00:00:58dont nous reparlerons. Mais n'étant pas expert en sécurité, je préfère tester mon projet
00:01:03avec Shannon plutôt que de lancer Kali Linux. Voyons Shannon en action. Shannon est conçu
00:01:08avec le SDK Anthropic Agent. Vous aurez donc besoin d'une clé API Claude pour le faire fonctionner.
00:01:13L'abonnement ne fonctionnera pas, mais je l'ai installé sur un VPS via un utilisateur non-root et je vais
00:01:20le tester sur OASP Juice Shop, une application truffée de vulnérabilités pour les tests.
00:01:25J'ai déjà cloné le dépôt Shannon, ce qui est nécessaire pour l'utiliser. Et pour que cela fonctionne,
00:01:30le dépôt que vous voulez tester doit se trouver dans le répertoire “repos” de Shannon.
00:01:34J'y ai donc placé Juice Shop. Une fois le projet Juice Shop lancé,
00:01:39je vais exécuter cette commande qui se connectera à l'application locale pour les tests de navigateur
00:01:44et au dépôt interne pour scanner le code. Si c'est la première
00:01:50fois que vous lancez Shannon, comme il utilise Docker Compose, il devra d'abord
00:01:54télécharger des images depuis Docker Hub. Mais comme je l'ai déjà fait, il passe directement à la suite.
00:01:58Nous obtenons un lien vers le workflow Temporal que nous pouvons voir via l'interface web, comme ceci,
00:02:03affichant toutes les étapes. On peut aussi lancer cette commande pour voir les logs
00:02:07en temps réel, ce que je préfère car l'interface web n'est pas toujours très détaillée.
00:02:12Mais attendez, c'est quoi Temporal ? Je pensais qu'on parlait de Shannon. Eh bien,
00:02:16les tests de Shannon peuvent durer des heures selon la taille du projet, et Temporal
00:02:21assure une exécution durable, peu importe le scénario. Si votre ordinateur plante en plein test
00:02:26ou si vous manquez de crédits Cloud, vous ne perdez rien. Temporal
00:02:32mémorise exactement où vous en étiez et redémarre Shannon à ce point précis. Dites-moi
00:02:36en commentaire si vous voulez une vidéo sur Temporal, mais il orchestre aussi toutes les phases de Shannon.
00:02:42Et même s'il n'y a que cinq phases, il s'y passe énormément de choses.
00:02:47Laissez-moi vous montrer. D'abord la phase “pre-flight” qui vérifie les identifiants API,
00:02:53l'état des conteneurs Docker et l'existence du dépôt. Puis l'étape “pre-recon” qui analyse
00:03:00le code pour comprendre l'application : architecture, points d'entrée et modèles de sécurité.
00:03:05Vient ensuite l'étape de reconnaissance réelle, très différente de la précédente, car ici
00:03:12Playwright est utilisé pour naviguer dans l'application. Il va cliquer sur des boutons, remplir des formulaires
00:03:18pour observer les requêtes réseau, prendre des captures d'écran, examiner les cookies et cartographier l'appli.
00:03:24Ensuite, la phase 4 lance cinq pipelines en parallèle. On y trouve d'abord
00:03:31les vulnérabilités et exploits d'injection, puis celles liées au Cross-Site Scripting (XSS),
00:03:38suivies de l'authentification et du SSRF. Et enfin, l'autorisation : l'accès
00:03:45aux données privilégiées ou aux infos d'autrui. Tout cela s'exécute en parallèle
00:03:52sur cinq agents pour les vulnérabilités et cinq autres pour les exploits. Enfin, la phase 5
00:03:59compile le tout en un rapport complet de test d'intrusion en combinant les cinq dernières vérifications.
00:04:07Parlant de rapport, voyons où en est notre test. Après presque deux heures et demie,
00:04:12le processus est terminé. On voit ici que ça a commencé par la validation pré-vol
00:04:17avant de passer à la pré-reconnaissance, puis à l'agent de reconnaissance. Ensuite, il lance
00:04:25tous les tests de vulnérabilité : injection, XSS, autorisation, SSRF.
00:04:31Vous remarquerez que pour certains, la ligne verte n'est pas pleine. C'est parce qu'il a dû
00:04:36reessayer car j'ai manqué de crédits Cloud. On voit un chiffre “2” ici, alors que pour d'autres,
00:04:40il n'y a pas eu de nouvel essai. Ça aurait pu être plus rapide sans ces interruptions,
00:04:46mais sans doute pas moins de deux heures. Bref, après les cinq tests de vulnérabilité,
00:04:51il passe aux cinq tests d'exploitation. On voit le SSRF ici, l'exploit
00:04:56d'authentification, l'injection, etc. Une fois tout cela fini, on voit que
00:05:02l'exploit d'authentification est le plus long. L'agent de rapport finalise ensuite le tout.
00:05:07Bien sûr, on pourrait tout détailler pour voir chaque étape, mais
00:05:13je ne suis pas expert en Temporal, et la documentation en dira bien plus
00:05:17sur l'usage de la plateforme. Regardons maintenant le rapport final généré par Shannon.
00:05:22Dans le répertoire “deliverables” de notre projet Juice Shop, on voit la liste
00:05:28de tous les rapports générés. C'est bien plus que ce que je pensais. Voyons d'abord
00:05:33celui-ci, l'analyse d'authentification. Il y a un résumé en haut, et ici,
00:05:37on note que 11 vulnérabilités critiques ont été identifiées. Voyons lesquelles.
00:05:43Zéro point de terminaison d'authentification sur six n'utilisait HTTPS, ce qui est logique
00:05:47puisque je tournais en local. Il manquait aussi un contrôle de sécurité approprié.
00:05:52Et les points d'authentification n'avaient pas de limitation de débit. C'est vraiment
00:05:56détaillé. En faisant défiler, on voit précisément quels étaient les problèmes, où ils se trouvaient,
00:06:01et les points d'accès en cause. Je ne vais pas vous ennuyer avec chaque
00:06:05rapport, mais regardons le résumé appelé “Comprehensive Security Assessment Report”.
00:06:10On y trouve des détails sur le modèle utilisé et la portée du projet. En descendant,
00:06:15on voit qu'il a trouvé quatre vulnérabilités critiques d'authentification qui ont été
00:06:21pleinement exploitées, listées ici. Waouh, c'est très complet, mais regardez ça.
00:06:26Plus bas, il donne un résumé du rapport. Voici la première vulnérabilité,
00:06:31et encore plus bas, on voit exactement comment un attaquant pourrait l'exploiter. Voici la commande
00:06:38cURL exacte à lancer, avec les détails et le type d'informations extractibles.
00:06:43Ce niveau de précision existe pour chaque vulnérabilité, ce qui montre
00:06:48le sérieux de l'évaluation. Si ça vous intéresse, je mettrai un lien vers tous les
00:06:54rapports dans la description. Mais deux heures et demie, c'est très long pour que Claude Sonnet
00:06:59scanne un dépôt. Est-ce que Shannon Pro aurait pu aider ?
00:07:04Apparemment, Shannon Pro n'aide pas pour la vitesse, mais apporte d'autres fonctions comme le score CVSS,
00:07:09absent de la version gratuite. Il y a le support CI/CD, l'accès API... Et surtout,
00:07:16pour les entreprises, on y trouve tout le nécessaire, dont les rapports de conformité OWASP,
00:07:22ainsi que SOC 2 et PCI DSS. Même si deux heures et demie, c'est long, mes recherches
00:07:27montrent que le premier lancement est le plus lent, les suivants étant bien plus rapides.
00:07:32Je sais ce que vous vous dites. Presque deux heures et demie sous Claude Sonnet 4.6
00:07:37pour un seul test... Combien ça a coûté en crédits ? Disons... beaucoup.
00:07:43J'ai rechargé 66 $et il me restait environ ce montant. On a donc dépensé près de 60$ de
00:07:50crédits Claude pour ce test, ce qui est moins cher qu'un testeur humain, mais reste une somme.
00:07:55J'aurais adoré utiliser mon abonnement Claude Pro ou Max pour réduire la facture,
00:08:00ce que Claude Code Security devrait permettre à sa sortie officielle. À moins
00:08:05que l'équipe de Keygraph ne réécrive Shannon avec le SDK OpenAI ou le SDK Vercel AI,
00:08:10qui permettent d'utiliser plus de modèles. Globalement,
00:08:16si vous êtes une startup et ne voulez pas payer un testeur humain, Shannon est une
00:08:21bonne option. Pour un développeur indépendant avec peu de moyens, attendez peut-être
00:08:26de voir si votre produit trouve son public. Et puisqu'on parle d'IA et de sécurité,
00:08:30si vous voulez savoir comment installer OpenClaude en toute sécurité sur un VPS,
00:08:34regardez la vidéo suivante où je vous explique tout étape par étape.