SilentGuard(ローカルセキュリティ監視ツール)

Security

概要

SilentGuardはローカル向けのセキュリティ監視(ローカルモニタ)を目的としたPython製プロジェクトです。メインスクリプトがコアとUIを起動し、コアのcoordinatorモジュールが各種サブモジュール(自動起動検出、ディレクトリ監視、プロセス監視、ネットワーク監視など)を起動・調整します。検知イベントはSQLiteで記録され、ユーザーへの通知はトレイやポップアップで行われ、結果のエクスポート(TXT/JSON、ProではPDF)やPro限定のステルス(隠蔽)モードなどの機能拡張が想定されています。モジュール形式で拡張しやすく、ローカル環境の監査・アラートに適しています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 9
  • メインの言語: Python

主な特徴

  • モジュール化された監視コンポーネント(自動起動、ディレクトリ、プロセス、ネットワークなど)をコアが管理し、拡張が容易。
  • ローカルSQLiteによるイベント記録で軽量に運用可能、ログの永続化と検索が可能。
  • トレイ・ポップアップなどの通知機能を備え、ユーザーへの即時アラートに対応。
  • エクスポーターでTXT/JSON出力、Pro機能でPDF出力やステルスモードをサポートする予定設計。

技術的なポイント

SilentGuardは「コア+モジュール」アーキテクチャを採用しており、coordinatorが各モジュールを起動・監視・連携させる中心役です。この構成により、監視対象を個別モジュールとして実装しやすく、新しいモジュールを追加するだけで機能拡張が可能です。データストレージにはSQLiteを使っており、外部DBなしで軽量に履歴やアラートを保持できる点が特徴です。alerts.pyはトレイアイコンやポップアップ通知の実装場所で、ユーザーインタラクションと非同期イベント通知の橋渡しをします。exporter.pyはTXT/JSONの汎用エクスポート機能を提供し、プロ版ではPDF生成(より整形されたレポート)を行う想定です。stealth.pyはアプリをユーザー環境から隠すための機能を収める設計で、運用上は法令・倫理に配慮する必要があります。

技術面で注目すべきは、軽量でローカル志向のため外部ネットワークへの依存が少なく、オンプレミスでの監視に向いている点です。一方でクロスプラットフォーム対応(Windowsのトレイ挙動やUnix系のデーモン化など)や、並列処理(スレッド/プロセス/asyncio)によるモジュール同時実行、SQLiteの競合対策(トランザクションや接続プール的な実装)が運用時の重要課題になります。拡張性を高めるには、モジュールAPIの明文化、イベントバス(Pub/Sub)またはキュー(RabbitMQやRedisではなく軽量キュー)を導入することでコアの結合度を低く保てます。セキュリティ上はアラート情報の保護、エクスポートファイルの取り扱い、Pro機能のアクセス制御(ローカルの権限管理)を検討すべきです。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gigaide: dir
  • .gitignore: file
  • LICENSE.txt: file
  • README.MD: file
  • core: dir
    • core/coordinator.py: モジュールの起動・調整を行うコアロジック
    • core/database.py: SQLiteを用いた共通データ操作(イベント保存やクエリ)
    • core/alerts.py: トレイ通知やポップアップ表示などのユーザー通知処理
    • core/exporter.py: 結果のTXT/JSON出力(ProではPDF出力を想定)
    • core/stealth.py: ステルス(隠蔽)モード用の処理(Pro機能)
  • main.py: カーネルとUIの起動エントリポイント
  • modules: dir
    • modules/autostart.py: 自動起動関連の監視モジュール(Module A)
    • modules/directory.py: ディレクトリ監視モジュール(Module B)
    • modules/processes.py: プロセス監視モジュール(Module C)
    • modules/network…: ネットワーク監視に関するモジュールなど …他 4 ファイル

設計メモ:

  • モジュールは独立していて、coordinatorがライフサイクル管理をする想定です。
  • SQLiteは単一ファイルDBとして運用し、ローカルのみで完結します。
  • exporterやstealth等はProライセンス的な分岐で機能フラグ管理が必要です。

まとめ

軽量なローカル監視の基盤として拡張しやすい骨組みが整ったプロジェクトです。

リポジトリ情報:

READMEの抜粋:

SilentGuard/
├── main.py                  # запуск ядра и UI
├── core/
│   ├── coordinator.py       # запускает и координирует модули
│   ├── database.py          # общая работа с SQLite
│   ├── alerts.py            # уведомления (трей, попапы)
│   ├── exporter.py          # TXT/JSON, PDF (Pro)
│   └── stealth.py           # скрытый режим (Pro)
├── modules/
│   ├── autostart.py         # Модуль A
│   ├── directory.py         # Модуль B
│   ├── processes.py         # Модуль C
│   └── network....