
साइबर जोखिम मॉडलिंग के लिए ओपन-सोर्स घोषणात्मक भाषा। QBER, FAIR मोंटे कार्लो इंजन और एंटरप्राइज जोखिम मात्राकरण प्लेटफॉर्म जैसे बायेसियन जोखिम मॉडल बनाएं। PyPI पर उपलब्ध।
स्थिति: मसौदा। इस परियोजना पर भारी विकास चल रहा है और बिना सूचना के बदल सकता है। हम इनपुट, मुद्दों और योगदान का स्वागत करते हैं। ⚠️ चेतावनी यह कोडबेस वर्तमान में
crml-dev-1.3शाखा पर विकसित किया जा रहा है। नवीनतम कार्य-प्रगति और सत्यता के स्रोत के लिए देखें: https://github.com/Faux16/crml/tree/crml-dev-1.3
संस्करण: 1.2
द्वारा अनुरक्षित: Zeron Research Labs और CyberSec Consulting LLC
द्वारा समर्थित:
CRML एक खुली, घोषणात्मक, इंजन-अज्ञेय और नियंत्रण/हमला ढाँचा-अज्ञेय साइबर जोखिम मॉडलिंग भाषा है। यह साइबर जोखिम मॉडल, टेलीमेट्री मैपिंग, सिमुलेशन पाइपलाइन, निर्भरताएँ और आउटपुट आवश्यकताओं का वर्णन करने के लिए YAML/JSON प्रारूप प्रदान करती है — बिना आपको किसी विशिष्ट मात्रा निर्धारण विधि, सिमुलेशन इंजन या सुरक्षा-नियंत्रण/खतरा कैटलॉग में बाध्य किए।
CRML RaC (Risk as Code — जोखिम कोड के रूप में) को सक्षम बनाती है: जोखिम और अनुपालन धारणाएँ संस्करणित, समीक्षा योग्य कलाकृतियाँ बन जाती हैं जिन्हें टीमों और उपकरणों में सुसंगत रूप से मान्य किया जा सकता है और निष्पादित किया जा सकता है।
साइबर सुरक्षा, अनुपालन और जोखिम प्रबंधन पेशेवरों को अक्सर समान व्यावहारिक समस्याओं का सामना करना पड़ता है:
CRML साइबर जोखिम मॉडल और उनके इनपुट/आउटपुट के विवरण को मानकीकृत करके इसे संबोधित करता है, ताकि विभिन्न इंजन और संगठन स्पष्ट सत्यापन और अनुरेखण के साथ समान मॉडल का आदान-प्रदान और निष्पादन कर सकें।
गुणात्मक विधियाँ (लाल/पीला/हरा, “उच्च/मध्यम/निम्न”, परिपक्वता स्कोर) संचार और प्राथमिकता निर्धारण के लिए उपयोगी हैं, लेकिन वे अक्सर विफल हो जाती हैं जब आपको:
अगला विकास मात्रात्मक जोखिम प्रबंधन है: साइबर जोखिम को स्पष्ट धारणाओं और डेटा पर आधारित, दोहराने योग्य विधियों द्वारा गणना किए गए परिणामों के अनुमानित वितरण के रूप में मानना। लेकिन मात्रात्मक दृष्टिकोण तभी पैमाने पर लागू होते हैं जब मॉडल मानकीकृत हों — ताकि उन्हें उपकरणों और टीमों में मान्य, समीक्षित, पुन: उपयोग और निष्पादित किया जा सके।
CRML का लक्ष्य इस मानक को होना है: यह मॉडल को पोर्टेबल, धारणाओं को स्पष्ट और परिणामों को प्रतिलिपि प्रस्तुत करने योग्य बनाता है।
एक निकट भविष्य की कल्पना करें जहाँ CRML जोखिम कार्य के लिए उतना ही सामान्य है जितना IaC बुनियादी ढाँचे के लिए:
उस दुनिया में, साइबर जोखिम टीमों में प्रतिलिपि प्रस्तुत करने योग्य, तुलनीय और स्वचालित हो जाता है — जबकि पद्धतिगत विविधता की अनुमति भी देता है।
सामान्य आर्किटेक्चर देखें: wiki/Concepts/Architecture.md
एक विशिष्ट संगठन CRML को डिटेक्शन और बुनियादी ढाँचे कोड के साथ रख सकता है:
risk/models/ — CRML में परिदृश्य और पोर्टफोलियोrisk/catalogs/ — संस्करणित नियंत्रण + हमला कैटलॉग (आंतरिक या बाहरी)risk/mappings/ — स्वामित्व और परिवर्तन इतिहास के साथ टेलीमेट्री/नियंत्रण/खतरा मैपिंगcrml-lang validate चलाता है; एक रात्रिकालीन कार्य crml simulate चलाता है और डैशबोर्ड प्रकाशित करता हैउदाहरण स्निपेट (चित्रणात्मक):
crml_scenario: "1.0"
meta:
name: "ransomware-baseline"
description: "एक सरल रैनसमवेयर जोखिम मॉडल"
scenario:
frequency:
basis: per_organization_per_year
model: poisson
parameters:
lambda: 0.15
severity:
model: lognormal
parameters:
median: "250 000"
currency: USD
sigma: 1.2
# वैकल्पिक, खतरा-केंद्रित नियंत्रण (संगठन का आसन आमतौर पर पोर्टफोलियो/मूल्यांकन में आता है)
controls:
- id: "org:iam.mfa"
effectiveness_against_threat: 0.35
यह रिपॉजिटरी दो Python पैकेज और एक वेब UI शिप करता है:
crml-lang: भाषा/विनिर्देश मॉडल + स्कीमा सत्यापन + YAML I/Ocrml-engine: संदर्भ रनटाइम + crml CLI (crml-lang पर निर्भर)web/: CRML Studio — सत्यापन और सिमुलेशन के लिए ब्राउज़र UI (Next.js)यदि आपको CLI चाहिए:
pip install crml-engine
यदि आपको केवल भाषा लाइब्रेरी चाहिए:
pip install crml-lang
# या SCF समर्थन के साथ:
pip install "crml-lang[scf]"
crml-lang validate examples/scenarios/qber-enterprise.yaml
crml simulate examples/scenarios/data-breach-simple.yaml --runs 10000
# Excel से SCF कैटलॉग आयात करें
crml-lang scf-import-catalog path/to/SCF_2025.xlsx scf-catalog.yaml
लोड और मान्य करें:
from crml_lang import CRScenario, validate
scenario = CRScenario.load_from_yaml("examples/scenarios/data-breach-simple.yaml")
report = validate("examples/scenarios/data-breach-simple.yaml", source_kind="path")
print(report.ok)
सिमुलेशन चलाएँ:
from crml_engine.runtime import run_simulation
result = run_simulation("examples/scenarios/data-breach-simple.yaml", n_runs=10000)
print(result.metrics.eal)
crml_lang/ — भाषा/विनिर्देश पैकेजcrml_engine/ — संदर्भ इंजन पैकेजweb/ — वेब UI (Next.js)examples/ — उदाहरण CRML YAML मॉडल और FX कॉन्फ़िगरेशनwiki/ — दस्तावेज़ीकरण स्रोत (MkDocs)CRML Studio web/ में रहता है।
इसे स्थानीय रूप से चलाएँ:
pip install crml-engine
cd web
npm install
npm run dev
http://localhost:3000 खोलें


wiki/ के अंतर्गत दस्तावेज़ देखें (wiki/Home.md से शुरू करें)।
OSCAL अंतरसंचालनीयता और मैपिंग नियम: wiki/Guides/OSCAL.md
SCF एकीकरण और मैपिंग मार्गदर्शिका: wiki/Guides/SCF.md
वर्तमान दस्तावेज़ प्रकार:
crml_scenario: "1.0" शीर्ष-स्तर scenario: के साथcrml_portfolio: "1.0" शीर्ष-स्तर portfolio: के साथMIT लाइसेंस — LICENSE देखें।