Skip to content

igor04091968/AWatch-rus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

574 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWatch-rus

CI Security Coverage

AWatch-rus - программный комплекс операционного контроля, технического аудита, оценки трудоотдачи сотрудников и мониторинга корпоративной ИТ-инфраструктуры на базе ActivityWatch, Rust-сервисов автоматизации, Grafana/Prometheus-витрин и модулей расследования инцидентов.

Проект не позиционируется как сертифицированная DLP/SIEM/EDR/XDR/СЗИ, не заявляет ML/LLM UEBA и не подменяет штатные средства защиты, хотя DLP-сигналы, evidence и Hayabusa используются как аналитические и расследовательские слои.

Назначение

  • AWatch-rus Workforce: активность сотрудников, загрузка, RDP/1C/рабочие приложения и управленческие отчеты для владельца бизнеса.
  • AWatch-rus Security: DLP-сигналы, evidence, очередь кейсов и audit действий оператора без заявления продукта как сертифицированной СЗИ.
  • AWatch-rus Forensics: цепочки событий, Hayabusa/offline-разбор и материалы для внутреннего расследования.
  • Контроль доступности и свежести данных ActivityWatch.
  • Учет активного времени, Windows RDP-сессий окон, приложений и рабочих интервалов а также активности пользователей в Linux/Unix системах.
  • витрины Grafana для администратора, оператора ИБ и руководителя(dashboards).
  • Автоматизация runbook-проверок, health-check, SLO и безопасного auto-heal.
  • Сбор evidence по инцидентам и аудит действий оператора.

Rust-first runtime

Основной серверный runtime AWatch-rus переведен на Rust(ранее использовался инструментарий powershell):status/check/auto-heal, SLO, worktime, DLP server-side helpers, evidence и install-kit tooling.

Оставшиеся PowerShell runtime/fallback/installer/repair scripts сохраняются как документированный слой отката, установки и поддержки до отдельной задачи удаления с burn-in периодом, canary test, rollback plan и acceptance gate.

Python, присутствующий в коде репозитория, остается для вспомогательных направлений: Telegram bot runtime(для оперативного оповещения), OCR/content-analysis, 1C/AI/ETL integration и MCP/dev helpers. Эти части не являются ядром Rust-first runtime.

Портальный слой зафиксирован как Rust server-rendered HTML + HTMX-compatible JSON API, OpenAPI и TypeScript declarations. Dioxus не используется и не рассматривается для Pilot v1.0. React, Tauri и Electron также не входят в текущий основной UI, но возможна их интеграция в проект.

Product Evolution

AWatch-rus является рабочей платформой Workforce + Security + Forensics. Архитектура предусматривает расширение на агентные и agentless-источники данных. Planned/Future элементы ниже не являются реализованной функциональностью и не должны трактоваться как готовые collectors или integrations.

Implemented:

  • Rust Backend.
  • Rust Agent.
  • HTML/HTMX Portal.
  • Role-based Pilot v1 contracts.
  • Product architecture page /portal/architecture.
  • Workforce reports.
  • UEBA v1.
  • Forensics reporting.
  • pfSense contract/readiness layer со статусом contract_only.

Planned:

  • Provider detail expansion under /portal/architecture.
  • PowerShell Provider как planned/agentless direction, не как возврат новых runtime-функций на PowerShell.
  • SSH Provider.
  • Syslog Provider.
  • 1C Provider как формализация текущего file-based 1C analytics направления.
  • Russian OS support validation.

Future:

  • Extended Enterprise connectors.
  • SCUD/VPN integrations.
  • React/TypeScript Enterprise UI.
  • Tauri Desktop Forensics.

Pilot v1 demo

Pilot v1 demo показывает AWatch-rus как рабочую платформу Workforce Analytics + Security Analytics + Forensics для ролей executive, manager, security, forensics и admin.

Демо-материалы:

Pilot validation:

Границы показа:

  • pfSense показывается только как contract_only/readiness, без заявления production ingestion или SIEM;
  • pfSense в текущем пилоте допускается только как contract/readiness/optional integration layer;
  • UEBA Score v1 является прозрачной rule-based моделью, без ML/LLM;
  • demo fixtures не содержат реальных IP-адресов, hostname, логинов, ФИО, подразделений заказчика или событий безопасности;
  • planned/future providers не являются реализованными collectors.

