Opérations et dépannage¶
Ce chapitre couvre l'exploitation au quotidien, les modes de défaillance et les notes de sécurité pour les équipes hébergeant CVE Intelligence Panel en interne.
Performance¶
Les scans complets sur de nombreux outils sans NVD_API_KEY peuvent durer plusieurs minutes. Planifiez-les en fenêtre de maintenance. Le mode veille reste léger si NVD est exclu.
Problèmes courants¶
| Symptôme | Cause probable | Action |
|---|---|---|
Too many scan requests / RATE_LIMITED |
Middleware applicatif (bucket scan ou veille) | Attendez retryAfterSec ; fermez les onglets supplémentaires ; augmentez RATE_LIMIT_* dans .env ; redémarrez le serveur |
| Résultats NVD vides | Limite NVD upstream | Ajoutez NVD_API_KEY, réduisez la pile, réessayez |
| Horodatages source obsolètes | Échec fetch | Vérifiez le réseau ; lisez les logs serveur |
| Traduction bloquée | Fournisseur down | Désactivez temporairement la traduction auto ; UI anglais |
| Faux positif | Heuristique nom d'outil | Affinez les noms de pile ; triage manuel |
| Pas de nouveaux items veille | knownIds contient déjà le CVE |
Attendu ; vérifiez avec scan complet |
Sécurité¶
- N'exposez pas l'API publiquement sans authentification.
- Gardez
GITHUB_TOKENetNVD_API_KEYuniquement dans l'env serveur. - RSS et JSON externe sont des entrées non fiables — parsing défensif côté serveur.
Mises à jour¶
Après git pull, exécutez npm install, make build, redémarrez le processus. Videz le cache navigateur si les clés i18n changent entre versions. v1.1.0 ajoute l’assistant de configuration et le cache de scan clé pile — les piles existantes migrent automatiquement ; les nouvelles installations passent une fois par l’assistant.
Tests automatisés¶
| Suite | Commande | Périmètre |
|---|---|---|
| Unit + API | make test |
tests/server/, tests/client/, tests/integration/ |
| Couverture (CI) | npm run test:ci |
Idem + lcov pour Codecov/Sonar |
| E2E (Playwright) | npm run test:e2e:install une fois, puis npm run test:e2e |
tests/e2e/ contre serveur dev Vite (flux export CSV) |
Les tests d'intégration dans tests/integration/ couvrent la pagination NVD avec mirror local et AIRGAPPED=true (nvd-pagination.test.ts). Suite #78.
Couverture de tests (référence CI)¶
npm test exécute actuellement 257 specs : unit serveur, helpers client et miroirs d'intégration. La couverture CI (npm run test:ci) affiche environ 94 % de lignes, 82 % de branches et 94 % de fonctions (V8 lcov → Codecov/SonarCloud).
| Domaine | Fichiers exemples |
|---|---|
| Notifications | tests/server/notifications.test.ts, notificationEmail.test.ts, notificationTelegram.test.ts |
| Middleware | tenantContext.test.ts, scanTimeout.test.ts, securityHeaders.test.ts |
| Couche données | pool.test.ts, tenants.test.ts, tenantsDb.integration.test.ts |
| Helpers client | exportVulns.test.ts, iconAssets.test.ts, scanCache.test.ts |
| Intégration | tests/integration/nvd-pagination.test.ts |
E2E (tests/e2e/export.spec.ts) requiert Chromium Playwright — exécuter npm run test:e2e:install une fois.
Maintenance documentation¶
Les changements produit doivent mettre à jour les six arbres extended-docs/docs/content/{locale}/, src/i18n/messages/*.ts et legacy docs/ si besoin. Règle agent code-to-docs-sync (agent/rules/code-to-docs-sync.mdc) — mapping chemin→doc, glossaire et scripts/check-extended-docs-locale-sync.sh.
Audit, RBAC, tenants, métriques, airgap et Kubernetes : 11 Self-host.