Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

cvENGINE

Un scanner de surface d'attaque auto-hébergé, vieux d'une semaine, qui classe les CVE exploitées sur vos hôtes et les vérifie, avec ou sans modèle.

Avis de Sheela · Mis à jour

Voir sur GitHub Open source

Notre note

3.6/5

Un scanner de surface d'attaque gratuit et compétent, à la documentation d'une franchise rare, mais il a une semaine et exécute par défaut des templates Nuclei qui envoient plus que du GET : réservez-le à vos propres actifs et à un modèle que vous hébergez.

Qu’est-ce que cvENGINE ?

cvENGINE est un outil auto-hébergé d'évaluation de la surface d'attaque externe, maintenu par une seule personne, hevnsnt, et un fork de reNgine 2.x. Vous ajoutez un domaine, une plage d'adresses ou une URL ; il trouve sous-domaines, certificats, adresses et ports avec bbot, naabu, une veille de Certificate Transparency et nmap, rapproche ce qu'il trouve des CVE signalées par CISA KEV, ENISA EUVD, VulnCheck KEV, EPSS, Exploit-DB et Metasploit, puis tente de reproduire chaque correspondance avec Nuclei, nmap ou une sonde de bannière. Autour s'ajoutent une recherche à la Shodan sur votre propre inventaire, une chronologie des changements, des rapports PDF, un atelier de bug bounty qui lit le périmètre de HackerOne, Bugcrowd, Intigriti et YesWeHack, une API REST et un serveur MCP.

Chaque CVE reçoit une note fixe avant qu'un modèle n'intervienne : fire (exploitation connue, un exploit public, CVSS 9.0 ou plus, ou EPSS de 0.1 ou plus avec CVSS 7.0 ou plus), smoke (CVSS 7.0 ou EPSS 0.1) ou ice. Un modèle d'Anthropic, OpenAI, OpenRouter ou un serveur local Ollama, LM Studio ou vLLM trie ensuite les résultats et planifie les vérifications ; sans modèle, la découverte, la correspondance et la validation fonctionnent quand même. Les Sentinels, un client Docker distinct, scannent depuis d'autres réseaux, y compris des réseaux privés que le serveur lui-même ne scanne jamais. OpenVAS de Greenbone est un module optionnel, désactivé par défaut.

Le dépôt a été créé le 24 octobre 2026, est sous licence GPL-3.0 et compte environ 547 étoiles et 89 forks. Sa première semaine a réuni 724 commits et 10 versions, de la v1.0 du 25 octobre à la v1.3.1 du 30 octobre ; GitHub indique deux contributeurs, hevnsnt avec 421 commits et Claude avec 295. Il tourne comme une seule pile Docker Compose (Django 5.2, PostgreSQL 18) sous Linux avec au moins 4 Go de RAM.

cvENGINE vaut-il le coup ?

cvENGINE réunit dans une seule pile Docker gratuite la découverte, la correspondance de CVE classée par exploitation et les vérifications avec preuves, le travail que les plateformes commerciales de surface d'attaque facturent, et sa documentation parle de ses lacunes plus franchement que celle de la plupart des éditeurs. Ce qui le freine, c'est son âge. Le projet a une semaine, c'est un fork de reNgine 2.x remanié au rythme de 724 commits en sept jours, et sa propre page de comparaison le dit "écrit en quelques jours et bien moins testé". GitHub attribue 295 de ces commits à Claude : une bonne partie du code a donc été écrite avec un agent d'IA et relue par un seul mainteneur.

Le partage entre modèle et règles est la partie la mieux conçue. Fire, smoke et ice viennent d'une règle fixe dans un seul fichier, appliquée avant qu'un modèle ne voie une CVE, et une correspondance exige le produit plus une version comprise dans une plage affectée bornée ; un nom de produit seul ne correspond à rien. Le tri classe ensuite les résultats en confirmed, likely ou needs validation, mais une preuve solide, comme un template qui se déclenche ou une base de données qui a répondu, fixe un plancher que le modèle ne peut pas franchir, et le modèle seul ne peut jamais confirmer un résultat. D'après la documentation du pipeline, les prompts de tri contiennent des preuves nettoyées (produit, version, plage de l'avis, identifiant de template) avec les noms d'hôte masqués, et le modèle qui rédige les fiches de détection ne voit que le texte des flux. Deux étapes vont plus loin : Validate now demande au modèle de planifier des vérifications pour un hôte précis, et les écrans de connexion capturés sur des serveurs RDP sans Network Level Authentication lui sont envoyés en images. Pour un inventaire de vos propres points faibles, un modèle local via Ollama, LM Studio ou vLLM garde tout cela sur votre matériel.

"Lecture seule" mérite une lecture plus attentive que celle du README. Les cinq vérifications de validation sont décrites comme en lecture seule, et les templates Nuclei écrits par l'IA ne s'exécutent jamais avant qu'une personne les approuve. Depuis la 1.3, pourtant, l'interrupteur de Scan policy qui exécute tous les templates Nuclei installés, y compris ceux qui envoient plus que des requêtes GET, HEAD ou OPTIONS, est activé par défaut ; seuls les templates de déni de service et les vérifications hors bande restent exclus. Le scanner tente aussi MySQL en root sans mot de passe et demande à MongoDB de lister ses bases sans authentification, et sa propre documentation qualifie OpenVAS d'intrusif. Une équipe qui a promis des tests passifs à un client devrait couper cet interrupteur avant le premier scan.

