Produit
Un logiciel précis : nginx, openssl, postgresql, wordpress… C’est le cas le plus courant. Un produit peut porter une version : seules les CVE qui touchent cette version alertent.
La stack est la liste des éditeurs et des produits que TechWatchAlert surveille pour un projet. C’est elle qui décide quelles CVE deviennent des alertes : une CVE qui ne touche aucun élément de la stack ne produit rien. Plus la stack est juste (bons noms, versions exactes), plus les alertes le sont.
L’écran se trouve dans Surveillance › Stack. Il montre la stack du projet actif, celui choisi sous Projet actif en haut du menu ; le nom du projet est rappelé à côté du titre. Sans projet actif, la page affiche seulement « Sélectionnez un projet pour voir sa stack ».

Un élément de stack est de l’un de deux types :
Produit
Un logiciel précis : nginx, openssl, postgresql, wordpress… C’est le cas le plus courant. Un produit peut porter une version : seules les CVE qui touchent cette version alertent.
Éditeur
Un éditeur entier : microsoft, apache… Toute CVE d’un produit de cet éditeur peut alerter. Un éditeur ne porte jamais de version (la colonne affiche « — »). À réserver aux éditeurs dont vous utilisez beaucoup de produits.
Les noms sont ceux des CVE (le vocabulaire des CPE du NVD) : http_server pour Apache HTTP Server, node.js, linux_kernel… La recherche d’ajout vous les propose ; vous n’avez pas à les connaître par cœur.
Pour qu’une CVE devienne une alerte, le moteur vérifie dans l’ordre :
Quand plusieurs éléments correspondent à la même CVE (par exemple l’éditeur microsoft et un produit Microsoft), une seule alerte est créée pour le projet, rattachée à l’élément le plus large (l’éditeur).
Chaque ligne décrit un élément de la stack. Par défaut, la liste est triée par nom, de A à Z.
| Colonne | Ce qu’elle montre |
|---|---|
| Case à cocher | Sélection pour les actions de masse (seulement si vous pouvez retirer des éléments). La case de l’en-tête Tout sélectionner coche les éléments visibles. |
| Nom | Logo (ou initiale), nom de l’élément et badges. Le nom est un lien vers la Base CVE filtrée sur ce produit ou cet éditeur. |
| Type | Produit ou Éditeur. |
| Version | La version surveillée, ou Toutes versions. Cliquable pour la changer. |
| Seuil d’alerte | La politique du projet ou le seuil propre à l’élément. |
| Criticité | Seulement quand NIS2 est activée pour le projet (voir Criticité). |
| Tags | Les tags de l’élément, et le + pour en ajouter. |
| × | Retire l’élément de la stack. |
La stack ne montre ni CPE ni alertes liées : le CPE et l’éditeur apportés par un import ou une détection d’URL sont conservés et servent au rapprochement, sans être affichés ; les alertes se consultent dans Alertes, où chacune dit quel élément l’a déclenchée.



Les filtres se cumulent. Si plus rien ne correspond, la page affiche « Aucun résultat » et un bouton Effacer les filtres.
Le tri se fait par un clic sur Nom, Type ou Seuil d’alerte ; un second clic inverse l’ordre. Le tri par seuil range les éléments selon leur seuil effectif (le leur, sinon celui de la politique), du plus large au plus strict ; à seuil égal, un élément qui hérite passe avant un élément qui affine.
Le bouton Ajouter à la stack ouvre une fenêtre de recherche. Elle sait ajouter plusieurs éléments d’un coup : on les met d’abord dans une file À ajouter, on les règle, puis on valide.

Cliquez sur Ajouter à la stack.
Choisissez au besoin la portée de la recherche : Éditeurs, Les deux (par défaut) ou Produits. Restreindre la portée sert quand la liste de résultats est trop longue.
Tapez un nom dans le champ (au moins un caractère). La liste de suggestions se remplit : les produits et les éditeurs sont groupés, chaque résultat indique les éditeurs qui le publient et le nombre de CVE déjà recensées (« 12 CVE », ou « 0 CVE »). Un résultat déjà présent dans la stack ou déjà dans la file est grisé et marqué déjà ajouté.

Cliquez sur un résultat, ou choisissez-le avec les flèches et Entrée. Il rejoint la file À ajouter et le champ se vide pour l’élément suivant.
Si le nom cherché n’existe dans aucune CVE, la dernière ligne propose Ajouter « … » (saisie libre) : c’est le seul moyen de surveiller un produit avant sa toute première CVE.
Réglez chaque élément de la file : son seuil d’alerte (jauge) et, pour un produit, sa version (voir plus bas). La croix retire l’élément de la file.

