Méthodologie du Vetora Risk Score
Le score A–F affiché sur chaque rapport résume un ensemble de failles détectées en une seule note. Cette page explique exactement comment il est calculé, et surtout, ce qu'il ne représente pas.
Ce que ce score n'est pas
Le Vetora Risk Score est une méthodologie propriétaire à Vetora — une manière de pondérer et de résumer les failles qu'on a nous-mêmes détectées, pas une certification, pas une norme industrielle, et pas un score validé par un tiers indépendant. Un score B ne signifie pas "72% sécurisé" ou une quelconque mesure en pourcentage : c'est une lettre, comme une note scolaire, qui résume un jugement pondéré sur ce qu'on a trouvé — pas plus, pas moins. Un site A peut avoir une faille qu'on n'a pas su détecter ; un site D peut être globalement plus solide qu'il n'y paraît si les failles trouvées sont déjà en cours de correction (voir la section statut plus bas).
1. Poids par sévérité
Chaque faille détectée a une sévérité, qui détermine son poids de départ dans le calcul (le score part de 100 points, chaque faille active en retire) :
| Critique | 40 points |
| Élevée | 20 points |
| Moyenne | 8 points |
| Faible | 3 points |
| Info | 0 point (jamais comptée) |
2. Décroissance harmonique
Les failles distinctes d'une même sévérité ne s'additionnent pas linéairement (sauf pour les failles critiques, voir plus bas). La première compte en entier, la deuxième compte pour moitié, la troisième pour un tiers, et ainsi de suite. Un header de sécurité manquant coûte réellement -8 points ; quatre headers manquants coûtent environ -16,7 points (8 + 4 + 2,7 + 2), pas -32. L'idée : plusieurs problèmes d'hygiène de configuration du même type ne doivent pas, à eux seuls, produire la même note qu'une vraie vulnérabilité isolée.
Avant ce calcul, les failles qui décrivent le même problème sous-jacent (ex. trois cookies différents sans l'attribut Secure) sont regroupées et comptées une seule fois, à leur intensité la plus élevée encore active.
3. Le plancher critique
Les failles critiques n'entrent pas dans la décroissance ci-dessus : chaque contrôle critique distinct compte en entier et s'additionne aux autres — une clé secrète Stripe exposée ET une clé service_role Supabase exposée comptent toutes les deux à 100%, elles ne s'atténuent pas l'une l'autre. Et surtout : tant qu'au moins une faille critique reste ouverte ou simplement revue (pas encore corrigée ni son risque accepté), la note ne peut jamais dépasser D, quel que soit le résultat du calcul par ailleurs. Une clé secrète exposée ne doit jamais se retrouver noyée dans une bonne moyenne.
4. Le statut d'une faille change son poids
| Ouverte / Revue | 100% du poids |
| Risque accepté | 25% du poids |
| Faux positif | 0% (exclue) |
| Corrigée | 0% (exclue) |
Marquer une faille comme "revue" ne change rien au score — l'avoir regardée ne la rend pas moins réelle. Seules une décision explicite (risque accepté, faux positif) ou une correction effective changent la note.
Les seuils A–F
| A | 90 points ou plus |
| B | 75 à 89 points |
| C | 60 à 74 points |
| D | 40 à 59 points |
| F | moins de 40 points |
Le nombre de points lui-même n'est affiché nulle part sur le site — volontairement, pour ne pas laisser croire à une précision ("87/100") que le modèle n'a pas vocation à offrir. Seule la lettre est montrée.