L'autorisation reste en grande partie l'affaire de l'opérateur. L'assistant de configuration vous demande de confirmer que vous pouvez tester la première cible, et le serveur refuse les adresses de loopback, link-local et de métadonnées cloud, ainsi que les plages privées sauf si vous les autorisez. À notre lecture de la documentation, il n'existe aucune preuve de propriété, comme un enregistrement DNS, pour une cible ordinaire : un domaine que vous saisissez est découvert puis scanné. L'atelier de bug bounty fait exception, avec un verrou commun qui ne scanne jamais un hôte qu'un programme déclare hors périmètre ou ne mentionne pas, et qui retient les scans automatiques tant que vous n'avez pas noté avoir lu la politique et qu'elle autorise les tests automatisés.

Les Sentinels ne publient aucun port, appellent le serveur en HTTPS, tournent sous un utilisateur non privilégié avec NET_RAW et NET_ADMIN, et utilisent des tokens qui n'atteignent que leurs propres routes pendant 90 jours. Le point faible est la mise à jour : le client construit ce qui se trouve sur la branche main de son origine sans vérifier de signature, et un Sentinel interne peut scanner n'importe quelle adresse privée, ses voisins du LAN compris. Le dépôt du client a 1 étoile et GitHub n'y affiche aucune licence. Les contrôles du serveur lui-même sont raisonnables : un mot de passe administrateur généré qu'il faut remplacer, une connexion en deux étapes par TOTP qu'une organisation peut imposer, les rôles admin, user et audit, une liste d'adresses IP autorisées et un journal d'audit. Face à la plateforme hébergée de ProjectDiscovery, que la comparaison de cvENGINE chiffre à 200 $ par siège et par mois, ou à Censys et Shodan Monitor, qui surveillent un index construit à partir de leurs propres scans de tout Internet au lieu de sonder depuis votre serveur, cvENGINE renonce au SSO, aux rapports de conformité, à la découverte de comptes cloud et à un éditeur à appeler, et garde chaque résultat sur votre propre machine.

Là où il fait la différence

  • Une équipe sécurité de deux personnes dans une entreprise SaaS de 300 salariés

    Savoir lesquelles des CVE exploitées cette semaine atteignent nos hôtes publics, preuves à l'appui

    Installez-le sur une VM Linux avec 8 Go de RAM, ajoutez les domaines racines, pointez le modèle d'IA vers un serveur Ollama local et coupez l'interrupteur de Scan policy pour tous les templates si la gestion des changements exige des tests en lecture seule. Les correspondances fire avec preuves partent sur Slack ; aucune licence à payer, seulement la VM et le matériel du modèle.

  • Un chasseur de bug bounty à temps partiel qui travaille des programmes HackerOne et Bugcrowd

    Ne scanner que ce qu'un programme autorise et transformer les résultats en rapports

    Un App Admin autorise l'atelier, vous cliquez sur Work this program, notez avoir lu la politique et importez jusqu'à 200 cibles ; les hôtes hors périmètre ou non listés ne sont jamais scannés. Les rapports HackerOne partent avec vos propres identifiants d'API, tandis que Bugcrowd, Intigriti et YesWeHack reçoivent des champs prêts à copier.

  • Un ingénieur plateforme qui corrige l'infrastructure via Claude Code

    Laisser l'agent de code récupérer les résultats ouverts les plus dangereux et confirmer les correctifs

    Créez un token sur la page API tokens and MCP et enregistrez le serveur avec claude mcp add --transport http ; la liste de remédiation arrive avec fire en tête, et le texte venant des hôtes scannés est signalé comme non fiable. Les connexions enregistrées ne peuvent pas être définies via MCP, les secrets restent donc hors du contexte du modèle.

  • Une responsable informatique chargée du LAN d'un bureau

    Appliquer la même correspondance de CVE aux machines internes que le scan public n'atteint pas

    Déclarez la plage du bureau dans le projet, provisionnez un Sentinel interne léger et lancez-le avec docker compose up -d sur une machine Linux de ce LAN ; il cherche chaque semaine les hôtes actifs et exécute des passes nmap, TLS, UDP et Nuclei. Laissez sa mise à jour automatique sur Manual, puisque les mises à jour ne vérifient pas de signature.

Avant de vous engager