Что видит оператор

  • Работал ли пользователь за компьютером или в удаленной сессии.
  • Когда была активность, простой и переключение окон.
  • Какие приложения, сайты и процессы чаще всего были в работе.
  • Есть ли события, важные для ИБ: копирование, печать, USB, подозрительные сайты.
  • Не пропали ли данные с рабочих компьютеров и RDP-сессий.

Кому это полезно в работе

  • Владельцу и руководителю - видеть активность, загрузку команды, простои, перегрузки и рабочие приложения.
  • ИБ - заметить DLP-сигналы и подозрительную активность, а при отсутствии специалистов по ИБ - дать оповещение бизнесу о проблемах с информационной безопасностью, для привлечения специалистов по ИБ.
  • Администратору - проверить, что сервер и все узлы информационных потоков работают стабильно, оценить состояние внутренней сети с точки зрения ИБ.

Интерфейс

Скриншоты ниже подготовлены на демонстрационных данных: без реальных IP-адресов, hostname, логинов, сотрудников, подразделений заказчика и событий безопасности.

Все демонстрационные скриншоты от 2026-06-06 лежат в docs/screenshots/: главный вывод, карта рисков, безопасность, эксплуатация, пакет расследования, итоговый отчет, архитектура продукта. Сводный список и правила публикации: docs/PORTAL_SCREENSHOTS_RU.md.

Главный вывод

Главный вывод AWatch-rus

Руководитель видит главный риск первым, затем сводку по достоверности показателей, полноте данных, кандидатам на проверку и рискам подразделений.

Карта рисков подразделений

Карта рисков подразделений

Карта рисков показывает, где одновременно проседают активность, покрытие агентов, доверие к показателям и количество ситуаций для проверки.

Представление безопасности

Представление безопасности

ИБ получает очередь кандидатов на проверку, связанные расследования и материалы без просмотра сырых логов и без автоматического принятия решений.

Представление эксплуатации

Представление эксплуатации

Эксплуатация видит полноту данных, качество агентского сбора, ошибки сбора и понятный статус событий безопасности через ClickHouse.

Пакет расследования

Пакет расследования

Пакет расследования связывает материалы, историю проверки и итоговый вывод, который ответственный сотрудник может подтвердить вручную.

Итоговый отчет

Итоговый отчет

Markdown-отчет собирает главный вывод, риски подразделений, материалы расследований и рекомендации в формате, удобном для передачи руководителю.

Архитектура продукта

Архитектура продукта

Страница /portal/architecture показывает текущие компоненты, planned extensions и future-направления без создания новых API или фиктивных collectors.

Если дашборд пустой

Обычно это значит одно из трех: выбран слишком узкий период времени, рабочий компьютер давно не присылал события или временно не обновилась витрина в Grafana. Начните с периода Last 24 hours, затем переходите к техническим разделам ниже.

Поставка и регистрация

Подготовка к реестру российского ПО

  • Основной российский Git-контур / Gitea-дубликат GitHub-репозитория: https://git.iri1968.dpdns.org/awatch-rus/AWatch-rus.
  • GitHub используется как публичное зеркало и public validation surface.
  • Gitea operator account: igor; пароль/токены не хранятся в репозитории.
  • Доказательная документация: docs/registry/.
  • Gitea Wiki используется только как навигация, не как единственный источник документов.
  • Российский build-runner и release evidence описаны в RU_BUILD_RUNNER_READINESS_RU.md.
  • Текущий status freeze проекта: docs/PROJECT_STATUS_RU.md.
  • Остаточные риски: docs/RESIDUAL_RISKS_RU.md.
  • План публичных GitHub issues: docs/PUBLIC_ISSUES_PLAN_RU.md.
  • GitHub remains public mirror only.

Public engineering transparency

Engineering governance and residual risks

Техническая документация

Для эксплуатации и настройки:

Для мониторинга:

Для сборщиков и интерфейса:


📊 ОЦЕНКА ЗРЕЛОСТИ И КАЧЕСТВА ПРОЕКТА (обновлено 22 июня 2026)

