Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

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

guardd

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

リポジトリを見る
114ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

guardd

Linux向け機械学習駆動の行動異常検出(eBPF + Isolation Forestを使用)


Guarddは低レベルのシステムイベント(プロセス実行、ネットワークアクティビティ)を収集し、時間ウィンドウの特徴ベクトルに集約し、機械学習モデルを使用して異常な動作を検出します。

Guarddは未知の脅威の検出に重点を置いています



[!WARNING] このプロジェクトは開発中です 機能と検出精度は現在も積極的に改善されています フィードバック、提案、貢献を歓迎します


動作の仕組み

guarddは単一のsystemdサービスとして実行され、データ収集、トレーニング、検出の全ライフサイクルを管理します。

起動時:

モデルが存在しない場合、guarddはベースラインの行動データの収集を開始します
初期トレーニングのために1日分(デフォルト)のデータを収集します
トレーニングが成功すると、自動的に検出モードに切り替わります

運用中:

システムアクティビティは継続的に時間ウィンドウに集約され、特徴ベクトルに変換されます
各ウィンドウはトレーニング済みのIsolation Forestモデルによってスコアリングされます
異常はNDJSONとして出力されます

継続的:

モデルは週に1回自動的に再トレーニングされます
再トレーニング後、更新されたモデルで検出が直ちに再開されます


インストール

1. リポジトリをクローンする

root@kitploit:~
git clone https://github.com/benny-e/guardd.git
cd guardd

2. インストールスクリプトを実行する

root@kitploit:~
sudo bash install.sh

これにより以下が行われます:

システム依存関係のインストール
プロジェクトを /opt/guardd にコピー
Python仮想環境の作成
パッケージのインストール
eBPFコンポーネントのビルド
systemdサービスのインストール


使用法

サービスの開始

root@kitploit:~
sudo systemctl start guardd.service

ステータスの確認

root@kitploit:~
systemctl status guardd.service

ログの表示

root@kitploit:~
journalctl -u guardd.service -f

ターミナルTUI

guarddには、最近のアラートを参照したり異常を検索するためのターミナルUIが含まれています

起動するには:(guardd.service起動後)

root@kitploit:~
guardd tui

systemd を使用しない実行

systemd サービスをインストールせずに、コマンドラインから直接 guardd を実行することもできます。他の init システムで実行するように設定可能です

フルデーモンの実行

root@kitploit:~
sudo guardd daemon

個別コンポーネントの実行

データ収集:

root@kitploit:~
sudo guardd collect

モデルトレーニング:

root@kitploit:~
sudo guardd train

検出の実行:

root@kitploit:~
sudo guardd detect

設定

guarddは config.toml ファイルによる設定をサポートしています。

デフォルトでは、デーモンは以下の場所を探します:

root@kitploit:~
/opt/guardd/config.toml

例

root@kitploit:~
[daemon]
mode = "auto"
bootstrap_retry_seconds = 60
retrain_interval_seconds = 604800

[training]
min_training_rows = 1
contamination = 0.01
n_estimators = 200
threshold_percentile = 10.0

[paths]
db_path = "/opt/guardd/data/features.db"
model_path = "/opt/guardd/data/model.bundle"
guardd_path = "/opt/guardd/ebpf/guardd"

[daemon]

guarddのライフサイクルを制御します。

mode
-- "auto" → 完全なパイプライン(収集→トレーニング→検出)
-- "collect" → データ収集のみ
-- "detect" → 検出のみ実行(モデルが必要)

bootstrap_retry_seconds
-- モデルが存在しない場合に、guarddが初期トレーニングを試行する間隔
-- このフェーズでは、guarddはデータを収集し、定期的に一時停止してトレーニングを試みます

retrain_interval_seconds
-- 初期ブートストラップ後にモデルが再トレーニングされる間隔
-- デフォルト:7日

[train]

モデルの動作と要件を制御します。

min_training_rows
-- トレーニングに必要な最小特徴ウィンドウ数
-- 満たされない場合、トレーニングは失敗し、後で再試行します

contamination
-- データ内の異常の想定割合
-- Isolation Forestに直接渡されます
-- 一般的な値:0.01~0.05

n_estimators
-- Isolation Forest内の木の数
-- 数が多いほど正確ですが、トレーニングが遅くなります

threshold_percentile
-- 異常のカットオフスコアを決定します
-- 低いほどより積極的な検出になります

[paths]

guarddがデータを読み書きする場所を制御します。

db_path
-- 特徴ベクトルと異常を格納するSQLiteデータベース

model_path
-- 検出に使用されるシリアライズされたモデルバンドル

guardd_path
-- eBPFコレクタバイナリへのパス

注意事項

設定値はCLIのデフォルトを上書きします
CLI引数は明示的に指定された場合、設定よりも優先されます
モデルの精度は良好なトレーニングデータに大きく依存します。トレーニング時間が長いほど、より正確な検出器になります


依存関係

python3
python3-venv
python3-pip
clang
llvm
libbpf-dev
libelf-dev
bpftool
build-essential
pkg-config
sqlite3

ツールをダウンロード