
Реализация фреймворка FAIR CRQ
Локальная платформа с открытым исходным кодом для количественной оценки кибербезопасности с использованием фреймворка FAIR v3.1 (Factor Analysis of Information Risk). Моделируйте угрозы, запускайте симуляции Монте-Карло, измеряйте эффективность средств контроля и управляйте портфелями рисков — всё из браузера, без облачной учётной записи.
LM = PLM + SLEF × SLEM

| Требование | Версия | Примечания |
|---|---|---|
| Node.js | 22.5 или новее | Использует встроенный модуль node:sqlite, представленный в v22.5 |
| npm | поставляется с Node.js | Отдельная установка не требуется |
brew install nodenvm install 22 && nvm use 22winget install OpenJS.NodeJS# Клонируйте репозиторий
git clone https://github.com/iiamit/CyberQRM.git
cd CyberQRM
# Запустите установщик (проверяет версию Node, устанавливает все зависимости, загружает данные ATT&CK)
chmod +x install.sh
./install.sh
REM Клонируйте репозиторий (Git Bash, PowerShell или любой терминал)
git clone https://github.com/iiamit/CyberQRM.git
cd CyberQRM
REM Запустите установщик (дважды щёлкните или выполните из терминала)
install.bat
Установщик выполнит:
backend/data/ для базы данных SQLite./start.sh
Эта команда открывает два окна терминала (или фоновые процессы в Linux без рабочего стола) — один для бэкенд-API и один для сервера разработки фронтенда — и автоматически открывает браузер.
start.bat
Откроются два окна консоли (бэкенд и фронтенд). Браузер откроется автоматически через 5 секунд.
После запуска приложение доступно по адресам:
| Сервис | URL |
|---|---|
| Фронтенд | http://localhost:5173 |
| API бэкенда | http://localhost:3001 |
Если порт 5173 уже занят, Vite автоматически переключится на 5174.
CyberQRM реализует методологию FAIR v3.1 за четыре шага:
Многокомпонентная оценка активов — включите "Расширенный: использовать несколько баз оценки" на этапе стоимости актива, чтобы задать отдельные распределения для каждого измерения стоимости. Симуляция суммирует все базы на каждой итерации.
Первичные и вторичные потери — включите "Расширенный: разделить на первичные и вторичные потери" на этапе воздействия потерь, чтобы смоделировать первичные прямые затраты и вторичные затраты, налагаемые заинтересованными сторонами (штрафы, репутационный ущерб, потеря конкурентоспособности) с условной вероятностью SLEF. Все суммы указаны в абсолютных долларах США.
MITRE ATT&CK — на этапах TEF и уязвимости откройте браузер техник, чтобы отфильтровать по тактике, найти по имени или ID и выбрать соответствующие техники. Платформа предлагает диапазоны TEF на основе уровней распространённости в реальном мире (данные из наблюдений Red Canary / CTID) и диапазоны уязвимости на основе того, сколько мер смягчения ATT&CK вы внедрили.
База данных создаётся автоматически при первом запуске (backend/data/cyberqrm.db). Все данные остаются на вашем локальном компьютере.
CyberQRM/
├── backend/ # Express.js + TypeScript API
│ ├── src/
│ │ ├── index.ts # Точка входа сервера (порт 3001)
│ │ ├── db/ # Адаптер SQLite, схема и миграции
│ │ ├── routes/ # REST-эндпоинты (сценарии, средства контроля, портфели, ATT&CK)
│ │ ├── services/ # Бизнес-логика, движок Монте-Карло и сервис ATT&CK
│ │ ├── data/ # attack-prevalence.json (встроенные данные об уровнях TEF)
│ │ └── middleware/ # Обработка ошибок
│ └── data/ # База данных SQLite + файл ATT&CK STIX (создаётся автоматически)
├── frontend/ # React 18 + Vite + TypeScript
│ └── src/
│ ├── pages/ # Панель управления, сценарии, средства контроля, портфели
│ ├── components/ # Диаграммы, формы, UI-примитивы
│ │ └── forms/ # ScenarioForm, AttackTechniqueSelector,
│ │ # ValuationBasisList, PrimarySecondaryLossForm
│ ├── store/ # Управление состоянием Zustand
│ └── utils/ # API-клиент, форматирование, генератор отчётов
├── shared/ # Общие TypeScript-типы (модель данных FAIR)
├── install.sh # Установщик для macOS/Linux
├── install.bat # Установщик для Windows
├── start.sh # Запускатор для macOS/Linux
└── start.bat # Запускатор для Windows
Для работы с кодом с горячей перезагрузкой:
# Установка зависимостей (если ещё не сделано)
./install.sh # macOS/Linux
install.bat # Windows
# Запуск обеих служб с live reload
npm run dev # из корня проекта (требуется npm-run-all)
# Или запускайте их по отдельности
npm run dev:backend
npm run dev:frontend
Для сборки production-пакета:
npm run build
# Затем запустите скомпилированный бэкенд:
cd backend && npm start
# Разместите frontend/dist с помощью любого статического файлового сервера
Вклад приветствуется. Пожалуйста, сначала откройте issue для обсуждения значительных изменений.
git checkout -b feature/your-feature)MIT — подробности см. в LICENSE.
Этот проект реализует онтологию FAIR™ (Factor Analysis of Information Risk). FAIR является товарным знаком FAIR Institute.
ATT&CK® является зарегистрированным товарным знаком MITRE Corporation. Содержимое ATT&CK используется в соответствии с Условиями использования ATT&CK.
| Проверка здоровья | http://localhost:3001/api/health |
| Уровень | Технология |
|---|
| Фронтенд-фреймворк | React 18, TypeScript, Vite |
| Стилизация | Tailwind CSS |
| Управление состоянием | Zustand, TanStack React Query |
| Диаграммы | Recharts |
| Бэкенд-фреймворк | Express.js, TypeScript |
| База данных | SQLite через встроенный node:sqlite |
| Валидация | Zod |
| Threat intelligence | MITRE ATT&CK Enterprise (STIX 2.1) |