1️⃣ ОБЩИЕ МЕТРИКИ ПРОЕКТА

Метрика Значение Тренд Оценка
Возраст проекта 58 дней ✅ Active Молодой, но стабильный
Размер репо ~11 MB ✅ Compact Хорошо структурирован
Основной язык Rust ✅ Production Правильный выбор
Лицензия Apache 2.0 ✅ Open-friendly Коммерчески дружелюбно
Звезды 3 ⭐ ⚠️ Нишевой продукт Целевая аудитория
Форки 2 ⚠️ Низко Early-stage / pilot-stage OSS
Open Issues 1 ⚠️ Низкая публичная активность Issue templates уже есть
Последний коммит 22 июня 2026 СЕГОДНЯ АКТИВНО РАЗРАБАТЫВАЕТСЯ
Проектный статус main branch ✅ Единая стратегия Production-ready focus
Public CI passed ✅ Visible GitHub Actions mirror validation
Coverage workflow passed ✅ Visible Baseline workflow, threshold позже
Security workflow passed ✅ Visible cargo audit/deny + secret scan
Secret scan hardened + passed ✅ Conservative Fail-closed public scanner

2️⃣ АРХИТЕКТУРНАЯ ЗРЕЛОСТЬ: 9.2/10 🏗️

Rust-first Migration (ПОЛНОСТЬЮ ЗАВЕРШЕНА)

Миграция на Rust: 32+ фазы, ВСЕ ЗАВЕРШЕНЫ ✅

Phase 0-7: Foundation & Read-only          [DONE ✅]
Phase 8-17: State orchestration & Telegram [DONE ✅]
Phase 18-26: DLP & Hayabusa services       [DONE ✅]
Phase 27-32: AW health & maintenance       [DONE ✅]

Текущий статус: 30+ Rust crates в production
- detmir-auto ✅
- detmir-status ✅ 
- detmir-check ✅
- dlp-policy-engine ✅
- dlp-case-management ✅
- dlp-compliance ✅
- aw-db-maintenance ✅ (НОВОЕ: vacuum с integrity check!)
- aw-hayabusa-tools ✅

🆕 НОВОЕ: SQLite VACUUM & MAINTENANCE

adk-rust/crates/aw-db-maintenance:
- Trim mode: удаление старых allowlisted rows (по умолчанию dry-run)
- VACUUM mode: компактирование DB с PRAGMA integrity_check
- Lock-based concurrency protection
- Service stop/start guards
- Backup-before-delete policy
- Rollback из /var/lib/activitywatch/backups/db/aw-sqlite-before-db-vacuum-*.db

Это серьёзное, enterprise-grade решение для production DB maintenance.


3️⃣ ДОКУМЕНТАЦИЯ: EXCEPTIONAL (10/10) 📚

🎯 Полнота документации

КЛАССИФИКАЦИЯ ДОКУМЕНТОВ:

DEPLOYMENT:
  ✅ ENTERPRISE_DEPLOYMENT_GUIDE_RU.md
  ✅ DEPLOYMENT_TOPOLOGIES_RU.md
  ✅ SIZING_GUIDE_RU.md
  ✅ BACKUP_AND_RECOVERY_RU.md
  ✅ SECURITY_HARDENING_RU.md
  ✅ FULL_DEPLOYMENT_MANUAL_RU.md

REGISTRY (для реестра РПО):
  ✅ REGISTRY_PRODUCT_PASSPORT_RU.md
  ✅ REGISTRY_ARCHITECTURE_RU.md
  ✅ REGISTRY_FUNCTIONAL_SCOPE_RU.md
  ✅ REGISTRY_DEPENDENCY_STATEMENT_RU.md
  ✅ REGISTRY_DEPLOYMENT_MODEL_RU.md
  ✅ REGISTRY_COMMERCIAL_POSITIONING_RU.md

PILOT & VALIDATION:
  ✅ PILOT_V1_RU.md
  ✅ PILOT_DEMO_SCENARIO_RU.md
  ✅ PILOT_FREEZE_READINESS_RU.md (НОВОЕ!)
  ✅ PILOT_VALIDATION_CHECKLIST_RU.md
  ✅ PILOT_SUCCESS_CRITERIA_RU.md