Mise en route
git clone, puis sudo ./install.sh sous Debian ou Ubuntu : il installe Docker s'il manque, génère tous les secrets et un certificat HTTPS privé, et affiche le mot de passe administrateur. Il faut au moins 4 Go de RAM, 8 Go pour être à l'aise, 20 Go de disque libre et les ports 443 et 8082.
Intégrations
bbot, naabu, nmap, Nuclei, testssl.sh, WPScan et OpenVAS en option ; Anthropic, OpenAI, OpenRouter, Ollama, LM Studio et vLLM ; alertes Slack, Discord, Telegram et Lark ; imports Tailscale et runZero ; une API REST et un serveur MCP en HTTP avec des tokens en lecture seule.
Données et confidentialité
Rien ne part vers les auteurs, selon la page de comparaison. Le tri envoie des preuves masquées au modèle choisi, et les captures d'écran de connexion RDP vont à un modèle de vision ; le registre d'usage de l'IA ne stocke ni prompts ni cibles. Les clés stockées et les graines de la connexion en deux étapes sont chiffrées avec une clé dans .env. GPL-3.0.
Coût à grande échelle
Pas d'édition payante. Le serveur est le coût principal, plus environ 4 Go de RAM, 2 vCPU et 25 Go de disque pour OpenVAS ; les tokens des modèles hébergés sont suivis par étape du pipeline, et le rédacteur de détections par IA fait par défaut 25 appels par jour. L'offre gratuite de WPScan autorise 25 requêtes d'API par jour, et sa licence impose un accord commercial pour les services hébergés.
Limites
Pas de découverte de comptes cloud, de SSO, de Jira ni de rapports de conformité ; les sondes d'OS de nmap échouent sous Docker Desktop sur macOS et Windows ; OpenVAS met entre une demi-journée et une journée par hôte ; 14 issues et pull requests ouvertes, avec des versions presque chaque jour.

Les points forts

  • Les notes fire, smoke et ice sont déterministes et s'appliquent avant tout modèle
  • Le modèle ne peut jamais confirmer seul un résultat ; une preuve solide fixe un plancher
  • Fonctionne sans modèle, ou avec un serveur local Ollama, LM Studio ou vLLM
  • Le verrou de bug bounty bloque les hôtes hors périmètre ou non listés
  • Gratuit, auto-hébergé, avec une API REST et un serveur MCP

Les points faibles

  • Une semaine d'existence, 724 commits en sept jours, un seul mainteneur
  • Depuis la 1.3, tous les templates Nuclei installés s'exécutent par défaut, pas seulement ceux en lecture seule
  • Aucune vérification de propriété pour les cibles ordinaires
  • Les mises à jour des Sentinels ne vérifient pas de signature, et le dépôt du client n'affiche aucune licence
  • Pas de SSO, de Jira, de découverte de comptes cloud ni de rapports de conformité

Idéal pour

Les ingénieurs sécurité et chasseurs de bug bounty qui veulent une vue gratuite et auto-hébergée des CVE exploitées qui touchent leurs propres hôtes exposés sur Internet, et qui peuvent faire tourner un modèle local et suivre un changelog qui avance vite.

cvENGINE : questions fréquentes

cvENGINE vaut-il le coup ?
Un scanner de surface d'attaque gratuit et compétent, à la documentation d'une franchise rare, mais il a une semaine et exécute par défaut des templates Nuclei qui envoient plus que du GET : réservez-le à vos propres actifs et à un modèle que vous hébergez. Nous lui donnons 3.6 sur 5.
Combien coûte cvENGINE ?
Gratuit et open source sous GPL-3.0, sans limite de sièges ni d'actifs. Vous payez le serveur, les tokens d'éventuels modèles hébergés et des clés de données payantes optionnelles comme WPScan.
Quels sont les inconvénients de cvENGINE ?
Une semaine d'existence, 724 commits en sept jours, un seul mainteneur; depuis la 1.3, tous les templates Nuclei installés s'exécutent par défaut, pas seulement ceux en lecture seule; aucune vérification de propriété pour les cibles ordinaires; les mises à jour des Sentinels ne vérifient pas de signature, et le dépôt du client n'affiche aucune licence; pas de SSO, de Jira, de découverte de comptes cloud ni de rapports de conformité.
À qui s’adresse cvENGINE ?
Les ingénieurs sécurité et chasseurs de bug bounty qui veulent une vue gratuite et auto-hébergée des CVE exploitées qui touchent leurs propres hôtes exposés sur Internet, et qui peuvent faire tourner un modèle local et suivre un changelog qui avance vite.
Combien coûte cvENGINE pour une équipe ou en production ?
Pas d'édition payante. Le serveur est le coût principal, plus environ 4 Go de RAM, 2 vCPU et 25 Go de disque pour OpenVAS ; les tokens des modèles hébergés sont suivis par étape du pipeline, et le rédacteur de détections par IA fait par défaut 25 appels par jour. L'offre gratuite de WPScan autorise 25 requêtes d'API par jour, et sa licence impose un accord commercial pour les services hébergés.
cvENGINE est-il sûr pour les données de l’entreprise ?
Rien ne part vers les auteurs, selon la page de comparaison. Le tri envoie des preuves masquées au modèle choisi, et les captures d'écran de connexion RDP vont à un modèle de vision ; le registre d'usage de l'IA ne stocke ni prompts ni cibles. Les clés stockées et les graines de la connexion en deux étapes sont chiffrées avec une clé dans .env. GPL-3.0.

Réponses vérifiées le 31 oct. 2026.