Choisissez au besoin le Seuil des éléments ajoutés : il s’applique d’un coup à toute la file (par défaut, la politique du projet).
Cliquez sur Ajouter N élément(s).
Quelques raccourcis, rappelés par le i à droite du champ (« Comment ça marche ») :

Après l’envoi :
Un élément sans CVE connue est ajouté quand même ; la fenêtre le signale sous la file (« 1 élément(s) sans CVE connue à ce jour. Ils sont ajoutés quand même »).
Les alertes comparent les noms exactement : « httpd » ou « http » dans la stack ne déclenchent jamais rien, alors que les CVE d’Apache portent http_server. Quand un nom n’apparaît dans aucune CVE, la file propose donc les noms proches qui en ont, sous l’élément : « Aucune CVE ne porte ce nom. Vouliez-vous dire : http_server (3 CVE) ». Un clic remplace l’élément. Les propositions viennent des noms courts d’usage (httpd, sshd, postgres…), de l’orthographe proche (une lettre manquante) et des noms des CVE qui contiennent la saisie.

Quand vous ajoutez à la main des produits qui figurent au catalogue des fins de vie (PHP, PostgreSQL, HAProxy…), une fenêtre Suivre les fins de vie ? s’ouvre juste après l’ajout.

Cette proposition n’apparaît pas pour les imports de fichier ni pour la détection d’URL. Le détail des abonnements est expliqué dans Fin de vie.
Un produit sans version surveille toutes ses versions : chaque CVE du produit peut alerter, y compris celles corrigées depuis longtemps chez vous. Avec la version exacte, seules les CVE qui touchent réellement cette version alertent. C’est le réglage qui retire le plus de bruit.
Pour choisir ou changer une version, cliquez sur la pastille de la colonne Version (ou de la file d’ajout) :


La version sert aussi au suivi de fin de vie : c’est elle qui rattache un produit à son cycle (« 3.0.13 » appartient au cycle « 3.0 »). Un produit sans version ne peut pas être jugé.
Ce qui alerte se décide d’abord dans la politique de priorisation du projet (réglages du projet, page Alertes ; voir Projets). Le bandeau en haut de la page la résume, par exemple : « Alertes selon la politique du projet (Risque combiné) : à partir de CVSS 7, ou en dessous si la CVE est exploitée. » Le lien Modifier la politique ouvre ce réglage ; sans le droit de régler le projet, il s’intitule Voir la politique et l’ouvre en lecture.

Chaque élément peut affiner ce seuil, dans la colonne Seuil d’alerte :
Le seuil de l’élément remplace seulement le CVSS minimal de la politique ; le reste de la politique s’applique toujours (par exemple l’alerte sous le seuil pour une CVE exploitée, si la politique la prévoit).

Un élément qui s’écarte de la politique le signale par un triangle ambre, dont l’infobulle chiffre l’écart ; la même phrase s’affiche quelques secondes sous la jauge au moment du choix :
Rien n’est bloqué. Tant qu’au moins un élément affine son seuil, le bandeau l’annonce (« 1 élément s’écarte de la politique du projet. ») avec :
Pour qu’un élément revienne à la politique, cliquez sur sa pastille Politique.
Quand NIS2 est activée pour le projet et que le module des échéances fait partie de l’offre, une colonne Criticité apparaît. Elle indique ce que chaque élément représente pour l’activité ; elle module les délais de correction de ses vulnérabilités (voir Conformité NIS2).

Par défaut, un élément hérite de la criticité du projet (« Projet : Importante »). La liste permet de choisir Vitale, Importante, Standard ou Faible pour cet élément, ou de revenir à la criticité du projet. Chaque changement est journalisé.

Sur ces projets, un bandeau s’ajoute en haut de la page : la revue d’inventaire, seulement quand elle approche (7 jours avant l’échéance), le jour même ou en retard (échéance, Historique, Attester la revue ; le reste du temps, l’historique est dans l’onglet Revues d’inventaire de l’espace conformité ; voir Registres NIS2). Les scans de vulnérabilités se gèrent dans les réglages du projet, onglet Scans (voir Imports, connecteurs et scans).
Là où la revue d’inventaire tourne (projets sous NIS2), elle se fait sur la page Stack, là où l’inventaire se tient. L’inventaire de chaque projet doit être revu et la revue attestée à intervalle fixe ; l’historique en garde la preuve.
/stack#revue (liens des avis et de l’ancienne page Revues d’inventaire) amène au bandeau et ouvre l’historique ; ?projet= choisit le projet.
Les règles :

