Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
guardd — Linuxマシン向けMLベースの行動エンドポイント検出システム | Kitploit
ツール/GitHubGitHub/benny-e/guardd
防御ツール機械学習侵入検知異常検知
GitHubbenny-e/guardd

guardd

Linuxマシン向けMLベースの行動エンドポイント検出システム

リポジトリを見る
113120日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Guardd penguin icon

Guardd

eBPFと機械学習を活用した、Linux向けの振る舞い異常検知。

Linux Python 3.11 or newer MIT license

GuarddはLinuxホストの通常の振る舞いを学習し、そのベースラインから逸脱した アクティビティを検知します。カーネルセンサーがプロセスの実行と外向きTCP 接続の試行を収集し、Isolation Forestが生成された1分間のアクティビティ ウィンドウをスコアリングします。アラートにはスコア、振る舞いのコンテキスト、 調査を支援する説明が含まれます。

バックグラウンドデーモンが収集、学習、検知を処理します。デスクトップGUIと ターミナルインターフェースにより、デーモンが稼働し続ける間もアラートと リソース使用状況を確認できます。

ステータス: 実験的かつ活発に開発中です。検知品質はワークロード、 ベースライン、感度設定に依存します。

インストール · 使用方法 · 設定 · 仕組み · 更新 · トラブルシューティング

機能

  • カーネルテレメトリ: プロセス名、実行ファイルパス、ユーザー、親プロセス ID、および外向きIPv4 TCPの宛先とポート。
  • 振る舞い検知: 固定された参照ベースラインに対してスコアリングされた アクティビティのカウント、多様性、新規性。
  • 自動ライフサイクル: 初期収集、モデル学習、検知、週次再学習、モデルの 再読み込みを単一のsystemdサービスで実行。
  • 永続的なアラート: スコア、重大度、説明、特徴量の要約、コンテキストを 含むSQLiteストレージ。アラートは改行区切りJSONとしても出力されます。
  • デスクトップGUI: 概要ページとアラートページ、検索、重大度と時間の フィルター、詳細なアラート調査、自動更新。
  • システムの可視性: サービスの状態、CPUとメモリの使用量、PID、稼働時間、 ホストとカーネル情報、集約ウィンドウサイズ、テレメトリの鮮度。
  • デスクトップ統合: Guarddアプリケーションメニューのランチャーと ペンギンのアイコン。
  • ターミナルアクセス: curses TUIと、テレメトリの収集、学習、スコアリング、 調査を直接行うコマンド。

スクリーンショット

デスクトップ概要

Guardd desktop overview

アラート調査

Guardd alert browser

デスクトップのスクリーンショットでは、サンプルのアラートとシミュレートされた サービスの状態を使用しています。

ターミナルインターフェース

Guardd terminal interface

インストール

要件

付属のインストーラーはapt-getとsystemdを使用します。Ubuntu 24.04 LTSが 実用的な出発点です。Debianシステムでは同等のパッケージが必要です。その他の ディストリビューションでは依存関係を手動でインストールする必要があります。

  • python3として利用可能なPython 3.11以降。Ubuntu 22.04のデフォルトの Python 3.10はパッケージの要件を満たしません。
  • eBPF、/sys/kernel/btf/vmlinuxのBTF、および必要なプロセスとソケットの トレースポイントを備えたLinuxカーネル。
  • Clang/LLVM、libbpf開発ヘッダー、libelf、Cビルドツールチェーン、および カーネルヘッダーとBPFスケルトンを生成するための**bpftool**。
  • サービスのインストールとセンサーの実行にはroot権限。
  • オプションのPySide6 GUIにはグラフィカルデスクトップセッション。

