CRML

CRML

Zeron Research Labs / CyberSec Consulting LLC · 程式設計

CRML(Cyber Risk Modeling Language)是一種開放、宣告式的語言,可用 YAML 或 JSON 描述網路風險模型,由 Zeron Research Labs 與 CyberSec Consulting LLC 維護。它不把風險假設鎖在試算表或某一家廠商的工具裡,而是讓你以可審閱的檔案定義模型、遙測對應與輸出,再用你原本就在使用的網路風險量化引擎來執行。作為開源風險工具,它以 Python 風險函式庫的形式提供,因此把風險當程式碼處理的團隊,能像對待任何其他設定一樣驗證、版本化並重現他們的數字。

CRML 的介面預覽

關於 CRML

什麼是 CRML

CRML 是一種用來寫下網路風險模型的語言,而不是用來計算它們的。這個區別很重要。此格式描述情境、輸入、控制假設與預期輸出,而真正的數學運算留在你選擇的引擎裡,不論是 FAIR 風格的蒙地卡羅架構、貝氏或 QBER 方法,還是內部平台。由於宣告式風險模型只是文字,它可以放在 Git 裡、經過審閱,並在幾個月後以相同結果重新執行。

這就是「風險即程式碼」的概念。當法遵與安全假設變成可版本化的產物時,稽核人員與分析師就能看見模型建了什麼、用了哪些參數、哪些資料餵進了結果。這和一份沒人能重現的簡報有天壤之別。

那麼,這是給誰用的?主要是已經把設定當程式碼處理的團隊。宣告式風險模型唯有在你願意把它放進版本控制時才划算。否則就別碰。

目前最大的限制是成熟度。該專案自稱是密集開發中的草稿,因此格式與工具在版本之間可能變動,任何在其上打造的人都該預期會有變化。這是實實在在的成本。儘管如此,範疇很窄,而核心概念站得住腳。

開始使用

  1. 安裝 Python 3,接著用 pip install crml-lang 與 pip install crml-engine 從 PyPI 加入套件。
  2. 以 YAML 或 JSON 撰寫一份情境文件,描述你的風險模型、遙測對應與輸出需求。
  3. 對照內附的 JSON 結構描述進行驗證,例如透過 crml-lang 裡的 validate 輔助函式載入檔案。
  4. 若多個情境共用參照的 pack,就打包成一個投資組合,產生一份自成一體的產物。
  5. 把計畫交給你的量化引擎,或使用 crml-engine 的確定性管線步驟來執行。

產品資訊

快速了解 CRML 的定價、支援平台與效能。

免費方案是
付費方案$0
平台Python 3 (OS independent)
開發者Zeron Research Labs / CyberSec Consulting LLC
類別程式設計
發布日期Nov 2025
最近更新Dec 2025
網站訪問量649.3M
網站全球排名50
API 提供狀態是

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 需要模型能經得起審閱的網路風險與安全分析師:CRML 把假設保存在你能比對的文字裡,前提是你對 YAML 與終端機感到自在。
  • 必須說明某個數字如何產生的法遵與稽核團隊:此格式把輸入、參數與輸出一起記錄下來,因此證據不會散落在各工具之間。
  • 已經在用 Python、具工程思維的風險管理者:這些套件能直接放進既有管線,不必學一套新平台。

任務

  • 記錄一個風險情境,讓兩位分析師得到相同結果:共用格式消除了手做試算表帶來的逐季漂移。
  • 比較各事業單位或供應商之間的風險:同一套模型結構到處適用,讓並排比較變得有意義。
  • 對應 ATT&CK、CIS 或 NIST 等威脅與控制框架:CRML 以機器可讀的方式描述對應關係,而非脆弱的筆記。
  • 藉由在有無某項控制的情況下為風險建模,來正當化一筆安全支出:這種可量化的架構能支撐那類前後對比。

情境

  • 把風險模型從試算表與簡報移進版本控制,讓變更像程式碼一樣被審閱。
  • 讓同一個模型跑過不同的量化引擎,而不必每次重寫。
  • 隨需產出可供稽核的證據,因為對所建模型的描述就與模型本身放在一起。

主要功能

與引擎無關的模型描述

CRML 不強迫你採用某種量化方法。你以 YAML 或 JSON 描述模型,而 FAIR 蒙地卡羅架構、貝氏或 QBER 引擎,或你自己的平台都讀同一個檔案。這表示換引擎不再是重寫專案。差別很大。這正是它被打造來消除的實務痛點。

風險即程式碼工作流程

重點全在於把風險假設變成可版本化、可審閱的產物。因為模型是純文字,它們能融入 Git、pull request 與 CI,分析師因此能確切看見改了什麼、為什麼改。對早已生活在程式碼審閱裡的團隊來說,這就是風險工作的自然歸屬。不再有神祕數字。

結構描述驗證與具型別的模型

crml-lang 套件內含 Pydantic 模型、內附的 JSON 結構描述與結構化驗證器。在任何東西執行之前,你就會得到明確的通過或失敗,這能及早抓到格式錯誤的參數,而不是在浪費一次模擬之後。驗證報告會告訴你哪裡壞了,而不只是壞了。

投資組合打包

當多個情境共用參照的 pack 時,bundle_portfolio 會把他們折疊成一份自成一體的產物。打包能從磁碟讀取,也能直接從記憶體中的模型讀取,因此在沒有檔案系統的管線裡也能運作。結果是單一物件,你可以封存或交給另一個團隊。

確定性引擎管線

配套的 crml-engine 套件包含一個規劃步驟,能把投資組合變成確定性的管線計畫。它把「要跑什麼」的階段與「跑吧」分開,讓輸出可重現,也讓數字看起來怪時更容易除錯。

框架與目錄的彈性

ATT&CK、CIS、NIST、ISO 與 SCF 等威脅與控制框架,加上內部目錄,都能被描述,而不會把你綁死在其中任何一個。由於這些框架會隨時間改變,把對應關係保存在可版本化的格式裡,意味著更新不會默默弄壞你的模型。

優缺點

優點

  • 以 MIT 授權開源,因此沒有授權費用,結構描述也可檢視。
  • 與引擎無關的設計,讓你的模型不會綁死在單一廠商的量化工具上。
  • 以文字為基礎的 YAML 與 JSON 模型能乾淨地融入 Git、審閱與自動化。
  • 內附的結構描述驗證與具型別的 Python 模型會在模擬執行前抓到錯誤。
  • 目前版本可從 PyPI 以 `crml-lang` 與 `crml-engine` 安裝,供 Python 3 使用。

缺點

  • 該專案自稱是密集開發中的草稿,因此格式與套件在版本之間可能改變。
  • 它是規格與函式庫,不是完成品,所以你得寫程式碼與 YAML,而不是點按介面。
  • 沒有獨立的雲端服務或圖形化儀表板,這讓想要現成應用程式的團隊無法採用。

常見問題

它給你一套標準方式,寫下網路風險模型、其輸入與預期輸出。語言負責描述與驗證,而另一套引擎負責真正的量化。

相關內容

探索與 CRML 相關的工具、技能與文章。

CRML 替代方案

Forefront

Forefront

Forefront · 程式設計

Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。

免費 / $0 - $99/mo查看詳情
Startkit

Startkit

StartKit.AI · 程式設計

Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。

付費 / $99 - $499 one-time查看詳情
Testim

Testim

Tricentis · 程式設計

Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。

免費 / Custom pricing on request查看詳情