Plateforme de gestion des risques combinant trois sources dans un registre unifié, inspirée de matrice-risques (elle-même reconstruite depuis risk-assessment-matrix).
Un registre de risques classique (Probabilité × Impact) ne suffit à capturer ni les menaces propres à une architecture applicative, ni les risques portés par les fournisseurs, ni la façon dont un historique d'incidents devrait faire évoluer une probabilité déclarée à froid. risque360 réunit ces trois angles dans un seul registre :
- Registre de risques organisationnels — identique dans l'esprit à
matrice-risques. - Modélisation de menaces applicatives (STRIDE) — pour un composant donné (API, service d'auth, base de données...), génère un risque par catégorie STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege).
- Registre des risques fournisseurs/tiers — un fournisseur (niveau d'accès, statut du questionnaire de sécurité, incident connu) génère automatiquement un risque avec une probabilité initiale estimée par une heuristique transparente (jamais imposée : toujours modifiable).
- Journal d'incidents & recalibration — chaque risque peut porter une clé de corrélation ; les incidents journalisés partageant cette clé permettent de calculer une probabilité suggérée sur une fenêtre glissante de 12 mois (3 à 5 incidents → +1, 6+ → +2, plafonné à 5). La suggestion n'est jamais appliquée automatiquement — un bouton « Appliquer » explicite est requis.
Tout repose sur le même moteur de scoring (score = probabilité × impact) que matrice-risques, avec le même code couleur Critique/Élevé/Modéré/Faible.
start index.htmlOnglets : Tableau de bord (heatmap + registre global) · Registre des risques · Menaces (STRIDE) · Fournisseurs · Incidents. Chaque onglet Fournisseurs/Incidents propose un bouton « Charger l'exemple ».
python -m venv .venv
.venv\Scripts\activate
pip install -r python/requirements.txt
# Rapport HTML unifié (risques + fournisseurs + incidents)
python -m python.main --input data/plateforme_exemple.json --output rapport.html
# Évaluer un risque isolé
python -m python.main --risque "Fuite de données" --probabilite 4 --impact 5
# Prévisualiser les recalibrations suggérées par l'historique d'incidents
python -m python.main --recalibrer --input data/plateforme_exemple.json
# Lancer les tests
pytest tests/Le risque Hameçonnage — vol d'identifiants (clé hameconnage-identifiants) est déclaré à probabilité 2/5. Le journal d'incidents contient 4 incidents liés à cette clé sur les 12 derniers mois. --recalibrer calcule alors une probabilité suggérée de 3/5, et l'explique :
R001 Hameçonnage — vol d'identifiants incidents/12m=4 probabilité 2 → 3
.
├── index.html
├── src/
│ ├── coreRisque.js # scoring, registre unifié, heuristique fournisseur, recalibration
│ └── export.js
├── styles/main.css
├── data/
│ ├── stride_categories.json
│ ├── fournisseurs_exemple.json
│ ├── incidents_exemple.json
│ └── plateforme_exemple.json # jeu combiné pour la CLI
├── python/
│ ├── main.py
│ ├── core.py
│ ├── recalibration.py
│ └── rapport.py
└── tests/
└── test_core.py
MIT