4.7 KiB
4.7 KiB
DetMir: сторонние компоненты и лицензии
Статус: первичный inventory для подготовки к реестру российского ПО.
Этот документ не заменяет юридическую license audit. Перед подачей в реестр нужно выполнить автоматизированную проверку зависимостей и сохранить отчет.
Продуктовое имя: DetMir.
Техническая база и репозиторий: AWatch-rus.
1. Собственный код
Собственный код проекта включает:
- Rust workspace
adk-rust/; - Ansible playbooks;
- Windows PowerShell collectors и deployment scripts;
- AW-rus WebUI patches;
- DetMir Portal;
- DLP/worktime/status/reporting helpers;
- документацию проекта.
В adk-rust/Cargo.toml для workspace указан license:
Apache-2.0
Перед публичной поставкой нужно проверить, что license root файла и все исходники согласованы с выбранной моделью поставки.
2. Основные внешние компоненты runtime
| Компонент | Роль |
|---|---|
| ActivityWatch | Базовый сбор и API событий активности. |
| Grafana | Dashboards и визуализация. |
| InfluxDB | Метрики и временные ряды. |
| ClickHouse | 1C/file analytics слой. |
| SQLite | Локальные state/warehouse/cases/policy хранилища. |
| Python | Telegram runtime и legacy-compatible tooling. |
| Rust crates ecosystem | Основной runtime DetMir helpers. |
| PowerShell | Windows collectors/deployment. |
| Hayabusa | Offline/DFIR enrichment. |
| Ansible | Deployment automation. |
3. Rust зависимости
Найдены workspace dependencies:
| Dependency | Использование |
|---|---|
adk-rust |
Agent/tooling integration. |
anyhow |
Error handling. |
base64 |
Evidence upload body decoding. |
chrono |
Time/date handling. |
clap |
CLI parsing. |
fs2 |
File locks. |
reqwest |
HTTP client. |
regex |
Rules/content matching. |
rusqlite |
SQLite access. |
serde, serde_json, serde_yaml |
Serialization. |
sha2 |
SHA-256 validation. |
tempfile |
Tests/temp files. |
tiny_http |
Lightweight HTTP services. |
url, urlencoding |
URL handling. |
Перед релизом выполнить:
cargo install cargo-about cargo-deny
cd adk-rust
cargo about generate about.hbs > ../docs/licenses-rust.html
cargo deny check
Шаблон about.hbs нужно добавить отдельно.
4. Python зависимости
Найдены requirements:
| Файл | Зависимости |
|---|---|
aw-server/dlp-case-management/requirements.txt |
fastapi, uvicorn, pydantic |
aw-server/dlp-compliance/requirements.txt |
requests |
aw-server/dlp-content-analysis/requirements.txt |
pytesseract, Pillow |
aw-server/dlp-integrations/requirements.txt |
PyYAML |
aw-server/dlp-policy-engine/requirements.txt |
fastapi, uvicorn, pydantic |
clickhouse-1c/ai/requirements.txt |
fastapi, uvicorn, clickhouse-connect |
clickhouse-1c/etl/requirements.txt |
clickhouse-connect, PyYAML, python-dateutil, openpyxl |
Перед релизом выполнить license scan:
python3 -m pip install pip-licenses
pip-licenses --from=mixed --format=markdown > docs/licenses-python.md
Команду запускать в воспроизводимом virtualenv, где установлены реальные runtime dependencies.
5. Что нужно закрыть перед подачей
- Добавить root
LICENSE. - Добавить
NOTICE, если это потребуется выбранными лицензиями. - Сформировать полный SBOM.
- Проверить transitive dependencies.
- Зафиксировать список компонентов, которые поставляются вместе с продуктом.
- Отделить компоненты, которые устанавливаются пользователем самостоятельно.
- Проверить отсутствие GPL/AGPL-компонентов, если выбранная модель поставки с ними несовместима.
- Подготовить публичный
THIRD_PARTY_NOTICES.
6. Связанные документы
docs/OWNERSHIP_RU.mddocs/REGISTRY_CHECKLIST_RU.mddocs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md