crml 是什么?
crml(CRML — Cyber Risk Modeling Language)是一种开源声明式网络风险建模语言。它允许您使用 YAML/JSON 格式描述风险模型、遥测映射、仿真流水线、依赖关系和所需输出,而无需指定特定的量化方法、仿真引擎或控制/威胁框架。
该项目旨在支持“Risk as Code”工作流,其中假设和模型定义可以存放在可版本化、可审查的工件中(例如 Git 中)。这通过标准化输入、假设和输出的表示方式,使网络风险模型更容易验证、可复现,并在团队和工具间交换。
主要特性
- 声明式 YAML/JSON 模型描述:以便携格式表达风险模型及其执行要求,而不是将逻辑嵌入电子表格或一次性工具中。
- 引擎无关的仿真规范:定义仿真流水线和依赖关系,以便不同仿真引擎使用相同的模型定义(只要符合 CRML)。
- 控制/攻击框架无关的映射:表示与控制和攻击的映射,而不锁定到单一框架或目录,有助于框架演进时适应。
- 控制有效性建模:建模控制如何降低风险,包括“纵深防御”假设。
- 对数正态分布的中位数参数化:直接指定对数正态分布的中位数,与 CRML 方法中风险分布的参数化方式一致。
- 通过 JSON Schema 的严格验证:在仿真前验证模型文档,早起捕获结构错误。
如何使用 crml
- 获取项目和文档:从仓库开始(README 和文档包含在仓库内容中),并安装 PyPI 上可用的包。
- 编写 CRML 文档:创建 YAML/JSON 文档,描述您要运行的模型元素——如遥测映射、依赖关系、仿真流水线结构和输出要求。
- 验证文档:使用项目的基于 schema 的验证,在运行仿真前检查错误。
- 使用兼容引擎运行:使用与 CRML 兼容的仿真流水线执行模型。由于 CRML 旨在引擎无关,同一 CRML 文档可在不同兼容引擎间复用。
使用场景
- 在 Git 中使风险模型可审查:将基于电子表格或演示文稿的模型假设转换为可版本化的 CRML 文档,以便在 diff 中查看变更并进行审计。
- 跨团队标准化模型交换:在分析师和工具间共享单一 CRML 定义的风险模型,确保相同输入/假设/输出被一致解释。
- 带明确假设的量化风险比较:运行“有/无投资”或“跨时间段”等场景,同时保持假设明确并绑定到已验证的模型定义。
- 将网络风险映射到更广泛的企业风险工作流:使用 CRML 的标准化输入/输出表示,支持网络指标输入企业风险和财务规划流程时的可追溯性。
- 框架变更时演进映射:当控制或威胁框架(例如 ATT&CK、NIST、ISO 或内部目录)更新时,更新 CRML 映射,而非重写引擎特定建模逻辑。
常见问题
-
crml 是否生产就绪? 仓库声明项目状态为 Draft,正在大力开发中,可能随时变更。活跃开发分支为 crml-dev-1.3。
-
crml 使用什么格式定义模型? CRML 使用 YAML/JSON 格式描述风险模型、遥测映射、仿真流水线、依赖关系和输出要求。
-
crml 是否强制特定风险量化方法? 否。它旨在 implementation-agnostic 和 engine-agnostic,因此您可以描述模型而不强制特定量化方法或仿真引擎。
-
crml 如何减少建模错误? 它支持使用 JSON Schema 的 严格验证,在仿真前捕获模型文档中的错误。
-
项目在哪里分发? 仓库元数据声明它 available on PyPI。
替代方案
- 基于电子表格或幻灯片的网络风险建模:常用于定性或半定量工作,但与声明式、模式验证的文档方法相比,这些格式更难验证和一致复现。
- 特定引擎的网络风险建模实现:将假设和仿真逻辑直接嵌入专有模型格式的工具可能更紧密集成,但切换量化引擎或更新映射时往往需要重写。
- 通用声明式配置格式(例如,模型配置文件):可以使用通用格式外部化参数,但它们通常无法提供 CRML 的网络风险专用结构,用于遥测映射、仿真流水线和标准化输出。
- 其他“Risk as Code”建模方法:版本化假设和参数的方法可提升可审查性,但可能并非专为跨控制/攻击和引擎语境的网络风险建模设计。
替代品
AakarDev AI
AakarDev AI 是一个强大的平台,通过无缝的向量数据库集成简化 AI 应用程序的开发,实现快速部署和可扩展性。
Ably Chat
Ably Chat 提供聊天 API 和 SDK,用于自定义实时聊天应用:支持反应、在线/房间状态及消息编辑/删除,面向高并发场景。
garden-md
garden-md 将会议转录内容整理成结构化、可互链的企业维基:基于本地 Markdown,并可用 HTML 浏览视图同步转录来源。
BookAI.chat
BookAI允许您通过简单提供书名和作者与您的书籍进行AI聊天。
DeepMotion
DeepMotion 是 AI 动作捕捉与人体追踪平台,可在浏览器中用视频(及文本)生成 3D 动画;并通过 Animate 3D API 便于开发集成。
skills-janitor
skills-janitor 插件用于审计和跟踪 Claude Code 技能使用情况,并与九个聚焦的斜杠命令进行对比,零依赖。