CRML

CRML

Zeron Research Labs / CyberSec Consulting LLC · Coding

CRML (Cyber Risk Modeling Language) ist eine offene, deklarative Sprache zur Beschreibung von Cyber-Risikomodellen in YAML oder JSON, gepflegt von Zeron Research Labs und CyberSec Consulting LLC. Statt Risikoannahmen in Tabellen oder im Tool eines einzelnen Anbieters einzuschließen, lässt sie dich das Modell, seine Telemetrie-Zuordnungen und seine Ausgaben als prüfbare Dateien definieren und dann mit der Cyber-Risiko-Engine ausführen, die du bereits nutzt. Als Open-Source-Risikotool kommt es als Python-Risikobibliothek, sodass Teams, die Risiko als Code behandeln, ihre Zahlen genauso validieren, versionieren und reproduzieren können wie jede andere Konfiguration.

Vorschau der Oberfläche von CRML

Über CRML

Was ist CRML

CRML ist eine Sprache, um Cyber-Risikomodelle aufzuschreiben, nicht um sie zu berechnen. Dieser Unterschied zählt. Das Format beschreibt Szenarien, Eingaben, Kontrollannahmen und erwartete Ausgaben, während die eigentliche Mathematik bei der Engine deiner Wahl bleibt, sei es ein Monte-Carlo-Aufbau nach FAIR-Art, ein Bayes- oder QBER-Ansatz oder eine interne Plattform. Weil ein deklaratives Risikomodell nur Text ist, kann es in Git liegen, durch ein Review gehen und Monate später mit demselben Ergebnis erneut laufen.

Das ist die Idee von Risiko als Code. Wenn Compliance- und Sicherheitsannahmen zu versionierten Artefakten werden, sehen Auditoren und Analysten, was modelliert wurde, welche Parameter verwendet wurden und welche Daten das Ergebnis gespeist haben. Weit entfernt von einer Präsentation, die niemand reproduzieren kann.

Für wen ist das also gedacht? Vor allem für Teams, die Konfiguration bereits als Code behandeln. Ein deklaratives Risikomodell lohnt sich nur, wenn du es in der Versionsverwaltung hältst. Sonst lass es bleiben.

Die größte Einschränkung ist derzeit die Reife. Das Projekt bezeichnet sich selbst als Entwurf in intensiver Entwicklung, also können sich Format und Werkzeuge zwischen Versionen ändern, und wer darauf aufbaut, sollte Änderungen erwarten. Das ist ein echter Kostenfaktor. Dennoch ist der Umfang eng und der Kerngedanke trägt.

Erste Schritte

  1. Installiere Python 3 und füge dann die Pakete von PyPI mit pip install crml-lang und pip install crml-engine hinzu.
  2. Schreibe ein Szenariodokument in YAML oder JSON, das dein Risikomodell, deine Telemetrie-Zuordnungen und deine Ausgabeanforderungen beschreibt.
  3. Validiere es gegen das mitgelieferte JSON-Schema, zum Beispiel indem du die Datei über den validate-Helper in crml-lang lädst.
  4. Bündle ein Portfolio, wenn mehrere Szenarien gemeinsame Packs referenzieren, und erzeuge ein einziges eigenständiges Artefakt.
  5. Übergib den Plan an deine Quantifizierungs-Engine oder nutze den deterministischen Pipeline-Schritt aus crml-engine, um ihn auszuführen.

Produktinformationen

Ein kurzer Überblick über Preise, unterstützte Plattformen und die Leistung von CRML.

Kostenloser TarifJa
Bezahlte Tarife$0
PlattformPython 3 (OS independent)
EntwicklerZeron Research Labs / CyberSec Consulting LLC
KategorieCoding
VeröffentlichungsdatumNov 2025
Zuletzt aktualisiertDec 2025
Website-Besuche649.3M
Globales Website-Ranking50
API-VerfügbarkeitJa

Am besten für

Die Nutzer, Aufgaben und Szenarien, für die dieses Tool am besten passt.

Nutzer

  • Cyber-Risiko- und Sicherheitsanalysten, die Modelle brauchen, die ein Review überstehen
  • Compliance- und Audit-Teams, die zeigen müssen, wie eine Zahl entstanden ist
  • Technisch denkende Risikomanager, die bereits Python nutzen

Aufgaben

  • Ein Risikoszenario dokumentieren, damit zwei Analysten dasselbe Ergebnis erhalten
  • Risiko zwischen Geschäftsbereichen oder Anbietern vergleichen
  • Bedrohungs- und Kontrollframeworks wie ATT&CK, CIS oder NIST abbilden
  • Eine Sicherheitsausgabe rechtfertigen, indem du das Risiko mit und ohne Kontrolle modellierst

