crml
CRML (crml) ist eine Open-Source, deklarative Sprache für Cyber-Risk-Modelle mit YAML/JSON zur Definition von Modellen, Pipelines und Outputs.
Was ist crml?
crml (CRML — Cyber Risk Modeling Language) ist eine Open-Source, deklarative Sprache für Cyber-Risk-Modeling. Sie ermöglicht die Beschreibung von Risikomodelen, Telemetrie-Mappings, Simulationspipelines, Abhängigkeiten und erforderlichen Outputs in einem YAML/JSON-Format – unabhängig von spezifischen Quantifizierungsmethoden, Simulations-Engines oder Control-/Threat-Frameworks.
Das Projekt unterstützt „Risk as Code“-Workflows, bei denen Annahmen und Modelldefinitionen in versionierten, überprüfbaren Artefakten (z. B. in Git) gespeichert werden. Ziel ist es, Cyber-Risikomodelle einfacher validierbar, reproduzierbar und austauschbar zwischen Teams und Tools zu machen, indem Inputs, Annahmen und Outputs standardisiert dargestellt werden.
Wichtige Features
- Deklarative YAML/JSON-Modelbeschreibungen: Risikomodelle und Ausführungsanforderungen in einem portablen Format ausdrücken statt Logik in Tabellenkalkulationen oder einmaligen Tools zu vergraben.
- Engine-agnostische Simulationsspezifikation: Simulationspipelines und Abhängigkeiten definieren, sodass verschiedene Simulations-Engines dieselbe Modelldefinition nutzen können (solange sie CRML-konform sind).
- Control-/Attack-Framework-agnostische Mappings: Mappings zu Controls und Attacks darstellen, ohne das Modell an ein einziges Framework oder Katalog zu binden – hilfreich bei evolvierenden Frameworks.
- Control-Effectiveness-Modeling: Modellierung, wie Controls Risiken reduzieren, inklusive „Defense in Depth“-Annahmen.
- Median-basierte Parameterisierung für Lognormalverteilungen: Mediane direkt für Lognormalverteilungen angeben, passend zur CRML-Parameterisierung von Risikoverteilungen.
- Strenge Validierung via JSON Schema: Modelldokumente vor der Simulation validieren, um strukturelle Fehler früh zu erkennen.
So nutzt du crml
- Projekt und Dokumentation holen: Starte im Repository (README und Docs sind im Repo enthalten) und installiere das Paket von PyPI.
- CRML-Dokument schreiben: Erstelle ein YAML/JSON-Dokument mit den zu laufenden Modelelementen – wie Telemetrie-Mappings, Abhängigkeiten, Simulationspipeline-Struktur und Output-Anforderungen.
- Dokument validieren: Nutze die schema-basierte Validierung des Projekts, um Fehler vor Simulationsläufen zu prüfen.
- Mit kompatibler Engine ausführen: Führe das Modell mit einer CRML-kompatiblen Simulationspipeline aus. Da CRML engine-agnostisch ist, kann dasselbe CRML-Dokument bei verschiedenen konformen Engines wiederverwendet werden.
Anwendungsfälle
- Risikomodelle in Git überprüfbar machen: Spreadsheet- oder Präsentations-basierte Modelle in versionierte CRML-Dokumente umwandeln, damit Änderungen in Diffs sichtbar und auditiert werden können.
- Modelle standardisiert austauschen: Ein einziges CRML-definiertes Risikomodell zwischen Analysten und Tools teilen, für konsistente Interpretation von Inputs/Annahmen/Outputs.
- Quantifizierte Risikovergleiche mit expliziten Annahmen: Szenarien wie „mit vs. ohne Investition“ oder „über Zeiträume“ laufen, mit expliziten, validierten Modelldefinitionen verknüpften Annahmen.
- Cyber-Risiken in Enterprise-Risk-Workflows einbinden: CRMLs standardisierte Input/Output-Darstellung für Nachverfolgbarkeit nutzen, wenn Cyber-Metriken in Enterprise-Risk- und Finanzplanungsprozesse fließen.
- Mappings bei Framework-Änderungen anpassen: Bei Updates von Control- oder Threat-Frameworks (z. B. ATT&CK, NIST, ISO oder internen Katalogen) nur CRML-Mappings aktualisieren statt engine-spezifische Logik umzuschreiben.
FAQ
-
Ist crml produktionsreif? Das Repository gibt den Projektstatus als Draft an; es befindet sich in intensiver Entwicklung und kann sich jederzeit ändern. Die aktive Entwicklungsbranch ist crml-dev-1.3.
-
Welches Format verwendet crml für Modelldefinitionen? CRML nutzt ein YAML/JSON-Format, um Risikomodelle, Telemetrie-Mappings, Simulationspipelines, Abhängigkeiten und Output-Anforderungen zu beschreiben.
-
Zwingt crml zu einer spezifischen Risikiquantifizierungsmethode? Nein. Es ist implementierungs-agnostisch und engine-agnostisch, sodass Modelle ohne festgelegte Quantifizierungsmethode oder Simulations-Engine beschrieben werden können.
-
Wie reduziert crml Modellierungsfehler? Es unterstützt strenge Validierung mit JSON Schema, um Fehler in Modelldokumenten vor der Simulation zu erkennen.
-
Wo wird das Projekt verteilt? Die Repository-Metadaten geben an, es ist auf PyPI verfügbar.
Alternativen
- Tabellenkalkulations- oder Folienbasierte Cyber-Risk-Modellierung: Häufig für qualitative oder semi-quantitative Arbeiten, aber diese Formate sind schwieriger zu validieren und konsistent reproduzierbar im Vergleich zu einem deklarativen, schema-validierten Dokumentansatz.
- Enginespezifische Cyber-Risk-Modellierungs-Implementierungen: Tools, die Annahmen und Simulationslogik direkt in proprietäre Modellformate einbetten, können enger integriert sein, erfordern aber oft Umschreibungen beim Wechsel von Quant-Engines oder der Aktualisierung von Mappings.
- Allgemeine deklarative Konfigurationsformate (z. B. Modellkonfigurationsdateien): Generische Formate eignen sich, um Parameter zu externalisieren, bieten aber typischerweise nicht CRMLs cyber-risk-spezifische Struktur für Telemetrie-Mappings, Simulationspipelines und standardisierte Outputs.
- Andere „Risk as Code“-Modellierungsansätze: Ansätze, die Annahmen und Parameter versionieren, verbessern die Überprüfbarkeit, sind aber möglicherweise nicht speziell für Cyber-Risk-Modellierung über Control/Attack- und Engine-Kontexte hinweg konzipiert.
Alternativen
AakarDev AI
AakarDev AI ist eine leistungsstarke Plattform, die die Entwicklung von KI-Anwendungen mit nahtloser Integration von Vektordatenbanken vereinfacht und eine schnelle Bereitstellung und Skalierbarkeit ermöglicht.
Ably Chat
Ably Chat ist eine Chat-API und SDKs für maßgeschneiderte Realtime-Chat-Apps: Reactions, Presence sowie Nachrichten editieren/löschen.
garden-md
Verwandle Meeting-Transkripte in eine strukturierte, verlinkte Company-Wiki aus lokalen Markdown-Dateien mit HTML-Ansicht und Sync aus unterstützten Quellen.
BookAI.chat
BookAI ermöglicht es Ihnen, mit Ihren Büchern zu chatten, indem Sie einfach den Titel und den Autor angeben.
DeepMotion
DeepMotion ist eine AI-Motion-Capture- und Body-Tracking-Plattform für 3D-Animationen aus Video (und Text) im Browser – per Animate 3D API integrierbar.
skills-janitor
skills-janitor prüft, verfolgt die Nutzung und vergleicht deine Claude Code Skills mit neun Slash-Command-Aktionen – ohne Abhängigkeiten.