Stage de 1ère année au Conseil Départemental de la Dordogne (CD24) — agrégateur RSS spécialisé cybersécurité avec extraction automatique de CVE et scoring CVSS via l'API NVD.
Application web développée durant mon stage de 1ère année au Conseil Départemental de la Dordogne (CD24) pour aider l'équipe SI à effectuer sa veille en cybersécurité. L'outil agrège plus d'une dizaine de flux RSS de référence (CERT-FR / ANSSI, NIST, Exploit-DB, Zero Day Initiative, FortiGuard, The Hacker News, cyberveille.esante.gouv.fr, etc.), détecte automatiquement les références CVE dans les articles via expression régulière, interroge l'API NVD pour récupérer le score CVSS et le niveau de sévérité, et permet de filtrer les vulnérabilités par criticité (Critical / High / Medium / Low). Les articles et CVE peuvent être marqués comme lus/traités, avec persistance serveur (fichiers JSON) et locale (localStorage). L'application est conteneurisée avec Docker pour un déploiement rapide sur n'importe quel poste.
Le site exploite des données externes en temps réel : agrégation continue de flux RSS pour récupérer les dernières alertes de sécurité, interrogation de l'API NVD pour enrichir chaque CVE détectée (regex CVE-XXXX-XXXX) avec son score CVSS v3.1 et son niveau de sévérité. L'interface évolue dynamiquement selon les flux configurés et les filtres actifs.
Le service a été déployé via Docker (image php:8.1-apache, docker-compose.yml fourni) pour permettre une installation rapide sur le poste de veille de l'équipe SI. La configuration est isolée du code source et le volume monté assure la persistance des données entre redémarrages.
Le projet est un outil de veille informationnelle dédié à la cybersécurité. La stratégie repose sur l'agrégation continue de flux RSS issus de sources de référence (CERT-FR / ANSSI, NIST, Exploit-DB, Zero Day Initiative, FortiGuard, The Hacker News, cyberveille.esante.gouv.fr, CVEfeed.io…), enrichis automatiquement par l'API NVD pour récupérer les scores CVSS des CVE détectées dans les articles. L'interface permet de filtrer par sévérité (Critical / High / Medium / Low) et de marquer comme traitées les alertes déjà examinées, pour structurer la veille au quotidien.