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 정의 리스크 모델을 공유하여 동일한 입력/가정/출력이 일관되게 해석되도록 합니다.
- 명시적 가정으로 정량화된 리스크 비교: “투자 유무” 또는 “시간대별” 시나리오를 실행하면서 가정을 명시적이고 검증된 모델 정의에 연결합니다.
- 사이버 리스크를 기업 리스크 워크플로에 매핑: 사이버 메트릭이 기업 리스크 및 재무 계획 프로세스에 입력될 때 CRML의 표준화된 입력/출력 표현으로 추적성을 지원합니다.
- 프레임워크 변경에 따른 매핑 진화: 제어 또는 위협 프레임워크(예: ATT&CK, NIST, ISO 또는 내부 카탈로그)가 업데이트될 때 엔진별 모델링 로직을 다시 작성하는 대신 CRML 매핑을 업데이트합니다.
자주 묻는 질문
-
crml은 프로덕션 준비가 되었나요? 리포지토리에서 프로젝트 상태가 Draft이며, 적극적인 개발 중이고 통지 없이 변경될 수 있다고 명시되어 있습니다. 활성 개발 브랜치는 crml-dev-1.3입니다.
-
crml은 모델을 어떤 형식으로 정의하나요? CRML은 리스크 모델, 텔레메트리 매핑, 시뮬레이션 파이프라인, 의존성 및 출력 요구사항을 설명하기 위해 YAML/JSON 형식을 사용합니다.
-
crml은 특정 리스크 정량화 방법을 강제하나요? 아니요. 구현 중립 및 엔진 중립을 목표로 하여 특정 정량화 방법이나 시뮬레이션 엔진을 강제하지 않고 모델을 설명할 수 있습니다.
-
crml은 모델링 오류를 어떻게 줄이나요? 시뮬레이션 전에 모델 문서의 오류를 잡아내기 위해 JSON Schema를 사용한 엄격한 검증을 지원합니다.
-
프로젝트는 어디서 배포되나요? 리포지토리 메타데이터에 따라 PyPI에서 제공됩니다.
대안
- 스프레드시트 또는 슬라이드 기반 사이버 리스크 모델링: 정성적 또는 반정량적 작업에 흔히 사용되지만, 선언형이고 스키마 검증된 문서 접근 방식에 비해 검증과 일관된 재현이 더 어렵습니다.
- 엔진별 사이버 리스크 모델링 구현: 독점 모델 형식에 가정과 시뮬레이션 로직을 직접 내장한 도구는 더 긴밀하게 통합될 수 있지만, 정량 엔진을 변경하거나 매핑을 업데이트할 때 종종 재작성이 필요합니다.
- 범용 선언형 구성 형식 (예: 모델 구성 파일): 일반 형식으로 매개변수를 외부화할 수 있지만, 일반적으로 텔레메트리 매핑, 시뮬레이션 파이프라인, 표준화된 출력에 대한 CRML의 사이버 리스크 전용 구조를 제공하지 않습니다.
- 기타 “Risk as Code” 모델링 접근 방식: 가정과 매개변수를 버전 관리하는 접근 방식은 검토성을 향상시킬 수 있지만, 컨트롤/공격 및 엔진 컨텍스트 전반의 사이버 리스크 모델링을 위해 특별히 설계되지 않을 수 있습니다.
대안
AakarDev AI
AakarDev AI는 원활한 벡터 데이터베이스 통합을 통해 AI 애플리케이션 개발을 간소화하는 강력한 플랫폼으로, 신속한 배포와 확장성을 가능하게 합니다.
Ably Chat
Ably Chat은 실시간 채팅 API와 SDK로 맞춤형 채팅 앱을 구축합니다. 반응, 존재감, 메시지 편집/삭제를 포함해 대규모 실시간에 최적화
garden-md
회의록을 로컬 마크다운 기반 구조화 위키로 변환하고 HTML 브라우저 뷰로 탐색하세요. 지원되는 소스에서 동기화.
BookAI.chat
BookAI는 제목과 저자를 제공하기만 하면 AI를 사용하여 책과 대화할 수 있게 해줍니다.
DeepMotion
DeepMotion은 웹 브라우저에서 비디오(및 텍스트)로부터 3D 애니메이션을 생성하는 AI 모션 캡처·바디 트래킹 플랫폼입니다. Animate 3D API 지원.
skills-janitor
skills-janitor로 Claude Code 기술을 감사하고 사용량을 추적하며, 9가지 슬래시 커맨드로 자신의 능력을 비교하세요. 의존성 0.