docs: enter demo freeze housekeeping
This commit is contained in:
@@ -213,7 +213,7 @@ collectors.
|
|||||||
[commercial positioning](docs/REGISTRY_COMMERCIAL_POSITIONING_RU.md),
|
[commercial positioning](docs/REGISTRY_COMMERCIAL_POSITIONING_RU.md),
|
||||||
[readiness checklist](docs/REGISTRY_READINESS_CHECKLIST_RU.md).
|
[readiness checklist](docs/REGISTRY_READINESS_CHECKLIST_RU.md).
|
||||||
|
|
||||||
- [Позиционирование для реестра российского ПО](docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
- [Позиционирование для реестра российского ПО](docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
||||||
- [Сведения для подачи в реестр](REGISTER_RU_SOFTWARE.md)
|
- [Сведения для подачи в реестр](REGISTER_RU_SOFTWARE.md)
|
||||||
- [Registry product passport](docs/REGISTRY_PRODUCT_PASSPORT_RU.md)
|
- [Registry product passport](docs/REGISTRY_PRODUCT_PASSPORT_RU.md)
|
||||||
- [Registry architecture](docs/REGISTRY_ARCHITECTURE_RU.md)
|
- [Registry architecture](docs/REGISTRY_ARCHITECTURE_RU.md)
|
||||||
@@ -228,7 +228,7 @@ collectors.
|
|||||||
- [Сценарий экспертной проверки](docs/EXPERT_TEST_SCENARIO_RU.md)
|
- [Сценарий экспертной проверки](docs/EXPERT_TEST_SCENARIO_RU.md)
|
||||||
- [Release manifest 2026-06](docs/RELEASE_MANIFEST_2026-06.md)
|
- [Release manifest 2026-06](docs/RELEASE_MANIFEST_2026-06.md)
|
||||||
- [Эксплуатационный профиль](docs/OPERATIONAL_PROOF_PROFILE_RU.md)
|
- [Эксплуатационный профиль](docs/OPERATIONAL_PROOF_PROFILE_RU.md)
|
||||||
- [Коммерческие модули AWatch-rus](docs/DETMIR_COMMERCIAL_MODULES_RU.md)
|
- [Коммерческие модули AWatch-rus](docs/COMMERCIAL_MODULES_RU.md)
|
||||||
- [Архитектурный baseline](docs/ARCHITECTURE_BASELINE_RU.md)
|
- [Архитектурный baseline](docs/ARCHITECTURE_BASELINE_RU.md)
|
||||||
- [Пакет пилота для заказчика](docs/CUSTOMER_PILOT_PACK_RU.md)
|
- [Пакет пилота для заказчика](docs/CUSTOMER_PILOT_PACK_RU.md)
|
||||||
- [Enterprise deployment guide](docs/ENTERPRISE_DEPLOYMENT_GUIDE_RU.md)
|
- [Enterprise deployment guide](docs/ENTERPRISE_DEPLOYMENT_GUIDE_RU.md)
|
||||||
@@ -256,6 +256,7 @@ collectors.
|
|||||||
- [Browser conformance smoke](docs/BROWSER_CONFORMANCE_RU.md)
|
- [Browser conformance smoke](docs/BROWSER_CONFORMANCE_RU.md)
|
||||||
- [Production readiness портала](docs/PRODUCTION_READINESS_RU.md)
|
- [Production readiness портала](docs/PRODUCTION_READINESS_RU.md)
|
||||||
- [Explainable Workforce KPI](docs/EXPLAINABLE_KPI_RU.md)
|
- [Explainable Workforce KPI](docs/EXPLAINABLE_KPI_RU.md)
|
||||||
|
- [Risk Narrative](docs/RISK_NARRATIVE_RU.md)
|
||||||
- [Executive Action Center](docs/EXECUTIVE_ACTION_CENTER_RU.md)
|
- [Executive Action Center](docs/EXECUTIVE_ACTION_CENTER_RU.md)
|
||||||
- [Rust Agent baseline](docs/RUST_AGENT_BASELINE_RU.md)
|
- [Rust Agent baseline](docs/RUST_AGENT_BASELINE_RU.md)
|
||||||
- [Итог production-расследования 2026-06-07](docs/PRODUCTION_INCIDENT_REPORT_2026-06-07_RU.md)
|
- [Итог production-расследования 2026-06-07](docs/PRODUCTION_INCIDENT_REPORT_2026-06-07_RU.md)
|
||||||
|
|||||||
@@ -305,5 +305,5 @@ stale/dead buckets для обязательных источников.
|
|||||||
- `docs/ARCHITECTURE_RU.md` - архитектура.
|
- `docs/ARCHITECTURE_RU.md` - архитектура.
|
||||||
- `docs/ADMIN_GUIDE_RU.md` - руководство администратора.
|
- `docs/ADMIN_GUIDE_RU.md` - руководство администратора.
|
||||||
- `docs/OPERATOR_GUIDE_RU.md` - руководство оператора.
|
- `docs/OPERATOR_GUIDE_RU.md` - руководство оператора.
|
||||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` - стратегия
|
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` - стратегия
|
||||||
позиционирования.
|
позиционирования.
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ Collector и server-side сервисы проектировались так,
|
|||||||
|
|
||||||
### MCP / PowerShell remote для AWatch-rus
|
### MCP / PowerShell remote для AWatch-rus
|
||||||
|
|
||||||
Документ: `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md`
|
Документ: `docs/POWERSHELL_MCP_REMOTE_RU.md`
|
||||||
|
|
||||||
Реализует:
|
Реализует:
|
||||||
|
|
||||||
|
|||||||
+14
-13
@@ -1,9 +1,9 @@
|
|||||||
# Runbook: перевод DetMir на Rust / ADK-Rust
|
# Runbook: перевод AWatch-rus на Rust / ADK-Rust
|
||||||
|
|
||||||
Дата фиксации: `2026-06-01`
|
Дата фиксации: `2026-06-01`
|
||||||
|
|
||||||
Цель: постепенно заменить хрупкие Python/shell operational scripts на
|
Цель: постепенно заменить хрупкие Python/shell operational scripts на
|
||||||
самодостаточные Rust-бинарники, не ломая текущий production-контур DetMir.
|
самодостаточные Rust-бинарники, не ломая текущий production-контур AWatch-rus.
|
||||||
|
|
||||||
Этот runbook является рабочим планом миграции. Если фактический runtime
|
Этот runbook является рабочим планом миграции. Если фактический runtime
|
||||||
расходится с этим документом, сначала фиксируется baseline, затем обновляется
|
расходится с этим документом, сначала фиксируется baseline, затем обновляется
|
||||||
@@ -1543,7 +1543,7 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
|||||||
- production binary доставлен на AW server, но `--apply` не запускался;
|
- production binary доставлен на AW server, но `--apply` не запускался;
|
||||||
- production dry-run: `apply=false`, `ok=true`, `missing=0`,
|
- production dry-run: `apply=false`, `ok=true`, `missing=0`,
|
||||||
`executed=0`, `steps=25`;
|
`executed=0`, `steps=25`;
|
||||||
- final production gates: AW failed units `0`, DetMir status OK with
|
- final production gates: AW failed units `0`, `detmir-status` OK with
|
||||||
`service_warnings=0`, `dlp_counts={ok:22,warn:0,fail:0}`,
|
`service_warnings=0`, `dlp_counts={ok:22,warn:0,fail:0}`,
|
||||||
`ok_for_operator=true`;
|
`ok_for_operator=true`;
|
||||||
- gates: `cargo fmt --all -- --check`, `cargo test -p
|
- gates: `cargo fmt --all -- --check`, `cargo test -p
|
||||||
@@ -1707,15 +1707,15 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
|||||||
Grafana check `ok=true` with `fail=0`, `detmir-auto --no-heal` rc `0`,
|
Grafana check `ok=true` with `fail=0`, `detmir-auto --no-heal` rc `0`,
|
||||||
portal health `true`, `detmir-status` `OK / ok_for_operator=true`, and
|
portal health `true`, `detmir-status` `OK / ok_for_operator=true`, and
|
||||||
failed units `0`.
|
failed units `0`.
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md` added as the current working threat
|
- `docs/THREAT_MODEL_RU.md` added as the current working threat
|
||||||
model for DetMir. It records the product as an operational
|
model for AWatch-rus. It records the product as an operational
|
||||||
control and technical audit platform, not a certified DLP/SIEM/EDR/XDR
|
control and technical audit platform, not a certified DLP/SIEM/EDR/XDR
|
||||||
or FSTEC SZI. It also records Igor as the declared product owner, lists
|
or FSTEC SZI. It also records Igor as the declared product owner, lists
|
||||||
assets, trust zones, attacker/operator-failure classes, implemented
|
assets, trust zones, attacker/operator-failure classes, implemented
|
||||||
evidence controls, residual risks, and the hardening roadmap.
|
evidence controls, residual risks, and the hardening roadmap.
|
||||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` added as the
|
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` added as the
|
||||||
registry/product positioning note. Current decision: lead with DetMir as
|
registry/product positioning note. Current decision: lead with AWatch-rus
|
||||||
an operational control and IT infrastructure management platform, use
|
as an operational control and IT infrastructure management platform, use
|
||||||
`09.10` as the primary Russian software registry class target, keep
|
`09.10` as the primary Russian software registry class target, keep
|
||||||
DLP/security/evidence/Hayabusa as applied modules, and prepare website,
|
DLP/security/evidence/Hayabusa as applied modules, and prepare website,
|
||||||
operator/admin docs, ownership package, screenshots, and dependency
|
operator/admin docs, ownership package, screenshots, and dependency
|
||||||
@@ -1724,17 +1724,18 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
|||||||
`docs/ADMIN_GUIDE_RU.md`, `docs/OPERATOR_GUIDE_RU.md`,
|
`docs/ADMIN_GUIDE_RU.md`, `docs/OPERATOR_GUIDE_RU.md`,
|
||||||
`docs/INSTALL_RU.md`, `docs/ARCHITECTURE_RU.md`,
|
`docs/INSTALL_RU.md`, `docs/ARCHITECTURE_RU.md`,
|
||||||
`docs/OWNERSHIP_RU.md`, `docs/THIRD_PARTY_LICENSES_RU.md`, and
|
`docs/OWNERSHIP_RU.md`, `docs/THIRD_PARTY_LICENSES_RU.md`, and
|
||||||
`docs/REGISTRY_CHECKLIST_RU.md`. Naming decision fixed across the docs:
|
`docs/REGISTRY_CHECKLIST_RU.md`. Current naming decision for public
|
||||||
`DetMir` is the product, `AWatch-rus` is the repository/technical base,
|
materials: `AWatch-rus` is the product and repository name. Legacy
|
||||||
and the external formula is `DetMir, программный комплекс на базе
|
`detmir-*` service, crate and environment identifiers remain technical
|
||||||
AWatch-rus`.
|
runtime identifiers until a separate compatibility-safe migration is
|
||||||
|
approved.
|
||||||
|
|
||||||
Отложить:
|
Отложить:
|
||||||
|
|
||||||
- post-MVP развитие `detmir-portal`: role-aware views, safe check-now action,
|
- post-MVP развитие `detmir-portal`: role-aware views, safe check-now action,
|
||||||
daily owner report, historical trends, AI summary with strict source
|
daily owner report, historical trends, AI summary with strict source
|
||||||
citations, action buttons with allowlist and audit log. Детальный план:
|
citations, action buttons with allowlist and audit log. Детальный план:
|
||||||
`docs/DETMIR_PORTAL_GUI_PLAN_RU.md`;
|
`docs/PORTAL_GUI_PLAN_RU.md`;
|
||||||
- перенос Telegram bot runtime снят с плана: Python остается постоянным
|
- перенос Telegram bot runtime снят с плана: Python остается постоянным
|
||||||
runtime, Rust используется только для backend helpers;
|
runtime, Rust используется только для backend helpers;
|
||||||
- перенос оставшихся install/runtime scripts на Rust;
|
- перенос оставшихся install/runtime scripts на Rust;
|
||||||
|
|||||||
+5
-5
@@ -92,8 +92,8 @@ ansible-playbook -i inventory.ini provision_proxmox_ct_matrix_and_deploy_aw.yml
|
|||||||
Важно:
|
Важно:
|
||||||
|
|
||||||
- `WinRM` здесь остаётся транспортом для `Ansible deploy` и `validation`;
|
- `WinRM` здесь остаётся транспортом для `Ansible deploy` и `validation`;
|
||||||
- для интерактивной PowerShell-работы из Linux/Codex по DetMir используйте project MCP-over-SSH путь, а не `WSMan`;
|
- для интерактивной PowerShell-работы из Linux/Codex по AWatch-rus используйте project MCP-over-SSH путь, а не `WSMan`;
|
||||||
- каноника лежит в `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md` и `scripts/install_detmir_powershell_mcp.sh`.
|
- каноника лежит в `docs/POWERSHELL_MCP_REMOTE_RU.md` и `scripts/install_detmir_powershell_mcp.sh`.
|
||||||
|
|
||||||
1. Подготовьте inventory и vars:
|
1. Подготовьте inventory и vars:
|
||||||
- `cp ansible/inventory.example.ini ansible/inventory.ini`
|
- `cp ansible/inventory.example.ini ansible/inventory.ini`
|
||||||
@@ -232,9 +232,9 @@ Playbook:
|
|||||||
|
|
||||||
По умолчанию импортируются:
|
По умолчанию импортируются:
|
||||||
|
|
||||||
- `DetMir: Работа пользователей в RDP`
|
- `AWatch-rus: Работа пользователей в RDP`
|
||||||
- `DetMir: DLP и ИБ обзор`
|
- `AWatch-rus: DLP и ИБ обзор`
|
||||||
- `DetMir: ИБ сводка для руководства`
|
- `AWatch-rus: ИБ сводка для руководства`
|
||||||
- `AW-rus: DLP обзор`
|
- `AW-rus: DLP обзор`
|
||||||
|
|
||||||
Подробная документация: `docs/GRAFANA_DASHBOARDS_RU.md`
|
Подробная документация: `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||||
|
|||||||
@@ -155,6 +155,6 @@ Rollback-critical данные:
|
|||||||
- `docs/OPERATOR_GUIDE_RU.md`
|
- `docs/OPERATOR_GUIDE_RU.md`
|
||||||
- `docs/INSTALL_RU.md`
|
- `docs/INSTALL_RU.md`
|
||||||
- `docs/ARCHITECTURE_RU.md`
|
- `docs/ARCHITECTURE_RU.md`
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
- `docs/THREAT_MODEL_RU.md`
|
||||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||||
- `adk-rust/RUNBOOK.md`
|
- `adk-rust/RUNBOOK.md`
|
||||||
|
|||||||
@@ -147,8 +147,8 @@ AWatch-rus не заявляется как сертифицированная
|
|||||||
|
|
||||||
## 9. Связанные документы
|
## 9. Связанные документы
|
||||||
|
|
||||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`
|
- `docs/UNIFIED_OPERATING_MODEL_RU.md`
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
- `docs/THREAT_MODEL_RU.md`
|
||||||
- `docs/ADMIN_GUIDE_RU.md`
|
- `docs/ADMIN_GUIDE_RU.md`
|
||||||
- `docs/OPERATOR_GUIDE_RU.md`
|
- `docs/OPERATOR_GUIDE_RU.md`
|
||||||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||||
|
|||||||
@@ -134,5 +134,5 @@ AWatch-rus помогает контролировать и расследова
|
|||||||
|
|
||||||
- `docs/ADMIN_GUIDE_RU.md`
|
- `docs/ADMIN_GUIDE_RU.md`
|
||||||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
- `docs/THREAT_MODEL_RU.md`
|
||||||
- `docs/dlp-security-functional-spec-ru.md`
|
- `docs/dlp-security-functional-spec-ru.md`
|
||||||
|
|||||||
@@ -114,4 +114,4 @@ AWatch-rus
|
|||||||
|
|
||||||
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
||||||
- `docs/REGISTRY_CHECKLIST_RU.md`
|
- `docs/REGISTRY_CHECKLIST_RU.md`
|
||||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||||
|
|||||||
@@ -38,8 +38,8 @@
|
|||||||
|
|
||||||
## 4. Документация
|
## 4. Документация
|
||||||
|
|
||||||
- [x] Модель угроз: `docs/DETMIR_THREAT_MODEL_RU.md`.
|
- [x] Модель угроз: `docs/THREAT_MODEL_RU.md`.
|
||||||
- [x] Позиционирование: `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
- [x] Позиционирование: `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||||
- [x] Руководство администратора: `docs/ADMIN_GUIDE_RU.md`.
|
- [x] Руководство администратора: `docs/ADMIN_GUIDE_RU.md`.
|
||||||
- [x] Руководство оператора: `docs/OPERATOR_GUIDE_RU.md`.
|
- [x] Руководство оператора: `docs/OPERATOR_GUIDE_RU.md`.
|
||||||
- [x] Установка: `docs/INSTALL_RU.md`.
|
- [x] Установка: `docs/INSTALL_RU.md`.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Дата фиксации: `2026-06-03`.
|
Дата фиксации: `2026-06-03`.
|
||||||
|
|
||||||
Документ фиксирует audit-facing решение по классу подачи AWatch-rus.
|
Документ фиксирует audit-facing решение по классу подачи AWatch-rus.
|
||||||
Он дополняет `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
Он дополняет `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||||
|
|
||||||
## 1. Рекомендованный класс
|
## 1. Рекомендованный класс
|
||||||
|
|
||||||
|
|||||||
@@ -50,8 +50,8 @@ git grep -n -E 'SHARKON2025|10\.10\.10|dm\.iri|/home/igor|/root' -- \
|
|||||||
```text
|
```text
|
||||||
adk-rust/crates/verify-innosetup-installer/src/main.rs:260: let root = std::path::Path::new("/tmp/root");
|
adk-rust/crates/verify-innosetup-installer/src/main.rs:260: let root = std::path::Path::new("/tmp/root");
|
||||||
docs/ARCHITECTURE_RU.md:116:- canonical path/root allowlist;
|
docs/ARCHITECTURE_RU.md:116:- canonical path/root allowlist;
|
||||||
docs/DETMIR_THREAT_MODEL_RU.md:168:- canonical path/root allowlist;
|
docs/THREAT_MODEL_RU.md:168:- canonical path/root allowlist;
|
||||||
docs/DETMIR_THREAT_MODEL_RU.md:223:| T05 | Прямая выдача файлов по path traversal | Canonical path/root allowlist, no raw path route. |
|
docs/THREAT_MODEL_RU.md:223:| T05 | Прямая выдача файлов по path traversal | Canonical path/root allowlist, no raw path route. |
|
||||||
proxmox/tsj_guardian_bot.py:960: base_pat += r"|lxc-usernsexec.*(/var/lib/lxc/" + guest_pat + r"/rootfs|/run/lxc/)"
|
proxmox/tsj_guardian_bot.py:960: base_pat += r"|lxc-usernsexec.*(/var/lib/lxc/" + guest_pat + r"/rootfs|/run/lxc/)"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,179 @@
|
|||||||
|
# Risk Narrative
|
||||||
|
|
||||||
|
Risk Narrative в AWatch-rus - это управленческое объяснение текущего риска на
|
||||||
|
основе уже существующих сигналов продукта. Слой отвечает на четыре вопроса:
|
||||||
|
|
||||||
|
- что происходит;
|
||||||
|
- насколько это рискованно;
|
||||||
|
- почему система так считает;
|
||||||
|
- что делать дальше.
|
||||||
|
|
||||||
|
Risk Narrative не является ML-прогнозом, LLM-выводом, SIEM, DLP или
|
||||||
|
автоматическим подтверждением нарушения. Это rule-based decision-support слой
|
||||||
|
для Pilot v1.
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
Endpoint:
|
||||||
|
|
||||||
|
```http
|
||||||
|
GET /api/risk/narrative
|
||||||
|
```
|
||||||
|
|
||||||
|
Поддерживаемые параметры зависят от текущего контракта портала:
|
||||||
|
|
||||||
|
- `date`;
|
||||||
|
- `department`;
|
||||||
|
- `role`;
|
||||||
|
- `module`.
|
||||||
|
|
||||||
|
Employee-level детализация не добавляется, пока нет отдельной безопасной модели
|
||||||
|
доступа и приемочного контракта.
|
||||||
|
|
||||||
|
## Модель ответа
|
||||||
|
|
||||||
|
Ответ содержит:
|
||||||
|
|
||||||
|
- `risk_level` - уровень риска: `low`, `guarded`, `medium`, `high`,
|
||||||
|
`critical`;
|
||||||
|
- `risk_score` - числовая оценка 0-100;
|
||||||
|
- `title` - короткий управленческий заголовок;
|
||||||
|
- `summary` - объяснение ситуации простым языком;
|
||||||
|
- `why` - причины расчета;
|
||||||
|
- `evidence` - подтверждающие сигналы;
|
||||||
|
- `recommended_actions` - ручные действия для ответственных ролей;
|
||||||
|
- `limitations` - ограничения интерпретации.
|
||||||
|
|
||||||
|
Пример:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"risk_level": "medium",
|
||||||
|
"risk_score": 62,
|
||||||
|
"title": "Умеренный рост операционного риска",
|
||||||
|
"summary": "Активность подразделения снизилась при росте удаленных сессий и частичных пробелах покрытия.",
|
||||||
|
"why": [
|
||||||
|
"Индекс активности ниже среднего по подразделениям",
|
||||||
|
"UEBA score повышен",
|
||||||
|
"Покрытие агентов ниже целевого уровня"
|
||||||
|
],
|
||||||
|
"evidence": [
|
||||||
|
{
|
||||||
|
"source": "workforce_kpi",
|
||||||
|
"label": "Индекс активности",
|
||||||
|
"value": "74%",
|
||||||
|
"severity": "medium"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"recommended_actions": [
|
||||||
|
"Проверить подразделения с низким покрытием данных",
|
||||||
|
"Передать security-события в контур ИБ для анализа"
|
||||||
|
],
|
||||||
|
"limitations": [
|
||||||
|
"pfSense находится в contract_only режиме",
|
||||||
|
"Risk Narrative не является ML-прогнозом"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Rule-Based Scoring
|
||||||
|
|
||||||
|
Модель детерминированная. Она использует только текущие агрегированные сигналы
|
||||||
|
и не обучается на данных заказчика.
|
||||||
|
|
||||||
|
Уровни:
|
||||||
|
|
||||||
|
| Диапазон | Уровень | Интерпретация |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `0-24` | `low` | Существенных отклонений нет |
|
||||||
|
| `25-49` | `guarded` | Есть ранние признаки риска |
|
||||||
|
| `50-74` | `medium` | Нужна ручная проверка причин |
|
||||||
|
| `75-89` | `high` | Требуется приоритетная проверка |
|
||||||
|
| `90-100` | `critical` | Нужна срочная ручная проверка |
|
||||||
|
|
||||||
|
Сигналы:
|
||||||
|
|
||||||
|
- сниженный Workforce KPI;
|
||||||
|
- низкое доверие к KPI;
|
||||||
|
- низкое покрытие агентами;
|
||||||
|
- повышенный UEBA severity;
|
||||||
|
- наличие кандидатов на проверку;
|
||||||
|
- высокая связь security-событий и активности;
|
||||||
|
- пропуски данных;
|
||||||
|
- активность вне рабочего времени;
|
||||||
|
- рост удаленных сессий;
|
||||||
|
- `contract_only` ограничение pfSense.
|
||||||
|
|
||||||
|
## Evidence
|
||||||
|
|
||||||
|
`evidence` нужен, чтобы руководитель, ИБ и эксплуатация видели не только итоговый
|
||||||
|
уровень риска, но и источники вывода.
|
||||||
|
|
||||||
|
Типовые источники:
|
||||||
|
|
||||||
|
- `workforce_kpi`;
|
||||||
|
- `kpi_explainability`;
|
||||||
|
- `ueba`;
|
||||||
|
- `coverage`;
|
||||||
|
- `risk_heatmap`;
|
||||||
|
- `security_correlation`;
|
||||||
|
- `incident_candidates`;
|
||||||
|
- `pfsense_contract`.
|
||||||
|
|
||||||
|
Evidence не должен содержать реальные ФИО, логины, IP-адреса, hostname или
|
||||||
|
сырые события безопасности в demo-режиме.
|
||||||
|
|
||||||
|
## Роли
|
||||||
|
|
||||||
|
| Роль | Видимость |
|
||||||
|
| --- | --- |
|
||||||
|
| `executive` | Управленческий риск, причины, действия без технической детализации |
|
||||||
|
| `manager` | Workforce-риск и действия по подразделению |
|
||||||
|
| `security` | ИБ-релевантные причины, кандидаты и correlation indicators |
|
||||||
|
| `forensics` | Контекст расследования и evidence package |
|
||||||
|
| `admin` | Состояние источников, покрытие и технические ограничения |
|
||||||
|
|
||||||
|
Серверные role gates остаются обязательными. Скрытие блоков в HTML не считается
|
||||||
|
достаточной защитой.
|
||||||
|
|
||||||
|
## UI и Markdown
|
||||||
|
|
||||||
|
В Executive view портал показывает блок:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Риск-нарратив
|
||||||
|
```
|
||||||
|
|
||||||
|
В Markdown-отчете используется раздел:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Риск-нарратив
|
||||||
|
```
|
||||||
|
|
||||||
|
Раздел должен быть понятен руководителю без знаний ИБ: сначала вывод, затем
|
||||||
|
причины, затем действия и ограничения.
|
||||||
|
|
||||||
|
## Как показывать заказчику
|
||||||
|
|
||||||
|
Рекомендуемый порядок для demo:
|
||||||
|
|
||||||
|
1. Открыть Executive view.
|
||||||
|
2. Показать `Риск-нарратив`: уровень, score и краткое summary.
|
||||||
|
3. Показать `Почему`: какие факторы подняли риск.
|
||||||
|
4. Показать `Evidence`: какие сигналы подтверждают вывод.
|
||||||
|
5. Показать `Рекомендуемые действия`.
|
||||||
|
6. Перейти в Security или Forensics только после управленческого вывода.
|
||||||
|
|
||||||
|
Важно: не заявлять, что Risk Narrative сам подтверждает нарушение. Он
|
||||||
|
приоритизирует ручную проверку.
|
||||||
|
|
||||||
|
## Ограничения Pilot v1
|
||||||
|
|
||||||
|
- Нет ML, LLM и predictive analytics.
|
||||||
|
- Нет auto-remediation.
|
||||||
|
- Нет полноценного SIEM/DLP claim.
|
||||||
|
- pfSense readiness является `contract_only`, если ingestion отдельно не
|
||||||
|
включен и не прошел приемку.
|
||||||
|
- Качество вывода зависит от свежести источников, покрытия агентов и полноты
|
||||||
|
данных.
|
||||||
|
- В demo-режиме используются только обезличенные данные.
|
||||||
@@ -21,16 +21,16 @@ baseline, demo pack, registry readiness package, enterprise deployment package
|
|||||||
генерируемый отчет теперь начинается с `# AWatch-rus оперативный отчет`, а
|
генерируемый отчет теперь начинается с `# AWatch-rus оперативный отчет`, а
|
||||||
headline, KPI label и CLI help используют публичное название AWatch-rus.
|
headline, KPI label и CLI help используют публичное название AWatch-rus.
|
||||||
|
|
||||||
Главные остаточные gaps:
|
Закрытые housekeeping gaps Demo Freeze v1:
|
||||||
|
|
||||||
|
- TASK_001-TASK_004 получили явные секции `Выполнение` с артефактами,
|
||||||
|
проверками и ограничениями.
|
||||||
|
- Для Risk Narrative создан отдельный документ `docs/RISK_NARRATIVE_RU.md`.
|
||||||
|
- Добавлен browser-level conformance smoke с Playwright и screenshots runtime
|
||||||
|
artifacts.
|
||||||
|
|
||||||
|
Оставшиеся acceptance gaps:
|
||||||
|
|
||||||
- TASK_001-TASK_004 не имеют явной секции `Выполнение`, хотя артефакты по ним
|
|
||||||
в коде и документации присутствуют.
|
|
||||||
- Для Risk Narrative нет отдельного `docs/RISK_NARRATIVE_RU.md`; функциональность
|
|
||||||
подтверждена кодом, OpenAPI, TypeScript, UI и Markdown, но документация
|
|
||||||
распределена по связанным материалам.
|
|
||||||
- Portal verification в TASK_011 выполнен через код, статические UI-маркеры и
|
|
||||||
production smoke; отдельный полноценный Playwright visual run не входил в
|
|
||||||
обязательный список команд TASK_011.
|
|
||||||
- Полная production-приемка требует live validation на стенде заказчика:
|
- Полная production-приемка требует live validation на стенде заказчика:
|
||||||
доступность, TLS/reverse proxy, источники данных, backup/restore и ownership
|
доступность, TLS/reverse proxy, источники данных, backup/restore и ownership
|
||||||
действий.
|
действий.
|
||||||
|
|||||||
+3
-3
@@ -194,9 +194,9 @@ Grafana/portal-аналитику, Telegram-оповещения, runbook automa
|
|||||||
|
|
||||||
Уже есть сильная база:
|
Уже есть сильная база:
|
||||||
|
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md`;
|
- `docs/THREAT_MODEL_RU.md`;
|
||||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`;
|
- `docs/UNIFIED_OPERATING_MODEL_RU.md`;
|
||||||
- `docs/DETMIR_PORTAL_GUI_PLAN_RU.md`;
|
- `docs/PORTAL_GUI_PLAN_RU.md`;
|
||||||
- `docs/dlp-security-functional-spec-ru.md`;
|
- `docs/dlp-security-functional-spec-ru.md`;
|
||||||
- `docs/dlp-gap-analysis.md`;
|
- `docs/dlp-gap-analysis.md`;
|
||||||
- `docs/GRAFANA_DASHBOARDS_RU.md`;
|
- `docs/GRAFANA_DASHBOARDS_RU.md`;
|
||||||
@@ -314,7 +314,7 @@
|
|||||||
|
|
||||||
## 12. Связанные документы
|
## 12. Связанные документы
|
||||||
|
|
||||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||||
- `docs/ADMIN_GUIDE_RU.md`
|
- `docs/ADMIN_GUIDE_RU.md`
|
||||||
- `docs/OPERATOR_GUIDE_RU.md`
|
- `docs/OPERATOR_GUIDE_RU.md`
|
||||||
- `docs/INSTALL_RU.md`
|
- `docs/INSTALL_RU.md`
|
||||||
@@ -322,8 +322,8 @@
|
|||||||
- `docs/OWNERSHIP_RU.md`
|
- `docs/OWNERSHIP_RU.md`
|
||||||
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
||||||
- `docs/REGISTRY_CHECKLIST_RU.md`
|
- `docs/REGISTRY_CHECKLIST_RU.md`
|
||||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`
|
- `docs/UNIFIED_OPERATING_MODEL_RU.md`
|
||||||
- `docs/DETMIR_PORTAL_GUI_PLAN_RU.md`
|
- `docs/PORTAL_GUI_PLAN_RU.md`
|
||||||
- `docs/dlp-security-functional-spec-ru.md`
|
- `docs/dlp-security-functional-spec-ru.md`
|
||||||
- `docs/dlp-gap-analysis.md`
|
- `docs/dlp-gap-analysis.md`
|
||||||
- `docs/dlp-production-plan-windows-10-19.md`
|
- `docs/dlp-production-plan-windows-10-19.md`
|
||||||
@@ -8,12 +8,12 @@
|
|||||||
|
|
||||||
Если старые документы расходятся с этим файлом по адресам или runtime-ролям, для текущей эксплуатации приоритет у этого файла.
|
Если старые документы расходятся с этим файлом по адресам или runtime-ролям, для текущей эксплуатации приоритет у этого файла.
|
||||||
|
|
||||||
Связанная security-основа: `docs/DETMIR_THREAT_MODEL_RU.md` фиксирует текущую
|
Связанная security-основа: `docs/THREAT_MODEL_RU.md` фиксирует текущую
|
||||||
операционную модель угроз. Это рабочая модель для платформы операционного
|
операционную модель угроз. Это рабочая модель для платформы операционного
|
||||||
контроля и технического аудита, а не формальная сертификационная модель ФСТЭК.
|
контроля и технического аудита, а не формальная сертификационная модель ФСТЭК.
|
||||||
|
|
||||||
Связанное продуктовое позиционирование:
|
Связанное продуктовое позиционирование:
|
||||||
`docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` фиксирует безопасный
|
`docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` фиксирует безопасный
|
||||||
заход для реестра российского ПО: AWatch-rus как платформа операционного контроля и
|
заход для реестра российского ПО: AWatch-rus как платформа операционного контроля и
|
||||||
управления ИТ-инфраструктурой, с ориентиром на класс `09.10`, без заявления
|
управления ИТ-инфраструктурой, с ориентиром на класс `09.10`, без заявления
|
||||||
сертифицированной DLP/SIEM/EDR/XDR/СЗИ.
|
сертифицированной DLP/SIEM/EDR/XDR/СЗИ.
|
||||||
@@ -422,8 +422,8 @@ Telegram bot `DetMirAuto` обязан покрывать:
|
|||||||
| `SECURITY.md` | security findings по risky фазам |
|
| `SECURITY.md` | security findings по risky фазам |
|
||||||
| `UAT.md` | операторская приемка |
|
| `UAT.md` | операторская приемка |
|
||||||
| `docs/runbook.md` | живая эксплуатация |
|
| `docs/runbook.md` | живая эксплуатация |
|
||||||
| `docs/DETMIR_THREAT_MODEL_RU.md` | рабочая модель угроз и границы security-позиционирования |
|
| `docs/THREAT_MODEL_RU.md` | рабочая модель угроз и границы security-позиционирования |
|
||||||
| `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` | стратегия позиционирования для реестра российского ПО |
|
| `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` | стратегия позиционирования для реестра российского ПО |
|
||||||
| `docs/ADMIN_GUIDE_RU.md` | руководство администратора |
|
| `docs/ADMIN_GUIDE_RU.md` | руководство администратора |
|
||||||
| `docs/OPERATOR_GUIDE_RU.md` | руководство оператора |
|
| `docs/OPERATOR_GUIDE_RU.md` | руководство оператора |
|
||||||
| `docs/INSTALL_RU.md` | установка и первичная проверка |
|
| `docs/INSTALL_RU.md` | установка и первичная проверка |
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
Система не является полноценной DLP-платформой enterprise-класса с нативной аутентификацией, RBAC, аппаратной изоляцией и криптографической подписью политик. Это важно учитывать при ИБ-оценке.
|
Система не является полноценной DLP-платформой enterprise-класса с нативной аутентификацией, RBAC, аппаратной изоляцией и криптографической подписью политик. Это важно учитывать при ИБ-оценке.
|
||||||
|
|
||||||
Текущая модель угроз для всего контура AWatch-rus зафиксирована отдельно:
|
Текущая модель угроз для всего контура AWatch-rus зафиксирована отдельно:
|
||||||
`docs/DETMIR_THREAT_MODEL_RU.md`. В ней DLP-функции рассматриваются как часть
|
`docs/THREAT_MODEL_RU.md`. В ней DLP-функции рассматриваются как часть
|
||||||
платформы операционного контроля и технического аудита, а не как заявление о
|
платформы операционного контроля и технического аудита, а не как заявление о
|
||||||
сертифицированной DLP/СЗИ.
|
сертифицированной DLP/СЗИ.
|
||||||
|
|
||||||
@@ -604,7 +604,7 @@ python3 scripts/dlp-admin-cli.py cases list --limit 50
|
|||||||
|
|
||||||
## 21. Связанные документы
|
## 21. Связанные документы
|
||||||
|
|
||||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
- `docs/THREAT_MODEL_RU.md`
|
||||||
- `docs/dlp-policy-engine.md`
|
- `docs/dlp-policy-engine.md`
|
||||||
- `docs/dlp-integrations.md`
|
- `docs/dlp-integrations.md`
|
||||||
- `docs/dlp-enforcement.md`
|
- `docs/dlp-enforcement.md`
|
||||||
|
|||||||
@@ -22,3 +22,44 @@ AWatch-rus.
|
|||||||
|
|
||||||
Pilot v1 можно показывать заказчику с понятным списком готовых возможностей,
|
Pilot v1 можно показывать заказчику с понятным списком готовых возможностей,
|
||||||
ограничений и smoke-проверок.
|
ограничений и smoke-проверок.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Выполнение
|
||||||
|
|
||||||
|
Статус: выполнено как часть Pilot v1 freeze.
|
||||||
|
|
||||||
|
Что закреплено:
|
||||||
|
|
||||||
|
- роли `executive`, `manager`, `security`, `forensics`, `admin`;
|
||||||
|
- серверные role gates для Pilot v1 API;
|
||||||
|
- Executive, Workforce, Security и Forensics portal views;
|
||||||
|
- Pilot v1 acceptance/evidence документация;
|
||||||
|
- demo/runbook слой для контролируемого показа;
|
||||||
|
- browser-level conformance smoke для ключевых представлений.
|
||||||
|
|
||||||
|
Ключевые артефакты:
|
||||||
|
|
||||||
|
- `docs/PILOT_V1_RU.md`;
|
||||||
|
- `docs/PILOT_V1_ACCEPTANCE_CHECKLIST_RU.md`;
|
||||||
|
- `docs/PILOT_V1_EVIDENCE_RU.md`;
|
||||||
|
- `docs/PILOT_VALIDATION_CHECKLIST_RU.md`;
|
||||||
|
- `docs/DEMO_RUNBOOK_RU.md`;
|
||||||
|
- `docs/BROWSER_CONFORMANCE_RU.md`;
|
||||||
|
- `scripts/detmir-portal-tabs-smoke.mjs`;
|
||||||
|
- `scripts/browser-conformance-smoke.mjs`;
|
||||||
|
- `scripts/pilot-validation-smoke.mjs`.
|
||||||
|
|
||||||
|
Проверки:
|
||||||
|
|
||||||
|
- `node scripts/pilot-validation-smoke.mjs`;
|
||||||
|
- `node scripts/detmir-portal-tabs-smoke.mjs` на локальном портале;
|
||||||
|
- `node scripts/browser-conformance-smoke.mjs` на локальном портале;
|
||||||
|
- `git diff --check`.
|
||||||
|
|
||||||
|
Известные ограничения:
|
||||||
|
|
||||||
|
- production acceptance требует отдельной live-проверки на стенде заказчика;
|
||||||
|
- screenshots из `artifacts/browser-smoke/` являются runtime artifacts и не
|
||||||
|
коммитятся;
|
||||||
|
- новые collectors и новая функциональность в freeze-фазе не добавляются.
|
||||||
|
|||||||
@@ -381,3 +381,72 @@ Smoke должен проверять:
|
|||||||
7. Результаты команд проверки.
|
7. Результаты команд проверки.
|
||||||
8. Результат smoke.
|
8. Результат smoke.
|
||||||
9. Известные ограничения
|
9. Известные ограничения
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Выполнение
|
||||||
|
|
||||||
|
Статус: выполнено для Pilot v1 production-hardening слоя портала.
|
||||||
|
|
||||||
|
Краткое описание:
|
||||||
|
|
||||||
|
- добавлены production endpoints `/healthz`, `/readyz`, `/version`, `/metrics`;
|
||||||
|
- добавлены request id / correlation id headers;
|
||||||
|
- добавлены structured JSON HTTP logs;
|
||||||
|
- добавлены bounded query/body limits для тяжелых API;
|
||||||
|
- добавлена валидация production-конфигурации;
|
||||||
|
- role gates сохранены и проверяются smoke;
|
||||||
|
- pfSense остается `contract_only`, без заявления ingestion/SIEM.
|
||||||
|
|
||||||
|
Ключевые файлы:
|
||||||
|
|
||||||
|
- `adk-rust/crates/detmir-portal/src/production/`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/main.rs`;
|
||||||
|
- `docs/PRODUCTION_READINESS_RU.md`;
|
||||||
|
- `scripts/awatch-production-hardening-smoke.mjs`.
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
- `GET /healthz`;
|
||||||
|
- `GET /readyz`;
|
||||||
|
- `GET /version`;
|
||||||
|
- `GET /metrics`;
|
||||||
|
- защищенные Pilot v1 API: `/api/reports`, `/api/executive`,
|
||||||
|
`/api/workforce`, `/api/security`, `/api/forensics`, `/api/ueba`,
|
||||||
|
`/api/pfsense`, `/api/workforce/kpi/explain`.
|
||||||
|
|
||||||
|
Лимиты и защита:
|
||||||
|
|
||||||
|
- max request body size;
|
||||||
|
- max/default page size;
|
||||||
|
- max report date range;
|
||||||
|
- request timeout и slow request logging threshold;
|
||||||
|
- отказ `400` для слишком большого `page_size` или диапазона отчета;
|
||||||
|
- отказ `413` для слишком большого body;
|
||||||
|
- отказ `403` по role gate.
|
||||||
|
|
||||||
|
Метрики:
|
||||||
|
|
||||||
|
- `awatch_http_requests_total`;
|
||||||
|
- `awatch_http_request_duration_seconds`;
|
||||||
|
- `awatch_reports_generated_total`;
|
||||||
|
- `awatch_ingestion_records_total`;
|
||||||
|
- `awatch_ingestion_rejected_total`;
|
||||||
|
- `awatch_role_denied_total`;
|
||||||
|
- `awatch_readyz_status`.
|
||||||
|
|
||||||
|
Проверки:
|
||||||
|
|
||||||
|
- `cargo fmt --all --check`;
|
||||||
|
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||||
|
- `cargo test --all`;
|
||||||
|
- `cargo build --release`;
|
||||||
|
- `AWATCH_PORTAL_SMOKE_URL=http://127.0.0.1:8720 node scripts/awatch-production-hardening-smoke.mjs`;
|
||||||
|
- `git diff --check`.
|
||||||
|
|
||||||
|
Известные ограничения:
|
||||||
|
|
||||||
|
- production-hardening smoke не заменяет live acceptance;
|
||||||
|
- `/readyz` отражает только реально настроенные зависимости;
|
||||||
|
- contract-only интеграции не считаются работающими сборщиками;
|
||||||
|
- freeze-фаза допускает только исправление дефектов и уточнение документации.
|
||||||
|
|||||||
@@ -309,4 +309,72 @@ docs/EXPLAINABLE_KPI_RU.md
|
|||||||
5. Добавленные UI-блоки.
|
5. Добавленные UI-блоки.
|
||||||
6. Добавленные тесты.
|
6. Добавленные тесты.
|
||||||
7. Результаты проверок.
|
7. Результаты проверок.
|
||||||
8. Известные ограничения.
|
8. Известные ограничения.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Выполнение
|
||||||
|
|
||||||
|
Статус: выполнено для Pilot v1.
|
||||||
|
|
||||||
|
Краткое описание:
|
||||||
|
|
||||||
|
- добавлен explainability-контракт Workforce KPI;
|
||||||
|
- добавлен endpoint `GET /api/workforce/kpi/explain`;
|
||||||
|
- добавлена детерминированная rule-based модель факторов;
|
||||||
|
- добавлен confidence level `high` / `medium` / `low`;
|
||||||
|
- UI показывает блок `Почему такой индекс активности?`;
|
||||||
|
- Markdown-отчет содержит explainability-раздел;
|
||||||
|
- OpenAPI и TypeScript contracts включают explain model;
|
||||||
|
- employee-level детализация не добавлена без отдельного безопасного контракта.
|
||||||
|
|
||||||
|
Ключевые файлы:
|
||||||
|
|
||||||
|
- `adk-rust/crates/detmir-portal/src/workforce_kpi_explain.rs`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/static/app.js`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
|
||||||
|
- `docs/EXPLAINABLE_KPI_RU.md`.
|
||||||
|
|
||||||
|
API endpoint:
|
||||||
|
|
||||||
|
- `GET /api/workforce/kpi/explain`.
|
||||||
|
|
||||||
|
Модель explainability:
|
||||||
|
|
||||||
|
- `kpi_score`;
|
||||||
|
- `confidence`;
|
||||||
|
- `coverage`;
|
||||||
|
- `factors`;
|
||||||
|
- `top_applications`;
|
||||||
|
- `warnings`;
|
||||||
|
- `recommendations`.
|
||||||
|
|
||||||
|
Минимальные факторы:
|
||||||
|
|
||||||
|
- `productive_activity`;
|
||||||
|
- `business_app_usage`;
|
||||||
|
- `idle_time`;
|
||||||
|
- `afterhours_activity`;
|
||||||
|
- `remote_session_activity`;
|
||||||
|
- `data_coverage`;
|
||||||
|
- `missing_data`;
|
||||||
|
- `trend_change`.
|
||||||
|
|
||||||
|
Проверки:
|
||||||
|
|
||||||
|
- unit tests для explainability-модели и confidence;
|
||||||
|
- role-filtering smoke;
|
||||||
|
- markdown/report smoke;
|
||||||
|
- `cargo fmt --all --check`;
|
||||||
|
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||||
|
- `cargo test --all`;
|
||||||
|
- `cargo build --release`;
|
||||||
|
- portal smoke.
|
||||||
|
|
||||||
|
Известные ограничения:
|
||||||
|
|
||||||
|
- не используется ML, LLM или predictive scoring;
|
||||||
|
- KPI не является HR-дисциплинарной оценкой;
|
||||||
|
- персональная explainability-модель в Pilot v1 не включена;
|
||||||
|
- качество объяснения зависит от свежести и полноты источников.
|
||||||
|
|||||||
@@ -278,4 +278,82 @@ docs/RISK_NARRATIVE_RU.md
|
|||||||
6. Обновления report/OpenAPI/TypeScript.
|
6. Обновления report/OpenAPI/TypeScript.
|
||||||
7. Добавленные тесты.
|
7. Добавленные тесты.
|
||||||
8. Результаты fmt/clippy/test/build/smoke.
|
8. Результаты fmt/clippy/test/build/smoke.
|
||||||
9. Известные ограничения.
|
9. Известные ограничения.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Выполнение
|
||||||
|
|
||||||
|
Статус: выполнено для Pilot v1.
|
||||||
|
|
||||||
|
Краткое описание:
|
||||||
|
|
||||||
|
- добавлен rule-based Risk Narrative layer;
|
||||||
|
- добавлен endpoint `GET /api/risk/narrative`;
|
||||||
|
- risk score связывает Workforce KPI, Explainable KPI, UEBA, coverage,
|
||||||
|
security correlation, incident candidates и pfSense `contract_only`
|
||||||
|
limitation;
|
||||||
|
- Executive UI показывает блок `Риск-нарратив`;
|
||||||
|
- Security UI проверяет ИБ-релевантную связь рисков и активности;
|
||||||
|
- Markdown-отчет содержит раздел `## Риск-нарратив`;
|
||||||
|
- OpenAPI и TypeScript contracts обновлены;
|
||||||
|
- создана отдельная документация `docs/RISK_NARRATIVE_RU.md`.
|
||||||
|
|
||||||
|
Ключевые файлы:
|
||||||
|
|
||||||
|
- `adk-rust/crates/detmir-portal/src/risk_narrative.rs`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/static/app.js`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
|
||||||
|
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
|
||||||
|
- `docs/RISK_NARRATIVE_RU.md`;
|
||||||
|
- `scripts/browser-conformance-smoke.mjs`;
|
||||||
|
- `scripts/detmir-portal-tabs-smoke.mjs`.
|
||||||
|
|
||||||
|
Risk scoring rules:
|
||||||
|
|
||||||
|
- `0-24` - `low`;
|
||||||
|
- `25-49` - `guarded`;
|
||||||
|
- `50-74` - `medium`;
|
||||||
|
- `75-89` - `high`;
|
||||||
|
- `90-100` - `critical`.
|
||||||
|
|
||||||
|
Сигналы:
|
||||||
|
|
||||||
|
- low Workforce KPI;
|
||||||
|
- low KPI confidence;
|
||||||
|
- low agent coverage;
|
||||||
|
- increased UEBA severity;
|
||||||
|
- incident candidates count;
|
||||||
|
- high security correlation;
|
||||||
|
- missing data;
|
||||||
|
- afterhours/remote activity;
|
||||||
|
- pfSense `contract_only` limitation.
|
||||||
|
|
||||||
|
UI-блоки:
|
||||||
|
|
||||||
|
- Executive: `Риск-нарратив`, `Почему`, `Подтверждения`, `Дальше`,
|
||||||
|
`Ограничения`;
|
||||||
|
- Security: `Связь рисков и активности`, `Требует проверки`,
|
||||||
|
`Рекомендуемые действия ИБ`;
|
||||||
|
- Forensics: расследования, timeline, материалы расследования и аудит.
|
||||||
|
|
||||||
|
Проверки:
|
||||||
|
|
||||||
|
- unit tests для risk narrative scenarios;
|
||||||
|
- OpenAPI/TypeScript contract smoke;
|
||||||
|
- `node scripts/browser-conformance-smoke.mjs`;
|
||||||
|
- `node scripts/detmir-portal-tabs-smoke.mjs`;
|
||||||
|
- `cargo fmt --all --check`;
|
||||||
|
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||||
|
- `cargo test --all`;
|
||||||
|
- `cargo build --release`;
|
||||||
|
- `git diff --check`.
|
||||||
|
|
||||||
|
Известные ограничения:
|
||||||
|
|
||||||
|
- Risk Narrative не является ML/LLM/predictive analytics;
|
||||||
|
- Risk Narrative не подтверждает нарушение без ручной проверки;
|
||||||
|
- нет auto-remediation;
|
||||||
|
- pfSense не заявляется как ingestion/SIEM, пока это не пройдет отдельную
|
||||||
|
приемку;
|
||||||
|
- live customer-stand validation остается отдельным шагом Demo Freeze v1.
|
||||||
|
|||||||
+1
-1
@@ -539,7 +539,7 @@ detmir-win-shell
|
|||||||
|
|
||||||
Канонический документ:
|
Канонический документ:
|
||||||
|
|
||||||
- `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md`
|
- `docs/POWERSHELL_MCP_REMOTE_RU.md`
|
||||||
|
|
||||||
Правило:
|
Правило:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Ты — виртуальный помощник технической поддержки DetMir.
|
Ты — виртуальный помощник технической поддержки AWatch-rus.
|
||||||
|
|
||||||
Цель:
|
Цель:
|
||||||
- Быстро и по делу помогать пользователю решать технические вопросы по инфраструктуре, доступам, рабочим сервисам и мониторингу.
|
- Быстро и по делу помогать пользователю решать технические вопросы по инфраструктуре, доступам, рабочим сервисам и мониторингу.
|
||||||
|
|||||||
Reference in New Issue
Block a user