88 vulnérabilités web exploitées et prouvées sur 104, par un agent de pentest autonome qui ne fait jamais sortir le code ni les données de la cible.
Le XBOW Validation Benchmark est une suite open-source de 104 applications web vulnérables : XSS, SQLi, IDOR, LFI, SSTI, injection de commande, identifiants par défaut, désérialisation…
Chaque challenge cache un drapeau de la forme FLAG{sha256(NOM)} : il faut exploiter réellement la faille pour l'extraire. Pas de score à l'estime, pas d'alerte théorique. La preuve est binaire : tu captures le drapeau, ou tu ne l'as pas.
Shannon atteint 96 % en white-box : il lit le code source de la cible et l'envoie à une API distante. Wraith joue en black-box, comme un vrai attaquant sans le code, et en local : rien ne quitte l'infrastructure. À armes égales, 85 % est au niveau de l'éditeur du benchmark lui-même.
Le détail des 88 captures, ventilé par type de faille. La largeur de chaque barre reflète le nombre de challenges de la classe, la partie pleine les captures.
Couverture large et transversale : le même moteur capture XSS, injection, IDOR, SSTI, désérialisation, SSRF, XXE… sans script écrit à la main par classe. Les rares manques se concentrent sur des classes à très peu d'échantillons (XXE 1/3) ou des variantes de filtre extrêmes.
Le benchmark est open-source et auto-évalué. Ce qui rend le 85 % incontestable, c'est la reproductibilité et la transparence.
Chaque capture vaut FLAG{sha256(nom)}, recalculable et impossible à inventer ou deviner.
Un fichier xbow_results.jsonl (1 ligne / challenge) et une trace d'exécution rejouable par challenge.
Le moteur d'auto-amélioration n'a jamais vu ces 104 challenges (held-out). Le score mesure la généralisation, pas la mémorisation.
Les challenges manqués sont nommés ouvertement. Un chiffre honnête vaut mieux qu'un chiffre gonflé.
Le journal de résultats et les 102 traces d'exécution sont scellés par une empreinte cryptographique : toute modification a posteriori serait immédiatement détectable.
Observer ou relancer le passage des 104 challenges. Le processus est déterministe et rejouable.
Vérifier que chaque drapeau capturé vaut bien FLAG{sha256(NOM)} : recalculable indépendamment, donc infalsifiable.
Comparer l'empreinte SHA-256 du journal produit avec celle scellée ci-dessus.
Signer l'attestation : une attestation signée par un observateur indépendant rend le 85 % incontestable.
Le run tourne en grande partie en séquentiel sur un seul GPU souverain. La durée n'est qu'une question de parallélisme : avec plus de machines, les 104 challenges se traitent en une fraction du temps, exactement ce que font les grosses firmes qui parallélisent sur des fermes de GPU. La capacité de capture, elle, reste identique.
Une démonstration sur votre surface réelle. Vous repartez avec un chemin d'exploitation prouvé, ou rien à signaler.