À propos du projet

CERT-X-GEN est conçu pour répondre aux limites des scanners de sécurité traditionnels, qui contraignent toute la logique de détection dans des DSL YAML restreints incapables de prendre facilement en charge les conversations de protocole multi-étapes, l'analyse de protocoles binaires, les branchements conditionnels, les opérations critiques en performance ou l'accès aux bibliothèques natives. Le runtime central est une couche d'exécution agnostique au langage qui permet d'écrire des modèles de détection dans 12 langages : Python, Go, Rust, C, C++, Java, JavaScript, Ruby, Perl, PHP, Shell et YAML. Il inclut la mise en cache de compilation pour les langages compilés, l'exécution parallèle des modèles avec limitation de débit, et un contrat de modèle simple où les modèles lisent les détails de connexion de la cible depuis des variables d'environnement, exécutent une logique de détection personnalisée et renvoient des résultats JSON structurés. L'outil propose deux workflows principaux : 1. Scan de modèles via la commande cxg scan : exécute des modèles de détection polyglottes contre des cibles définies comme hôtes uniques, listes de cibles dans des fichiers, plages CIDR, URL ou binaires CLI locaux. Il prend en charge la sélection de modèles par glob, des plages de ports personnalisées et plusieurs formats de sortie (JSON, CSV, SARIF, HTML, Markdown) optimisés pour l'intégration en pipeline. 2. Pentest whitebox piloté par IA via la commande cxg pentest : exploite les résultats d'analyse de code source pour classer les hypothèses de sécurité, utilise des fournisseurs d'IA configurables (Claude, Codex, Gemini, Anthropic, OpenAI ou points de terminaison bridge personnalisés) pour générer des modèles de sondes JavaScript, et exécute les sondes dans des contextes Chromium authentifiés contre des applications web ou des applications de bureau Electron. Il inclut une gestion de session intégrée pour les tests authentifiés, un mode CI qui échoue strictement en cas de session expirée afin d'éviter les sondages non authentifiés, et des rapports structurés qui relient les résultats aux affirmations d'exposition du code source d'origine. Les capacités CLI supplémentaires incluent cxg build pour compiler des cibles instrumentées avec des sanitizers afin de valider les verdicts de scan, cxg template pour gérer la bibliothèque officielle de modèles hébergée séparément sur Git, cxg search pour la recherche de modèles en texte intégral et par regex, cxg ai pour la génération de modèles assistée par IA, cxg mcp pour fonctionner comme serveur Model Context Protocol pour l'intégration d'agents IA, cxg sandbox pour gérer les environnements de dépendances par langage, cxg config pour la génération et la validation de configuration, cxg update pour l'auto-mise à jour, et cxg version pour les vérifications de version. L'API REST cxg server prévue n'est pas encore implémentée. Les options d'installation incluent Cargo (crates.io), Homebrew, un script d'installation rapide curl, des images Docker pré-construites, des binaires statiques pour Linux, macOS et Windows, et des compilations depuis les sources. Il est conseillé aux utilisateurs de faire preuve de prudence lors de l'exécution de modèles, car les modèles s'exécutent comme processus enfants avec un accès complet au réseau et au système de fichiers de l'utilisateur appelant, sans sandboxing ni limitation de ressources intégrés. Le projet est sous licence Apache 2.0, avec la documentation officielle hébergée sur docs.bugb.io/cxg/.