
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.

Ü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
- Installiere Python 3 und füge dann die Pakete von PyPI mit
pip install crml-langundpip install crml-enginehinzu. - Schreibe ein Szenariodokument in YAML oder JSON, das dein Risikomodell, deine Telemetrie-Zuordnungen und deine Ausgabeanforderungen beschreibt.
- Validiere es gegen das mitgelieferte JSON-Schema, zum Beispiel indem du die Datei über den
validate-Helper incrml-langlädst. - Bündle ein Portfolio, wenn mehrere Szenarien gemeinsame Packs referenzieren, und erzeuge ein einziges eigenständiges Artefakt.
- Ü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.
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.
Ähnliche Inhalte
Entdecke passende Tools, Skills und Artikel zu CRML.
Alternativen zu CRML
Base Code
Base44 (Wix) · Coding · ProduktivitätBase Code ist eine geteilte Cloud-Entwicklungsumgebung von Base44. Das Team beschreibt Änderungen an einem bestehenden GitHub-Repository im Chat, prüft sie in der Vorschau und reicht sie als Pull Request ein.
Google EmbeddingGemma 2
Google DeepMind · Schreiben · Bilder · CodingGoogle EmbeddingGemma 2 ist ein offenes Modell mit 740 Millionen Parametern, das Text, Code, Bilder, Audio und Videobilder in Vektoren eines gemeinsamen 768-dimensionalen Raums umwandelt und auf Handys und Notebooks läuft.
GitGlow
GitGlow · Coding · ProduktivitätGitGlow ist ein Git-Client für den Desktop, der Ihren Code und die Änderungen Ihrer KI-Agenten in einer Review bündelt, damit Sie vor dem Ausliefern sehen, was die Maschine verlässt.
