Assessor_2.0/src/profiles/pingcastle/pingcastle-severity.ts

21 lines
1.1 KiB
TypeScript

import type { CanonicalSeverity } from '../../domain/canonical-model';
export const PINGCASTLE_SEVERITY_FROM_POINTS_RULE_ID = 'pingcastle-severity-from-points';
export const PINGCASTLE_SEVERITY_FROM_POINTS_RULE_VERSION = '1.0.0';
// PingCastle liefert je Regel keine eigene Severity, sondern Points (0-50+ in
// bestehenden Berichten). Die Schwellen entsprechen PingCastles eigener
// Score-Legende fuer den 0-100-Kategorie-/Domain-Risk-Level, angewandt auf die
// Punktzahl der einzelnen Regel statt auf die Kategorie-Summe: 0 = informativ
// (nur ausgeloeste Regeln erzeugen ueberhaupt ein Finding, "kein Risiko" ohne
// Fund kommt hier nie an), 1-10 = low, 11-30 = medium, > 30 = high. "critical"
// bleibt bewusst unerreichbar, bis eine eigene, gesondert versionierte
// Zusatzschwelle definiert wird.
export function pingCastleSeverityFromPoints(points: number): CanonicalSeverity {
if (!Number.isFinite(points) || points < 0) return 'unknown';
if (points === 0) return 'info';
if (points <= 10) return 'low';
if (points <= 30) return 'medium';
return 'high';
}