Vue lecture

Shannon - L'IA qui pentest votre code toute seule

Vous connaissez tous Kali Linux , Metasploit et compagnie… Mais est-ce que vous avez déjà vu une IA faire un pentest toute seule ? Genre, VRAIMENT toute seule. Shannon , c'est un framework open source qui lâche un agent IA sur votre code, et qui enchaîne recon, analyse de vulns, et exploitation, tout ça sans intervention humaine.

En gros, vous lui filez une URL cible et l'accès à votre code source (faut que le repo soit accessible, c'est la base), et l'agent se débrouille. Il commence alors par analyser le code en statique… puis lance des attaques dynamiques sur l'app en live. Pour cela, il déploie plusieurs sous-agents spécialisés qui bossent en parallèle via Temporal, un moteur de workflow.

Un agent pour la reconnaissance, un pour chercher les injections SQL, un autre pour les XSS, un pour les SSRF, un pour les problèmes d'authentification… Bref, chacun fait son taf et tout remonte dans un rapport final au format JSON.

Le truc, c'est que Shannon ne se contente pas de scanner bêtement comme un Nessus ou un Burp. L'agent COMPREND votre code. Il lit les routes, les middlewares, les requêtes SQL, et il construit ses attaques en fonction. Du coup, il trouve des trucs que les scanners classiques loupent complètement, genre une injection NoSQL planquée dans un endpoint obscur ou un bypass d'auth via un cookie mal valide. Attention par contre, si votre app utilise un framework un peu exotique ou du code obfusqué, y'a des chances que l'agent passe à côté… comme tout scanner, hein.

Pour ceux qui se demandent combien coute un test d'intrusion classique, ça va de 3 000 € à plusieurs dizaines de milliers d'euros. Shannon, c'est open source et ça tourne sur Docker, par contre, faudra compter environ 50 dollars en tokens API Anthropic par run… c'est pas gratuit mais c'est quand même 60 fois moins cher qu'un audit humain.

