
CRML
CRML 是一种开放、声明式、与实现无关的语言,用于表达网络风险模型,使组织能够通过代码标准化、验证和自动化其风险评估流程。
https://github.com/Faux16/crml?ref=producthunt&utm_source=aipure

产品信息
更新于:2026年02月10日
什么是 CRML
CRML(网络风险建模语言)是一种专门的语言,旨在解决网络安全风险管理中的挑战。它提供了一种 YAML/JSON 格式,用于描述网络风险模型、遥测映射、模拟管道、依赖关系和输出要求,而不会强迫用户使用特定的量化方法、模拟引擎或安全控制框架。CRML 由 Zeron Research Labs 和 CyberSec Consulting LLC 开发和维护,支持“风险即代码”(RaC),其中风险和合规性假设成为版本化、可审查的工件,可以在团队和工具之间一致地验证和执行。
CRML 的主要功能
CRML(网络风险建模语言)是一种开源的声明性语言,旨在表达和标准化网络风险模型。它提供了一种 YAML/JSON 格式来描述风险模型、遥测映射、模拟管道、依赖关系和输出要求,而无需绑定到特定的量化方法或安全框架。该语言支持风险即代码 (RaC),使风险和合规性假设成为可版本化、可审查的工件,可以在不同的团队和工具中一致地验证和执行。
控制有效性建模: 允许量化安全控制如何降低风险,包括纵深防御场景和有效性参数
与框架无关的集成: 支持多种安全框架(ATT&CK、CIS、NIST、ISO、SCF),具有灵活的映射功能和版本控制
多币种支持: 支持跨不同货币进行建模,并具有自动转换功能
验证和可重复性: 提供严格的 JSON Schema 验证,并确保模型在不同的工具和团队中可重现
CRML 的使用场景
安全投资分析: 通过对具有和不具有特定安全控制或投资的风险场景进行建模,来比较和证明安全支出的合理性
法规遵从: 创建可用于审计的文档和风险计算证据,以满足法规要求和合规性报告
企业风险管理: 标准化不同业务部门的风险评估,并将网络风险与企业风险规划相结合
保险和财务规划: 对潜在的网络风险及其对保险范围决策和财务规划的财务影响进行建模
优点
与实现无关的设计允许在选择模拟引擎时具有灵活性
人类可读的 YAML 格式使其易于审查和审计
标准化的方法可以在整个组织中实现一致的风险建模
缺点
项目仍在大量开发中,可能会在没有通知的情况下更改
需要技术专业知识才能实施和维护
仅限于具有成熟风险管理实践的组织
如何使用 CRML
安装 CRML 包: 使用 'pip install crml-engine' 安装完整的 CLI 包,或者只使用 'pip install crml-lang' 安装语言库。对于 SCF 支持,请使用 'pip install \"crml-lang[scf]\"'
创建 CRML YAML 模型文件: 创建一个 YAML 文件,使用所需的字段(如 crml_scenario 版本、元信息和包括频率和严重性参数的场景详细信息)定义您的网络风险模型
验证 CRML 文件: 使用 CLI 命令 'crml-lang validate <your-file.yaml>' 或 Python 代码 'from crml_lang import validate; report = validate(\"your-file.yaml\", source_kind=\"path\")' 来验证您的 YAML 模型
运行模拟: 使用 CLI 执行模拟,命令为 'crml simulate <your-file.yaml> --runs 10000',或者使用 Python 代码 'from crml_engine.runtime import run_simulation; result = run_simulation(\"your-file.yaml\", n_runs=10000)'
使用 CRML Studio(可选): 对于可视化界面:1) 使用 'pip install crml-engine' 安装,2) 导航到 web/ 目录,3) 运行 'npm install',4) 使用 'npm run dev' 启动,5) 打开 http://localhost:3000
导入外部框架(可选): 使用 CLI 命令 'crml-lang scf-import-catalog path/to/SCF_file.xlsx output-catalog.yaml' 导入安全框架,如 SCF
审查和迭代: 检查模拟结果,验证输出,并根据需要优化模型参数。使用版本控制来跟踪对 CRML 文件的更改
CRML 常见问题
CRML(网络风险建模语言)是一种开放的、声明式的、引擎无关的语言,用于表达网络风险模型、遥测映射、模拟管道、依赖关系和输出要求。它提供了一种 YAML/JSON 格式,用于描述网络风险模型,而无需强制使用特定的量化方法或安全框架。