OPERATIONAL:
  ✅ OPERATIONS_RUNBOOK_RU.md
  ✅ OPERATIONS_RUNBOOK_WORKTIME_RU.md
  ✅ ADMIN_GUIDE_RU.md
  ✅ OPERATOR_GUIDE_RU.md
  ✅ ARCHITECTURE_RU.md

RISK & SECURITY:
  ✅ THREAT_MODEL_RU.md
  ✅ SECURITY_HARDENING_RU.md
  ✅ RISK_NARRATIVE_RU.md
  ✅ PRODUCTION_INCIDENT_REPORT_2026-06-07_RU.md

TECHNICAL:
  ✅ Wiki (Getting Started, Infrastructure, CI/CD, QA)
  ✅ Grafana dashboards guide
  ✅ Windows Collector Suite
  ✅ adk-rust/RUNBOOK.md (32 фазы миграции!)

SALES & POSITIONING:
  ✅ COMPETITIVE_POSITIONING_RU.md
  ✅ SALES_POSITIONING_RU.md
  ✅ CUSTOMER_PILOT_PACK_RU.md
  ✅ CUSTOMER_DEMO_SCENARIO_RU.md

TOTAL: 60+ документов НА РУССКОМ ЯЗЫКЕ

Это НЕ типичный уровень документации. Это КОРПОРАТИВНЫЙ СТАНДАРТ.


4️⃣ КАЧЕСТВО КОДА: 8.5/10 💎

✅ Сильные стороны:

// 1. Правильная обработка ошибок
// Все Rust crates используют Result<T, Error> с context
cargo clippy --workspace --all-targets -- -D warnings ✅

// 2. Structured JSON output для всех операций
detmir-status --json
detmir-check --json
detmir-dlp --json
// Машинечитаемые контракты везде!

// 3. Safety gates и guardrails
// - dry-run по умолчанию для mutation команд
// - allowlist для systemd restart
// - lock files для concurrent protection
// - audit logging для всех действий

// 4. Idempotent Ansible playbooks
// - deploy_aw_server.yml идемпотентен
// - WinRM retry с exponential backoff
// - Syntax checks перед apply

// 5. Production-grade operational patterns
// - systemd drop-ins для переключения binaries
// - Rollback scripts задокументированы
// - Shadow-mode validation перед switch

⚠️ Оставшиеся слабые стороны:

⚠️ Низкая публичная активность в issue tracker
   - issue templates есть
   - public roadmap есть
   - открытых публичных задач пока мало

⚠️ Низкая community adoption
   - мало forks/stars
   - проект пока выглядит как early-stage / pilot-stage OSS
   - это нормально для нового специализированного продукта

⚠️ Restore test еще не выполнен
   - backup Gitea работает
   - SHA256 verification работает
   - daily timer работает
   - restore_tested пока false

⚠️ Российский build-runner пока planned
   - release evidence scripts есть
   - первый настоящий release build на awatch-build-01 еще не выполнен

⚠️ Юридический пакет правообладателя еще pending
   - техническая readiness сильная
   - юридическая часть для реестра еще требует отдельной подготовки

✅ Уже закрыто после последних коммитов:

✅ Public CI/CD visibility
✅ Public coverage workflow
✅ Public security scanning
✅ Secret scan policy
✅ SECURITY.md
✅ CONTRIBUTING.md
✅ ROADMAP.md
✅ Issue templates
✅ PR template
✅ CODEOWNERS
✅ Review checklist
✅ Branch protection policy documented
✅ Registry docs
✅ Russian Gitea contour
✅ GitHub public mirror validation
✅ Gitea backup
✅ Status freeze

5️⃣ PRODUCTION READINESS: 9/10 🚀

✅ Enterprise Features

✅ Multi-role RBAC (executive, manager, security, forensics, admin)
✅ DLP incident management с evidence хранилищем
✅ SLO monitoring и автоматический heal
✅ Ansible-powered deployment с idempotency
✅ Backup/restore procedures
✅ Grafana dashboards version-controlled
✅ Hayabusa forensics integration
✅ Telegram bot уведомления
✅ ClickHouse data warehouse
✅ Prometheus/Influx exporters

