Matrice d'évaluation des risques — registre méthodique
Un registre de risques qui suit une méthode écrite — ISO/IEC 27005:2022 ou EBIOS Risk Manager — et se vérifie lui-même : notes, traitement, acceptation formelle par la bonne autorité et revues, avec rapports, import/export CSV sûrs et interface web
Contexte
J'ai reconstruit ce projet de zéro, en remplacement de deux anciens prototypes (une matrice de risques en anglais et sa reconstruction en français). L'objectif : un registre de risques qu'une PME ou une ETI peut défendre devant sa direction ou un auditeur ISO/IEC 27001. La méthode — échelles, grille, appétence, autorités d'acceptation — est écrite dans un fichier et vérifiée ; chaque risque est ensuite contrôlé automatiquement par rapport à elle. Atelier Lumen, l'entreprise fictive de mon exercice sur table de réponse aux incidents, fournit les registres d'exemple.
Contenu du dépôt
- Un format de méthode en TOML, bilingue, avec deux préréglages : 5×5 vraisemblance × impact (ISO/IEC 27005:2022) et EBIOS RM 4×4 (vraisemblance V1–V4 × gravité G1–G4, ANSSI 1.5)
- Un format de registre : actifs, menace, vulnérabilité, risque inhérent et résiduel, mesures prévues, traitement (réduire, accepter, transférer, éviter), acceptation formelle, revue, historique
- Des références sur chaque risque et chaque mesure : mesures de l'annexe A d'ISO/IEC 27001:2022 (numéros seulement), techniques MITRE ATT&CK et playbook de réponse aux incidents correspondant
- Quatre commandes : risk-check (vérification), risk-report (Markdown et HTML), risk-export (JSON, CSV) et risk-import (CSV vers TOML)
- Un guide d'évaluation et les registres d'exemple d'Atelier Lumen, en français et en anglais
Règles vérifiées automatiquement
- Une méthode cohérente : grille monotone, chaque niveau utilisé, une autorité d'acceptation pour chaque niveau au-dessus de l'appétence, revues plus fréquentes pour les risques plus graves
- Risque résiduel jamais supérieur à l'inhérent sans justification
- Acceptation formelle exigée quand le risque résiduel reste au-dessus de l'appétence et que plus rien n'est en cours pour le réduire (ISO/IEC 27001, 6.1.3) — signée par l'autorité prévue par la méthode, pour sa durée maximale
- Prochaine revue dans la fréquence du niveau résiduel ; historique chronologique
- Erreurs (données invalides) distinctes des avertissements (mesure ou revue en retard, acceptation expirée) ; --strict rend les avertissements bloquants
Choix de sécurité
- Export CSV protégé contre l'injection de formules (CWE-1236) : les cellules commençant par =, +, -, @ sont neutralisées, et la protection est retirée à l'import
- Imports limités en taille et en lignes, UTF-8 exigé, aucun fichier écrasé sans --force
- Rapport HTML en un seul fichier sans script : tout texte échappé, CSP n'autorisant que sa propre feuille de style par empreinte SHA-256
- Registres réels exclus de Git par convention de nommage ; l'interface web lit un fichier localement, sans jamais l'envoyer ni le conserver
Interface web
- Chargement des registres d'exemple ou d'un export JSON local, entièrement validé avant affichage (types, dates, couleurs, cohérence avec la grille)
- Synthèse des risques actifs, au-dessus de l'appétence, des mesures et revues en retard, des acceptations expirées
- Cartographies cliquables du risque inhérent et résiduel, filtres (niveau, responsable, traitement, recherche sans accents) et fiche détaillée par risque
- Plan d'action et calendrier des revues ; français et anglais, thèmes clair et sombre, clavier et mobile, CSP stricte
Qualité d'ingénierie
Utilisation
- 1PréparerChoisir un préréglage, adapter les échelles et l'appétence avec la direction, puis faire valider la méthode par risk-check.
- 2ApprécierDécrire chaque risque (cause → événement → conséquence) et coter le risque inhérent ; le niveau est lu dans la grille de la méthode.
- 3Traiter et accepterPlanifier les mesures avec responsables et échéances, coter le risque résiduel, et faire accepter ce qui reste par l'autorité désignée.
- 4RevoirRevues et acceptations expirent à leur rythme ; risk-check --strict et le rapport signalent ce qui est en retard.
Captures d'écran