Le panneau Historique donne la criticité du projet, ses dates, le dernier import SBOM, puis l’historique : chaque revue attestée et chaque import, avec ce qui a changé depuis la précédente (éléments ajoutés, retirés, versions changées) et le commentaire. En pied : Attester la revue.

L’attestation est datée, signée de votre nom et conservée. Attester demande le droit de projet « Attester une revue d’inventaire » (analyste et au-delà par défaut).
Rappels : quand la revue devient due, les administrateurs et le propriétaire du projet ainsi que le responsable de la sécurité sont prévenus, une fois par échéance (workflow NIS2 · Revues d’inventaire).
Les tags de l’organisation (créés dans les réglages de l’organisation, page Étiquettes) servent à classer les éléments : exposé à Internet, données de santé, production…

Cochez des éléments (ou Tout sélectionner, qui coche les éléments visibles avec les filtres en cours) : une barre apparaît au-dessus de la liste.

Seuil d’alerte… et Ajouter un tag… ne sont proposés qu’avec le droit de modifier la stack ; Criticité… suit le droit de régler la criticité ; Retirer suit le droit de retirer de la stack.
Quand la stack du projet est vide, la page propose de Partir d’une base : six préréglages qui ajoutent chacun cinq ou six produits courants, à ajuster ensuite.
| Préréglage | Produits ajoutés |
|---|---|
| Web PHP / LAMP | http_server, php, mysql, openssl, wordpress, linux_kernel |
| Node & front | node.js, next.js, express, nginx, openssl, postgresql |
| Python | django, flask, requests, urllib3, postgresql, redis |
| Java / JVM | tomcat, spring_framework, log4j, openjdk, jenkins |
| Conteneurs & K8s | kubernetes, docker, containerd, traefik, grafana, prometheus |
| Poste de travail | windows_11, office, edge, acrobat_reader, firefox, 7-zip |
Les trois boutons Ajouter à la stack, Détecter depuis une URL et Importer un fichier restent proposés sous les préréglages. Les préréglages ajoutent des produits sans version : pensez à renseigner les versions ensuite.
La liste devient une suite de cartes (nom, type, version, jauge de seuil en grand, criticité, tags). L’ajout se fait par le bouton + flottant ; le bouton … de l’en-tête regroupe la détection d’URL, l’import de fichier et le mode Sélectionner ; les filtres sont dans une feuille qui s’ouvre depuis l’icône de réglage, à droite de la recherche.
Les droits sont ceux du rôle de chacun dans le projet (voir Équipe, rôles et groupes), réglables finement par l’administration.
| Action | Utilisateur | Analyste | Admin | Propriétaire |
|---|---|---|---|---|
| Voir la stack | ✓ | ✓ | ✓ | ✓ |
| Ajouter (à la main, préréglage, URL) | ✓ | ✓ | ✓ | |
| Importer un fichier (SBOM, manifeste) | ✓ | ✓ | ✓ | |
| Changer version et seuil, gérer les tags | ✓ | ✓ | ✓ | |
| Retirer des éléments, actions de masse | ✓ | ✓ | ✓ | |
| Changer la criticité (projets NIS2) | ✓ | ✓ | ✓ | |
| Fermer l’avertissement des seuils affinés | ✓ | ✓ | ✓ |
Chaque action suit un droit précis, le même dans l’interface et sur le serveur :
Un collègue voit-il les éléments que j’ajoute ? Oui : la stack est celle du projet (voir l’encadré en haut de page). Un élément ajouté par l’un est surveillé pour toute l’équipe, et les alertes qu’il déclenche apparaissent dans la liste de tous les membres.
Un membre quitte le projet : ses éléments disparaissent-ils ? Non. Les éléments appartiennent au projet, pas à la personne qui les a ajoutés : ils restent dans la stack, de même que les connecteurs et les URL suivies.
J’ai ajouté un produit, mais il affiche « 0 CVE ».
Aucune CVE ne cite encore ce nom. Si le produit est connu, cherchez-le à nouveau dans la fenêtre d’ajout : le nom attendu (celui des CVE) diffère souvent du nom commercial (http_server pour Apache).
Puis-je surveiller deux versions du même produit ? Pas depuis la fenêtre d’ajout, qui refuse un nom déjà présent quelle que soit sa version. Les connecteurs d’inventaire et le suivi automatique d’une URL, eux, peuvent ajouter une ligne par couple produit-version.
Retirer un élément supprime-t-il ses alertes ? Non. Les alertes restent ; simplement, aucune nouvelle alerte ne viendra de cet élément.