✅ SAFETY PATTERNS:
  - read-only smoke tests перед production
  - --dry-run по умолчанию для risky operations
  - Rollback procedures documented
  - Production incident report существует (2026-06-07)
  - Lock-based concurrency protection

⚠️ Production Risks

⚠️ Один разработчик (igor04091968) — BUS FACTOR ⚠️
   - Все коммиты от одного человека
   - Нет code reviews видно
   - Нет pull request culture

⚠️ Молодой проект (56 дней)
   - Нет долгосрочной production history
   - Нет documented post-mortems (кроме одного)

⚠️ Limited public activity / community adoption
   - 2 форка, 3 звезды
   - Issue templates и roadmap есть, но публичных задач пока мало
   - Community adoption низкая, это не технический blocker

⚠️ Registry release evidence еще не завершен
   - GitHub Actions зеленые, но это только public mirror validation
   - Первый release evidence build должен быть выполнен на awatch-build-01
   - Gitea restore_tested пока false

6️⃣ РОССИЙСКИЙ РЫНОК READY: 9.5/10 🇷🇺

✅ Идеальная позиция для РФ

✅ ЛОКАЛИЗАЦИЯ:
   - Полностью на русском (все документы)
   - Russian UI patch для ActivityWatch
   - Поддержка русских Windows локализаций
   - Cyrillic-aware logging

✅ РЕЕСТР РПО / REGISTRY-READINESS:
   - Подготовлен registry-readiness пакет документов
   - Product passport и architecture documents описаны
   - Dependency statement зафиксирован
   - Российский Gitea-контур поднят
   - GitHub Actions используется только как public mirror validation
   - Release evidence требует российского build-runner

✅ ТЕХНОЛОГИЧЕСКИЙ STACK:
   - Rust (не зависит от США)
   - Debian/Ubuntu Linux
   - Grafana/Prometheus (open-source)
   - ClickHouse (российская компания!)
   - Hayabusa (DFIR forensics)
   - Ansible (open infrastructure)

✅ NO CLOUD-DEPENDENCY:
   - Полностью on-prem
   - Нет телеметрии в облако
   - Нет SaaS lock-in
   - Может быть air-gapped

✅ HONESTY POSITIONING:
   - НЕ претендует на ФСТЕК/ФСБ сертификацию
   - НЕ использует ML/LLM (transparent rule-based UEBA)
   - Явно указывает границы показа (contract_only для pfSense)
   - Не маскирует ограничения

7️⃣ PILOT v1 FREEZE READINESS (НОВОЕ!) 🎯

Заметил в README новый документ:

✅ docs/PILOT_FREEZE_READINESS_RU.md (добавлен недавно)

Это указывает на:

  • Проект готовится к Pilot freeze (закрытию features)
  • Feature complete для Pilot v1.0
  • Production readiness gates активны
PILOT V1 SCOPE (ГОТОВО):
- Workforce Analytics ✅
- Security DLP Analytics ✅
- Forensics Reporting ✅
- Evidence Management ✅
- UEBA v1 (rule-based) ✅
- Telegram notifications ✅
- Grafana dashboards ✅
- Role-based access ✅

8️⃣ ИСТОРИЧЕСКАЯ ВЕХИ РАЗРАБОТКИ 📅

2026-06-01: Миграция на Rust начинается (фазы 0-7)
2026-06-07: Production incident (подробный postmortem)
2026-06-09: Grafana panels development
2026-06-11: Security hardening improvements
2026-06-12: Release candidate preflight
2026-06-12-19: Intensive hardening phase
2026-06-20: Pilot freeze readiness doc добавлен
2026-06-21: Public CI/Coverage/Security workflows добавлены
2026-06-22: GitHub Actions validation прошел после hardening secret scan

ВЫВОД: Проект в PRODUCTION HARDENING фазе перед Pilot release

9️⃣ КОНКУРЕНТНЫЙ АНАЛИЗ 🏆

Проект позиционирует себя против:

