Alertes et surveillance¶
Les alertes informent les opérateurs lorsque de nouvelles lignes CVE apparaissent après un tick de veille ou un scan. Elles ne remplacent pas SIEM ou pager mais fournissent un retour UI immédiat.
Le paramètre alertsEnabled détermine si toast et bannière sont actifs ; il n'existe plus d'onglet d'historique des alertes dans l'interface.
Canaux¶
Quand alertsEnabled est activé dans les paramètres :
- Toast — notification courte avec nombre et exemples d'id.
- Bannière — barre dismissible listant les nouveaux critical/high après veille.
Canaux de notification serveur¶
Toast et bannière navigateur sont client uniquement. Pour Slack, Discord, Telegram, email SMTP ou webhook générique, configurez les variables d'environnement serveur. Quand POST /api/watch renvoie un newVulns non vide, NotificationService dans server/services/notifications/ envoie les canaux configurés de façon asynchrone (non-blocking).
| Canal | Env principales |
|---|---|
| Slack | NOTIFICATION_SLACK_WEBHOOK_URL ou legacy ALERT_WEBHOOK_URL |
| Discord | NOTIFICATION_DISCORD_WEBHOOK_URL |
| Microsoft Teams | NOTIFICATION_TEAMS_WEBHOOK_URL |
| Telegram | NOTIFICATION_TELEGRAM_BOT_TOKEN, NOTIFICATION_TELEGRAM_CHAT_ID |
| Email (SMTP) | NOTIFICATION_SMTP_HOST, NOTIFICATION_SMTP_FROM, NOTIFICATION_SMTP_TO ; optionnel NOTIFICATION_SMTP_PORT, NOTIFICATION_SMTP_USER, NOTIFICATION_SMTP_PASS |
| Webhook générique | NOTIFICATION_WEBHOOK_URL |
| Contrôle | Env | Défaut |
|---|---|---|
| Sévérité minimale (globale) | NOTIFICATION_MIN_SEVERITY ou legacy ALERT_MIN_SEVERITY |
HIGH |
| Sévérité minimale par canal | NOTIFICATION_{SLACK,DISCORD,TEAMS,TELEGRAM,EMAIL,WEBHOOK}_MIN_SEVERITY |
repli sur global |
| Fenêtre dedup (ms) | NOTIFICATION_DEDUP_MS |
900000 (15 min) |
| Plafond horaire (global) | NOTIFICATION_RATE_LIMIT_PER_HOUR |
illimité |
| Plafond horaire par canal | NOTIFICATION_{SLACK,DISCORD,TEAMS,TELEGRAM,EMAIL,WEBHOOK}_RATE_LIMIT_PER_HOUR |
repli sur global |
| Payload Slack | ALERT_WEBHOOK_FORMAT |
slack ou generic |
Les notifications répétées pour le même lot CVE et canal sont supprimées dans la fenêtre dedup. Multi-tenant : avec PostgreSQL et X-Tenant-Id, l’admin règle severity minimale et canaux dans Settings → Tenants ou via GET/PUT /api/v1/tenants/notification-prefs ; le watch applique ces prefs. URLs webhook et défauts globaux restent en env. Voir Configuration et Self-host.
Intégration veille¶
useWatch compare newVulns serveur à l'état client. Sur hasNew: true, fusion dans la liste vuln, mise à jour du dernier scan localStorage, et notifications si alertes activées.
Indicateur veille live¶
Le SubNav affiche le badge veille live quand watchEnabled. Le toggle de la barre supérieure contrôle le polling sans perdre la configuration de la pile.
Pratique recommandée¶
- Activez la veille avec intervalle 5 minutes pour les piles production.
- Gardez les alertes pendant les fenêtres de migration.
- Ne fermez la bannière qu'après revue manuelle des éléments critiques — pas d'historique persistant des alertes dans l'UI.
Suite : Opérations