Cote installation, c'est Docker + Docker Compose, un fichier .env avec votre cle API Anthropic (la variable ANTHROPIC_API_KEY, classique), et hop, un docker compose up pour lancer le tout. Le workflow complet prend entre 1 h et 1 h 30 selon la taille de votre base de code. Vous pouvez suivre la progression en temps réel via l'interface web Temporal sur localhost:8233. (perso, j'aime bien voir les agents bosser en parallèle, ça a un côté satisfaisant).

Et attention, Shannon exécute de VRAIES attaques. C'est mutatif. Ça veut dire que si l'agent trouve une injection SQL, il va l'exploiter pour de vrai pour prouver que ça marche. Du coup, on le lance sur du code à soi, en local ou sur un environnement de test. Mais jamais en prod. JAMAIS !!!

Bon, sauf si vous aimez vivre dangereusement et que votre boss est en vacances… ^^

Les agents d'exploitation (Auth, SSRF, XSS, AuthZ) en parallèle sur la timeline Temporal

Pour en avoir le cœur net, je l'ai lancé sur une app Node.js/Express maison avec 27 endpoints d'API. 2 heures de scan, 287 transitions d'état, 7 agents qui ont bossé en parallèle… et une facture Anthropic qui pique un peu. Parce que oui, chaque agent consomme des tokens Claude à chaque étape d'analyse et d'exploitation, et ça s'additionne vite. Comptez une cinquantaine de dollars pour un run complet. Bref, c'est pas gratuit de se faire hacker par une IA.

Cote résultats par contre, plutôt parlant. Zero injection SQL exploitable, les 23 paramètres utilisateur ont été tracés jusqu'aux requêtes et Shannon a confirmé que tout était paramétré correctement. Bien joué. Par contre, il a détecté 6 failles SSRF liées à des contournements IPv6, des XSS stockées via innerHTML sans aucun échappement dans le frontend, et surtout… ZERO authentification sur les 27 endpoints. Genre, n'importe qui peut purger ma base ou cramer vos crédits API Claude sans se connecter. Bon après, c'est un outil que je me suis dev, qui est un proto local, donc c'est pas exposé sur internet.

Le rapport final est plutôt bien foutu, je trouve. Pour chaque vuln trouvée, vous avez la sévérité CVSS (critique, haute, moyenne), le vecteur d'attaque utilisé, une preuve d'exploitation avec les payloads, et surtout des recommandations de correction. Shannon va jusqu'à vous montrer la ligne de code fautive, expliquer pourquoi le bypass fonctionne, et proposer le fix. Si vous utilisez déjà des outils comme Sploitus pour votre veille secu, Shannon c'est le complément parfait pour passer de la théorie à la pratique sur votre propre code.

Le projet est encore jeune, c'est vrai, mais l'approche est intéressante. Plutôt que d'automatiser bêtement des scans, on a donc un agent qui raisonne sur le code et adapte sa stratégie. Ça change des outils qui balancent des milliers de requêtes à l'aveugle et qui vous noient sous les faux positifs.

Alors après, je vous vois venir, vous allez me dire : est-ce que ça vaut un vrai pentester qui connait votre infra par cœur et qui sait où chercher les trucs tordus ?

Pas vraiment, mais pour un premier audit à moindre coût, ça fait le taf.

Source

  •  

Xikipedia - Le TikTok de Wikipedia sans tracking ni IA

Les algorithmes de recommandation, vous connaissez bien je pense... YouTube, TikTok, Instagram... ces trucs qui vous gardent scotché à l'écran durant des heures en aspirant toutes vos données au passage. Hé bien un dev de bon goût a décidé de prouver qu'on pouvait faire la même chose sans machine learning et sans collecter la moindre info perso.

Son arme secrète ? Les 270 000 articles de Simple Wikipedia.

Xikipedia , c'est un pseudo réseau social qui vous balance des articles de Simple Wikipedia sous forme de feed, exactement comme votre fil TikTok préféré. Sauf que derrière, y'a pas de ferme de serveurs qui analyse votre comportement mais juste un petit algorithme local en JS qui tourne dans votre navigateur.

En gros, le système fonctionne avec un scoring par catégorie côté client, stocké en localStorage. Vous scrollez un article sans le lire ? Moins 5 points pour cette catégorie. Vous likez ? Plus 50 points, avec un bonus qui augmente si vous n'avez pas liké depuis longtemps (genre un mécanisme anti-binge plutôt malin). Vous cliquez sur l'article complet ? 75 points. Sur une image ? 100 points !!

Et c'est comme ça qu'au bout de quelques minutes de scroll, le feed commence à comprendre vos centres d'intérêt et vous propose des trucs de plus en plus pertinents. J'ai testé en likant 3-4 articles sur l'astronomie... au début je pensais que ça serait du random total, mais au bout de 5 minutes j'avais quasiment que des trucs sur l'espace et la physique. Plutôt efficace pour un algo sans IA.

D'ailleurs, le truc qui est assez cool c'est la répartition des contenus. 40% de sélection pondérée par vos scores, 42% du contenu le mieux noté, et 18% complètement aléatoire. Ce dernier bout de hasard, c'est ce qui évite de s'enfermer dans une bulle de filtre (prends-en de la graine, YouTube !!).

La page d'accueil avec ses catégories - sobre mais efficace

Le tout tourne en PWA, c'est-à-dire que ça s'installe comme une app sur votre téléphone ou votre ordi et ça fonctionne même hors ligne après le premier chargement. Les ~34 Mo de données compressées de Simple Wikipedia sont stockées localement via IndexedDB dans votre navigateur. Vous pouvez créer plusieurs profils (pratique si vous partagez un appareil), consulter vos stats d'engagement perso, et même basculer entre thème clair et sombre.

Et le code est sous licence AGPLv3, dispo sur GitHub .

Petit bémol quand même si vous êtes sur iPhone, y'a des restrictions mémoire imposées par Apple sur Safari qui peuvent poser problème avec les ~34 Mo de données. Attention aussi, le premier chargement prend un moment vu qu'il faut tout télécharger d'un coup... sauf si vous êtes en 4G pourrie, là ça peut carrément planter en plein milieu. Et pas moyen de reprendre, faut tout relancer. Prévoyez donc du Wi-Fi.

Pour ceux qui se demandent à quoi ça sert concrètement... c'est juste un moyen sympa de tomber sur des sujets que vous n'auriez jamais cherchés, le tout sans que personne ne sache que vous avez passé 45 minutes à lire des articles sur les pieuvres géantes du Pacifique.

Voilà, j'aurais pas parié dessus au départ... mais après avoir scrollé une bonne demi-heure, je dois avouer que c'est plutôt malin comme approche.

Amusez-vous bien !

  •  
❌