КОНКУРЕНТЫ (по docs/COMPETITIVE_POSITIONING_RU.md):
- Splunk (слишком дорого, облако)
- Okta (не для локального ИБ)
- ArcSight (legacy, дорого)
- ELK Stack (требует экспертизы)
- Grafana Loki (только logs, не worktime)

УНИКАЛЬНОСТЬ AWatch-rus:
✅ Workforce + Security + Forensics в одном
✅ Русский язык & локализация
✅ Без облака & без ML-черного ящика
✅ Open-source компоненты (ActivityWatch)
✅ Прозрачность (rule-based UEBA)
✅ РФ registry ready

🔟 FINAL ASSESSMENT: ПЕРЕОЦЕНКА

Категория Была Сейчас Изменение Комментарий
Полнота 8.5 9.2 ⬆️ +0.7 DB maintenance added
Качество 8.0 8.5 ⬆️ +0.5 Production incident handled professionally
Профессионализм 9.0 9.3 ⬆️ +0.3 Pilot freeze readiness shows maturity
Российский рынок 9.0 9.5 ⬆️ +0.5 Registry docs enhanced, freeze ready
Production Ready 8.5 9.0 ⬆️ +0.5 Safety gates, rollback procedures validated
Public Validation 6.5 8.8 ⬆️ +2.3 CI/Coverage/Security workflows green
ИТОГО 8.6 9.1 ⬆️ +0.5 PRODUCTION GRADE

🎯 КЛЮЧЕВЫЕ ВЫВОДЫ

1. ✅ ПРОЕКТ ГОТОВ К PRODUCTION PILOTING
   - Rust-first migration полностью завершена
   - Safety gates реализованы
   - Documentation на уровне enterprise
   - DB maintenance добавлено (новое)

2. ✅ ИДЕАЛЕН ДЛЯ РОССИЙСКОГО РЫНКА
   - Полностью локализован
   - Registry documents готовы
   - Технологический stack без зависимостей

3. ✅ PUBLIC VALIDATION VISIBILITY УЖЕ ЗАКРЫТА
   - Public CI/CD visibility ✅
   - Public coverage workflow ✅
   - Public security scanning ✅
   - Secret scan policy hardened ✅
   - GitHub public mirror validation ✅

4. ⚠️ ОСТАВШИЕСЯ РИСКИ
   - Один разработчик
   - Нет visible code review
   - Низкая публичная активность issue tracker
   - Низкая community adoption
   - Gitea restore test еще не выполнен
   - Российский build-runner пока planned
   - Branch protection policy documented, but enablement not yet verified

5. 🚀 TIMELINE К PRODUCTION:
   - Pilot v1 freeze: готовится (freeze readiness doc)
   - Beta release: Q3 2026 (est.)
   - GA production: Q4 2026 (est.)

6. 📊 QUALITY METRICS:
   - Code: Rust clippy strict mode ✅
   - Testing: Cargo test suite ✅
   - Public coverage workflow ✅
   - Public security workflow ✅
   - Deployment: Ansible idempotent ✅
   - Operations: Runbook-driven ✅
   - Documentation: 60+ doc pages ✅

💡 РЕКОМЕНДАЦИИ

Для потенциального инвестора/партнера:

✅ ИНВЕСТИРОВАТЬ: Проект достаточно зрелый для pilot
✅ ТРЕБОВАТЬ: Bus factor mitigation (второй разработчик)
✅ ТРЕБОВАТЬ: Community code review process (GitHub PRs)
✅ ТРЕБОВАТЬ: Первый release evidence build на российском build-runner
✅ ТРЕБОВАТЬ: Restore test Gitea backup на отдельном сервере
⚠️ НАБЛЮДАТЬ: Feedback из first customers на Pilot v1

Для Russian enterprises:

✅ ИСПОЛЬЗОВАТЬ: Как operational intelligence platform
✅ НЕ ИСПОЛЬЗОВАТЬ: Как certified DLP/SIEM (не позиционируется)
✅ ТРЕБОВАТЬ: Support contract перед production
✅ ПЛАНИРОВАТЬ: Intern training на Rust maintenance

About

AWatch-rus: Rust-first platform for operational IT control, technical audit, ActivityWatch telemetry and runbook automation

Topics

Resources

License

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors