crml
CRML (crml) — открытый декларативный язык для кибер-рискового моделирования: модели, телеметрия, пайплайны симуляций и выводы в YAML/JSON.
Что такое crml?
crml (CRML — Cyber Risk Modeling Language) — открытый декларативный язык для киберрискового моделирования. Он позволяет описывать модели рисков, сопоставления телеметрии, пайплайны симуляций, зависимости и требуемые выводы в формате YAML/JSON — без привязки к конкретному методу квантификации, движку симуляций или фреймворку контролей/угроз.
Проект предназначен для поддержки рабочих процессов «Risk as Code», где предположения и определения моделей хранятся в версионируемых, проверяемых артефактах (например, в Git). Это упрощает валидацию, воспроизведение и обмен киберрисками между командами и инструментами за счёт стандартизации представления входных данных, предположений и выводов.
Ключевые возможности
- Декларативные описания моделей в YAML/JSON: Выражавайте модели рисков и требования к их выполнению в переносимом формате вместо встраивания логики в таблицы или разовые инструменты.
- Агностичная к движкам спецификация симуляций: Определяйте пайплайны симуляций и зависимости, чтобы разные движки симуляций могли использовать одну и ту же модель (при условии соответствия CRML).
- Агностичные к фреймворкам сопоставления контролей/атак: Представляйте сопоставления с контролями и атаками без привязки модели к одному фреймворку или каталогу — это помогает при эволюции фреймворков.
- Моделирование эффективности контролей: Описывайте, как контролы снижают риски, включая предположения «defense in depth».
- Параметризация на основе медиан для логнормальных распределений: Указывайте медианы напрямую для логнормальных распределений в соответствии с подходом CRML.
- Строгая валидация через JSON Schema: Проверяйте документы моделей перед симуляцией, чтобы выявлять структурные ошибки на раннем этапе.
Как использовать crml
- Получите проект и документацию: Начните с репозитория (README и docs включены в содержимое репо) и установите пакет из PyPI.
- Напишите документ CRML: Создайте YAML/JSON-документ с описанием элементов модели — сопоставлений телеметрии, зависимостей, структуры пайплайна симуляций и требований к выводам.
- Проверьте документ: Используйте валидацию на основе схем проекта для поиска ошибок перед запуском симуляций.
- Запустите с совместимым движком: Выполните модель с помощью пайплайна симуляций, совместимого с CRML. Поскольку CRML агностичен к движкам, один и тот же документ CRML можно переиспользовать в разных совместимых движках.
Сценарии использования
- Делайте модели рисков проверяемыми в Git: Преобразуйте предположения из таблиц или презентаций в версионируемые документы CRML, чтобы изменения были видны в diff’ах и поддавались аудиту.
- Стандартизируйте обмен моделями между командами: Делитесь одной моделью рисков, определённой в CRML, между аналитиками и инструментами для единообразной интерпретации входных данных, предположений и выводов.
- Сравнение квантифицированных рисков с явными предположениями: Запускайте сценарии вроде «с инвестицией vs без» или «по периодам времени», сохраняя предположения явными и привязанными к валидированным определениям моделей.
- Интеграция киберрисков в корпоративные процессы: Используйте стандартизированное представление входов/выходов CRML для обеспечения прослеживаемости при передаче киберметрик в процессы корпоративных рисков и финансового планирования.
- Эволюция сопоставлений при изменениях фреймворков: При обновлениях фреймворков контролей или угроз (например, ATT&CK, NIST, ISO или внутренних каталогов) обновляйте сопоставления в CRML вместо переписывания логики под конкретный движок.
FAQ
-
Готов ли crml к продакшену?
Репозиторий указывает статус проекта как Draft, он активно развивается и может измениться без уведомления. Активная ветка разработки — crml-dev-1.3. -
В каком формате crml определяет модели?
CRML использует формат YAML/JSON для описания моделей рисков, сопоставлений телеметрии, пайплайнов симуляций, зависимостей и требований к выводам. -
Навязывает ли crml конкретный метод квантификации рисков?
Нет. Он предназначен быть агностичным к реализациям и агностичным к движкам, позволяя описывать модели без навязывания метода квантификации или движка симуляций. -
Как crml снижает ошибки моделирования?
Поддерживает строгую валидацию с помощью JSON Schema для выявления ошибок в документах моделей перед симуляцией. -
Где распространяется проект?
Метаданные репозитория указывают, что он доступен на PyPI.
Альтернативы
- Кибер-рисковое моделирование на основе таблиц или слайдов: Распространено для качественной или полу-количественной работы, но эти форматы сложнее проверять и воспроизводить последовательно по сравнению с декларативным подходом с проверкой по схеме.
- Реализации кибер-рискового моделирования, специфичные для движка: Инструменты, встраивающие предположения и логику симуляций прямо в проприетарные форматы моделей, могут быть более тесно интегрированы, но часто требуют переписывания при смене количественных движков или обновлении сопоставлений.
- Универсальные декларативные форматы конфигурации (например, файлы конфигурации моделей): Можно использовать общие форматы для внешнего хранения параметров, но они обычно не предоставляют структуру CRML, специфичную для кибер-рисков, для сопоставления телеметрии, пайплайнов симуляций и стандартизированных выводов.
- Другие подходы «Risk as Code» к моделированию: Подходы, версионирующие предположения и параметры, могут улучшить проверяемость, но могут не быть предназначены специально для кибер-рискового моделирования в контекстах контролей/атак и движков.
Альтернативы
AakarDev AI
AakarDev AI — это мощная платформа, которая упрощает разработку приложений ИИ с бесшовной интеграцией векторных баз данных, позволяя быстрое развертывание и масштабируемость.
Ably Chat
Ably Chat — chat API и SDK для кастомных realtime-приложений: реакции, presence и правка/удаление сообщений для чатов в масштабе.
garden-md
garden-md превращает расшифровки встреч в структурированную связанную wiki-компанию: HTML-вью в браузере и markdown, с синхронизацией из поддерживаемых источников.
BookAI.chat
BookAI позволяет вам общаться с вашими книгами, просто предоставив название и автора.
DeepMotion
DeepMotion — платформа ИИ для motion capture и body-tracking: создавайте 3D-анимации из видео (и текста) в браузере; интеграция через Animate 3D API.
skills-janitor
skills-janitor для Claude Code: аудит и учет навыков, сравнение с девятью командами /janitor-* и поиск дублей без зависимостей.