Szenarien

  • Risikomodelle aus Tabellen und Präsentationen in die Versionsverwaltung holen, wo Änderungen wie Code geprüft werden.
  • Dasselbe Modell durch verschiedene Quantifizierungs-Engines laufen lassen, ohne es jedes Mal neu zu schreiben.
  • Auditfähige Belege auf Abruf erzeugen, da die Beschreibung dessen, was modelliert wurde, neben dem Modell selbst liegt.

Wichtigste Funktionen

Engine-unabhängige Modellbeschreibungen

CRML zwingt dir keine Quantifizierungsmethode auf. Du beschreibst das Modell in YAML oder JSON, und ein Monte-Carlo-Aufbau nach FAIR-Art, eine Bayes- oder QBER-Engine oder deine eigene Plattform lesen dieselbe Datei. Ein Engine-Wechsel ist damit kein Neu-Schreiben mehr. Großer Unterschied. Genau die praktische Mühsal, für deren Beseitigung es gebaut wurde.

Workflow für Risiko als Code

Der ganze Punkt ist, Risikoannahmen in versionierte, prüfbare Artefakte zu verwandeln. Weil Modelle reiner Text sind, passen sie in Git, Pull Requests und CI, sodass ein Analyst genau sieht, was sich geändert hat und warum. Für Teams, die ohnehin in der Code-Prüfung leben, ist das der natürliche Ort für Risikoarbeit. Schluss mit rätselhaften Zahlen.

Schema-Validierung und typisierte Modelle

Das Paket crml-lang liefert Pydantic-Modelle, ein mitgeliefertes JSON-Schema und einen strukturierten Validator. Du bekommst ein klares Bestehen oder Durchfallen, bevor irgendetwas läuft, was fehlerhafte Parameter früh abfängt statt erst nach einer verschwendeten Simulation. Validierungsberichte sagen dir, was kaputtging, nicht nur dass etwas kaputtging.

Portfolio-Bündelung

Wenn mehrere Szenarien referenzierte Packs teilen, faltet bundle_portfolio sie zu einem eigenständigen Artefakt zusammen. Die Bündelung kann von der Festplatte oder direkt aus Modellen im Speicher lesen, funktioniert also auch in einer Pipeline ohne Dateisystem. Das Ergebnis ist ein einzelnes Objekt, das du archivieren oder an ein anderes Team schicken kannst.

Deterministische Engine-Pipeline

Das Begleitpaket crml-engine enthält einen Planungsschritt, der ein Portfolio in einen deterministischen Pipeline-Plan verwandelt. Er trennt die Phase "was auszuführen ist" von "führe es aus", was die Ausgabe reproduzierbar und leichter zu debuggen macht, wenn Zahlen seltsam aussehen.

Flexibilität bei Frameworks und Katalogen

Bedrohungs- und Kontrollframeworks wie ATT&CK, CIS, NIST, ISO und SCF sowie interne Kataloge lassen sich beschreiben, ohne dich an eines davon zu binden. Da sich diese Frameworks mit der Zeit ändern, verhindert eine versionierte Zuordnung, dass Updates dein Modell still kaputtmachen.

Vor- und Nachteile

Vorteile

  • Open Source unter MIT-Lizenz, also keine Lizenzkosten und ein einsehbares Schema.
  • Engine-unabhängiges Design, dein Modell ist nicht an das Quantifizierungstool eines einzelnen Anbieters gebunden.
  • Textbasierte YAML- und JSON-Modelle fügen sich sauber in Git, Review und Automatisierung ein.
  • Mitgelieferte Schema-Validierung und typisierte Python-Modelle fangen Fehler ab, bevor eine Simulation läuft.
  • Die aktuelle Version installiert sich von PyPI als `crml-lang` und `crml-engine` für Python 3.

Nachteile

  • Das Projekt nennt sich selbst einen Entwurf in intensiver Entwicklung, also können sich Format und Pakete zwischen Versionen ändern.
  • Es ist eine Spezifikation und eine Bibliothek, kein fertiges Produkt, du wirst also Code und YAML schreiben statt durch eine Oberfläche zu klicken.
  • Kein eigenständiger Cloud-Dienst und kein grafisches Dashboard, was es für Teams ausschließt, die eine fertige App wollen.

Häufige Fragen

Es gibt dir eine Standardweise, Cyber-Risikomodelle, ihre Eingaben und ihre erwarteten Ausgaben aufzuschreiben. Die Sprache übernimmt Beschreibung und Validierung, während eine separate Engine die eigentliche Quantifizierung leistet.