Ubuntuでは、インストーラーを実行する前にGitとカーネルツールをインストール してください:```bash sudo apt-get update sudo apt-get install -y git linux-tools-common "linux-tools-$(uname -r)" python3 --version bpftool version test -r /sys/kernel/btf/vmlinux && echo "Kernel BTF available"

kernel-tools パッケージは実行中のカーネルと一致している必要があります。Debian では、`bpftool` は別のパッケージとして利用可能です。インストーラーは他のビルドおよび Python 依存関係を提供しますが、`bpftool` を明示的にはインストールしません。

### デーモンとデスクトップ GUI のインストール```bash
git clone https://github.com/benny-e/guardd.git
cd guardd
sudo bash install.sh --gui

ヘッドレスインストールの場合は、代わりに sudo bash install.sh を実行してください。

インストーラーはアプリケーションを /opt/guardd にコピーし、仮想環境を作成し、eBPF コレクターをビルドし、/usr/local/bin/guardd をインストールし、起動時に guardd.service を有効化します。サービスは起動しません。--gui を指定すると、Qt ランタイム依存関係、デスクトップランチャー、アイコンもインストールされます。

インストール済みパスを設定する

初回起動の前に、インストール済みの設定ファイルを開きます:```bash sudoedit /opt/guardd/config.toml

`[paths]` セクションを絶対パスに設定します:```toml
[paths]
sensor_path = "/opt/guardd/ebpf/guardd"
db_path = "/opt/guardd/data/features.db"
model_path = "/opt/guardd/data/model.bundle"

リポジトリの設定は相対パスを使用しています。これらはサービスの /opt/guardd 作業ディレクトリからは機能しますが、デスクトップランチャーは別の場所から起動する可能性があります。 絶対パスを使用すると、デーモン、GUI、CLI が同じデータを使用できます。

Configuration のトレーニング設定を確認してから、次を実行して開始します:```bash sudo systemctl start guardd.service systemctl status guardd.service sudo journalctl -u guardd.service -f

最初の実行では、モデルが利用可能になる前にデータを収集します。アクティブなサービスはまだこの収集フェーズにある可能性があります。トレーニングと検出についてはログを確認してください。

## 使用方法

### デスクトップ GUI

アプリケーションメニューから **Guardd** を開くか、次を実行します:```bash
guardd gui

GUI は通常のデスクトップユーザーとして実行します。既存のデータベースを読み取り、5 秒ごとに更新します。閉じてもデーモンは実行されたままです。

ページできること
Overviewサービス、本日のアラート、モデルファイルの可用性、CPU/メモリ使用量、PID、稼働時間、ホスト/カーネルの詳細、60 秒ウィンドウサイズ、最近のテレメトリを確認できます。最近のアラートを選択して検査できます。
Alertsプロセス名、パス、宛先、理由を検索できます。重大度と、直近 24 時間、7 日間、30 日間、または全期間でフィルタリングできます。アラートを選択して、そのスコア、しきい値、説明、アクティビティ、コンテキストを表示できます。

即時更新には Refresh を使用します。時刻はローカルタイムゾーンで表示され、Overview の日次合計はフィルターとは独立してローカルの暦日を対象とします。

別のデータベースを選択したり、表示されるアラート上限を増やしたりするには:```bash guardd gui --db-path /opt/guardd/data/features.db --model-path /opt/guardd/data/model.bundle --limit 500

GUI は読み取り専用ビューアです。収集、トレーニング、サービスの制御はデーモンと CLI を通じて行われます。モデルの可用性とはファイルが存在することを意味し、その内容が有効であることや検出が開始されたことを意味するものではありません。GUI は pickle 化されたモデルを読み込みません。リソースメトリクスはセンサーを含む systemd サービス全体を対象とし、CPU 100% は 1 論理コアを表します。最初の CPU 読み取りには 2 回のサンプルが必要です。

### ターミナルインターフェース```bash
sudo guardd tui

TUI は 2 秒ごとに更新され、アラートの詳細とデーモンの統計情報を表示します。 GUI とは異なり、書き込み可能なデータベース接続を通じてストレージを初期化します。 標準の root 所有のインストールでは sudo が必要になる場合があります。

キー操作
↑ / k、↓ / jアラートを選択します。
/検索。Enter で適用、Esc でキャンセルします。
r検索をクリアし、最初のアラートに戻ります。
q / Esc終了します。

サービスの管理```bash

sudo systemctl stop guardd.service sudo systemctl start guardd.service sudo systemctl restart guardd.service systemctl status guardd.service sudo journalctl -u guardd.service -n 100 --no-pager sudo journalctl -u guardd.service -f

設定を編集した後、サービスを再起動します。起動時の自動起動を有効または無効にするには、`sudo systemctl enable guardd.service` または
`sudo systemctl disable guardd.service` を使用します。

### CLI と手動操作

一度に1つのコレクターを実行します。手動で収集または検出する前に systemd サービスを停止し、手動コレクターを停止してからそのモデルをトレーニングします。

| コマンド | 目的 |
| --- | --- |
| `guardd` または `guardd daemon` | 自動収集 → トレーニング → 検出のライフサイクルを実行します。 |
| `guardd daemon --mode collect` | 自動トレーニングなしでウィンドウを収集します。 |
| `guardd daemon --mode detect` | 既存の互換モデルを使用してウィンドウをスコアリングします。 |
| `guardd collect` | ライブウィンドウを SQLite に収集します。 |
| `guardd train` | 保存されたウィンドウからモデルをトレーニングし、そのサマリーを出力します。 |
| `guardd detect` | ライブウィンドウをスコアリングし、アラートを発行します。 |
| `guardd ingest` | デバッグ用に解析されたセンサーイベントを出力します。 |
| `guardd gui` / `guardd tui` | デスクトップまたはターミナルインターフェースでアラートを閲覧します。 |

標準インストールからの手動ワークフローは次のとおりです:```bash
sudo systemctl stop guardd.service
sudo guardd collect --sensor-path /opt/guardd/ebpf/guardd --db-path /opt/guardd/data/features.db
# Press Ctrl+C after collecting enough representative activity.
sudo guardd train --db-path /opt/guardd/data/features.db --model-out /opt/guardd/data/model.bundle
sudo guardd detect --sensor-path /opt/guardd/ebpf/guardd --db-path /opt/guardd/data/features.db --model-path /opt/guardd/data/model.bundle

手動検出を停止するには Ctrl+C を押し、その後 systemd サービスを再起動してバックグラウンド動作を再開します。フォアグラウンドの自動デーモンには sudo guardd daemon を使用します。生のテレメトリには sudo guardd ingest --sensor-path /opt/guardd/ebpf/guardd --pretty を使用します。

任意のコマンドに --help を付けるとそのオプションが表示されます。検出は --print-all-scores、--print-features、--print-windows、--no-store をサポートしています。--no-store は特徴量ウィンドウの書き込みを無効にしますが、検出された異常は引き続き保存されます。

設定

Guardd は次の順序で最初に存在するファイルを読み込みます:

  1. 現在の作業ディレクトリ内の ./guardd.toml。
  2. /etc/guardd/config.toml。
  3. /opt/guardd/config.toml。

ファイルはマージされません。チェックアウト内の config.toml はテンプレートであり、自動的に検出される開発用設定ではありません。ローカル環境で使用するには、それを guardd.toml にコピーしてパスを調整してください。

以下は、頻繁なブートストラップ試行とより長い初期トレーニング期間を設定したインストール済みシステムの例です:```toml [paths] sensor_path = "/opt/guardd/ebpf/guardd" db_path = "/opt/guardd/data/features.db" model_path = "/opt/guardd/data/model.bundle"

[logging] debug = false

[daemon] mode = "auto" bootstrap_retry_seconds = 600 retrain_interval_seconds = 604800 print_windows = false print_features = false print_all_scores = false no_store = false

[train] min_training_rows = 1380 baseline_fraction = 0.2 limit = 50000 contamination = 0.01 n_estimators = 200 random_state = 42 threshold_percentile = 10.0

[gui] limit = 200

ツールをダウンロード