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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
c-sentinel — UNIXシステム向けセマンティックオブザーバビリティ - AI搭載分析を備えた軽量Cベースのシステムプローバー | Kitploit
ツール/GitHubGitHub/speytech/c-sentinel
脆弱性分析ネットワークセキュリティクラウドセキュリティDevSecOps脅威インテリジェンス認証侵入検知インシデントレスポンスAIセキュリティ異常検知ログ分析
GitHub
7284ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
speytech/c-sentinel

c-sentinel

UNIXシステム向けセマンティックオブザーバビリティ - AI搭載分析を備えた軽量Cベースのシステムプローバー

リポジトリを見るウェブサイト

C-Sentinel

UNIXシステムのためのセマンティック観測可能性

Cで書かれた軽量でポータブルなシステムプローバーで、AI支援による非自明なリスク分析のための「システムフィンガープリント」を取得します。auditd統合、説明可能なリスクスコアリング、エンタープライズグレードのマルチユーザー認証を備えたライブWebダッシュボードを特徴としています。

License: MIT Version

ライブデモ: sentinel.speytech.com

スクリーンショット

セキュリティダッシュボード

Security Dashboard

マルチホスト概要

Hosts Dashboard

ユーザープロフィールとセキュリティ設定

Profile Page

二要素認証

設定ログイン
2FA Setup2FA Login

個人用APIキー

API Keys

管理者機能

セッション管理

Sessions

監査ログ

Audit Log

セキュアログイン

Login Page

v0.6.0の新機能

  • 👥 マルチユーザー認証 - ロールベースのアクセス制御(管理者/オペレーター/ビューアー)
  • 🔐 二要素認証 - Google Authenticator、AuthyなどとのTOTP対応
  • 🔑 個人用APIキー - 自動化とCI/CDのためのユーザーごとのAPIキー
  • 📋 管理者監査ログ - フィルタリング機能付きの全ユーザーアクション追跡
  • 💻 セッション管理 - アクティブなセッションの表示、アクセス取り消し、強制ログアウト
  • 📧 メールとSlackアラート - リッチフォーマットのプロアクティブ通知
  • 🎨 モダンなトースト通知 - 1990年代のJavaScriptアラートはもう不要!
  • 👁️ 公開デモモード - ダッシュボードを公開するための読み取り専用アクセス
  • 📱 モバイル対応 - スマートフォンやタブレットでの全機能

過去のリリース

v0.5.x: セキュリティ態勢の要約、リスク傾向スパークライン、学習インジケーター、説明可能なリスク要因、メールアラート、イベント履歴

v0.4.0: Auditd統合、ブルートフォース検出、プライバシー保護ユーザー名ハッシュ、プロセス属性、リスクスコアリング

v0.3.0: Webダッシュボード、SHA256チェックサム、systemdサービス、ベースライン学習、ネットワークプローブ、ウォッチモード

課題

Dynatrace、Datadog、Prometheusなどの最新の観測可能性ツールは、メトリクス収集としきい値アラートに優れています。しかし、それらが答えるのは狭い質問です: 「このメトリクスは期待値の範囲外か?」

それらは以下に苦手としています:

  • 因果推論: なぜ何かが失敗したのか?
  • コンテキスト合成: 先週の設定変更と今日のレイテンシスパイクを結びつける
  • 非自明な劣化: 「壊れて」はいないが、障害に向かってゆっくりと進んでいるもの
  • セキュリティコンテキスト: 誰が 何にアクセスし、それがなぜ重要かを理解する

C-Sentinelは異なるアプローチを取ります: セキュリティイベントを含む包括的なシステムフィンガープリントを取得し、LLM推論を使用して「機械の中の幽霊」を特定します。

クイックスタート```bash

Clone and build

git clone https://github.com/williamofai/c-sentinel.git cd c-sentinel make

Quick analysis

./bin/sentinel --quick --network

Quick analysis with security events (requires root for audit logs)

sudo ./bin/sentinel --quick --network --audit

Learn baselines (automatic with --audit flag)

./bin/sentinel --learn --network

Continuous monitoring with full context

sudo ./bin/sentinel --watch --interval 300 --network --audit

root@kitploit:~
## ダッシュボードの機能

Webダッシュボードは、インフラ全体のリアルタイムのセキュリティ監視を提供します。

### マルチユーザー認証

エンタープライズグレードのアクセス制御を3つの役割で提供:

| 役割 | 権限 |
|------|-------------|
| **管理者** | フルアクセス:ユーザー管理、監査ログの表示、すべての操作 |
| **オペレーター** | イベントの確認、カウンターのリセット、すべてのデータの表示 |
| **閲覧者** | ダッシュボードとデータへの読み取り専用アクセス |

### 二要素認証 (TOTP)

業界標準のTOTPでアカウントを保護:
- Google Authenticator、Authy、Microsoft Authenticatorに対応
- QRコード設定で簡単に構成可能
- 有効時は毎回のログインに必須
- 有効化/無効化時にメール通知

### 個人用APIキー

各ユーザーは自動化のために自分のAPIキーを作成可能:
- 名前付きキー (例: "CI/CDパイプライン", "監視スクリプト")
- オプションの有効期限
- 削除せずに有効化/無効化
- 最終使用日時の追跡
- キーはユーザーの役割権限を継承```bash
# Use your personal API key
curl -X POST https://sentinel.example.com/api/ingest \
  -H "Content-Type: application/json" \
  -H "X-API-Key: sk_your_personal_key" \
  -d @fingerprint.json

管理監査ログ

すべてのユーザーアクションをコンプライアンスおよびセキュリティのために追跡:

  • IPアドレス付きのログイン/ログアウトイベント
  • ユーザー管理アクション(作成、更新、削除)
  • パスワード変更
  • セッション失効
  • ユーザー、アクションタイプ、時間範囲でフィルタリング可能

セッション管理

アクティブなセッションの完全な可視性:

  • 誰がどこからログインしているかを確認
  • デバイスとブラウザの検出
  • 個別セッションの失効
  • セキュリティインシデント発生時の「他のすべてをログアウト」
  • 期限切れセッションの自動クリーンアップ

セキュリティ態勢の概要

システムのセキュリティステータスを平易な英語で説明:

「このシステムにセキュリティ上の懸念はありません。認証パターンは正常で、失敗は検出されていません。権限昇格の活動は検出されていません。全体的な態勢:健全。」

説明可能なリスクスコアリング

すべてのリスクスコアには、その理由を説明する要因が含まれています:

要因重み
認証失敗10回(ベースライン比200%超過 - 高)+30
ブルートフォース攻撃パターン検出+10
機密ファイル2件アクセス+4
合計44

学習/キャリブレーションインジケーター

システムは環境の「正常」を学習します:

サンプル数ステータス意味
< 10🧠 学習中初期ベースライン構築中
10-50🧠 キャリブレーション中正常パターンを精緻化中
> 50(非表示)完全にキャリブレーション済み

リスクトレンドスパークライン

24時間のリスクスコア履歴を示すミニチャート - 状況が改善しているか悪化しているかを即座に把握できます。

メール&Slackアラート

以下の場合にメールおよび/またはSlackで自動通知:

  • リスクスコアが16以上(高/クリティカル)
  • ブルートフォース攻撃が検出された場合
  • /tmp または /dev/shm からの実行
  • 新しいIPからのユーザーログイン
  • パスワードまたは2FAの変更

Slackアラートには、色分けされた重要度、クリック可能なダッシュボードリンク、構造化されたリスク要因の詳細を含むリッチフォーマットが含まれます。

Auditd統合

C-Sentinelは、監査ログを要約して意味的なセキュリティ分析を行います。

出力例```

C-Sentinel Quick Analysis

Hostname: axioma-validator Uptime: 14.5 days Load: 0.02 0.04 0.00 Memory: 49.2% used Processes: 120 total

Potential Issues: Zombie processes: 0 High FD processes: 1 Long-running (>7d): 95 Config permission issues: 0

Network: Listening ports: 26 Established connections: 14 Unusual ports: 12 ⚠

Security (audit): Auth failures: 6 ⚠ BRUTE FORCE PATTERN DETECTED Sudo commands: 81 Sensitive file access: 2 - /etc/passwd by touch - /etc/shadow by touch ⚠

Risk: high (score: 25)

root@kitploit:~
### JSON 出力```json
{
  "audit_summary": {
    "enabled": true,
    "period_seconds": 300,
    "authentication": {
      "failures": 6,
      "failure_users_hashed": ["user_c4c5", "user_b91b"],
      "brute_force_detected": true
    },
    "privilege_escalation": {
      "sudo_count": 81,
      "sudo_baseline_avg": 12.5,
      "sudo_deviation_pct": 548.0,
      "su_count": 5
    },
    "file_integrity": {
      "sensitive_file_access": [
        {
          "path": "/etc/shadow",
          "access": "write",
          "count": 2,
          "process": "touch",
          "process_chain": ["touch", "bash", "sshd"],
          "suspicious": true
        }
      ]
    },
    "learning": {
      "sample_count": 42,
      "confidence": "medium"
    },
    "risk_factors": [
      {"reason": "6 auth failures (200% above baseline - high)", "weight": 18},
      {"reason": "Brute force attack pattern detected", "weight": 10}
    ],
    "risk_score": 25,
    "risk_level": "high"
  }
}

監査ルールの設定

最良の結果を得るには、機密ファイルに対する監査ルールを追加してください:```bash

Add audit rules

sudo auditctl -w /etc/passwd -p wa -k identity sudo auditctl -w /etc/shadow -p wa -k identity sudo auditctl -w /etc/sudoers -p wa -k priv_esc sudo auditctl -w /var/log/lastlog -p wa -k auth

Make permanent (add to /etc/audit/rules.d/sentinel.rules)

root@kitploit:~
### プライバシー機能

- **ユーザーネームハッシュ化**: 失敗したログインユーザー名はハッシュ化されます(例:`user_c4c5`)。パターン検出を保持しつつ、IDを公開しません。
- **パスワードなし**: コマンド引数や機密データは決してキャプチャされません。
- **プロセス名のみ**: フルパスはプライバシーのためにサニタイズされます。

## Webダッシュボード

C-Sentinelには、複数のホストをリアルタイムで監視するためのWebダッシュボードが含まれています。

### 機能

- **マルチユーザー認証** - ロールベースのアクセス制御
- **二要素認証** - QRコード設定によるTOTP
- **パーソナルAPIキー** - ユーザーごとの自動化キー
- **管理者監査ログ** - 完全なアクション履歴
- **セッション管理** - アクティブセッションの制御
- **セキュリティ態勢サマリー** - 平易な英語によるシステムステータス
- **リスクトレンドスパークライン** - 24時間のビジュアル履歴
- **説明可能なリスク要因** - スコアが*なぜ*その値かを知る
- **学習インジケーター** - ベースライン調整の進捗状況
- **イベント履歴** - 承認機能付きタイムライン
- **メールアラート** - プロアクティブな通知
- **リアルタイム監視** - すべてのホストを一目で
- **履歴チャート** - 24時間のメモリと負荷
- **ネットワークビュー** - すべてのリスニングポートと接続
- **設定追跡** - 監視ファイルのSHA256チェックサム

### クイックセットアップ```bash
# Install dashboard
cd dashboard
sudo ./install-dashboard.sh

# Run database migration
sudo -u postgres psql -d sentinel -f migrate.sql

# Install 2FA dependencies (optional)
sudo /opt/sentinel-dashboard/venv/bin/pip install pyotp qrcode pillow

# Configure agent to report (with audit)
*/5 * * * * sudo /usr/local/bin/sentinel --json --network --audit | curl -s -X POST \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d @- https://your-dashboard.com/api/ingest

メールアラート設定

systemdサービスまたは環境に追加してください:```bash ALERT_EMAIL_ENABLED=true ALERT_SMTP_HOST=smtp.gmail.com ALERT_SMTP_PORT=587 ALERT_SMTP_USER=[email protected] ALERT_SMTP_PASS=your-app-password ALERT_FROM=[email protected] ALERT_TO=[email protected] ALERT_COOLDOWN_MINS=60

root@kitploit:~
### Slack Webhook 設定```bash
ALERT_SLACK_ENABLED=true
ALERT_SLACK_WEBHOOK=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
ALERT_SLACK_CHANNEL=#security-alerts    # Optional - override default webhook channel
ALERT_SLACK_USERNAME=C-Sentinel         # Optional - bot display name

Webhook URLを取得するには:

  1. api.slack.com/apps にアクセス
  2. 新しいアプリを作成 → 「From scratch」
  3. 「Incoming Webhooks」を有効化
  4. 「Add New Webhook to Workspace」をクリック
  5. チャンネルを選択し、Webhook URLをコピー

完全なセットアップ手順は dashboard/README.md を参照してください。

パブリックデモモード

ダッシュボードを公開するための読み取り専用アクセスを有効にします:```bash Environment="DEMO_MODE=true"

root@kitploit:~
デモモード:
- ログイン不要 - 訪問者は直接ダッシュボードへ
- 読み取り専用アクセス(ビューアロール)
- 管理機能は非表示
- プロフィール/ログアウトリンクはGitHubリンクに置き換え
- 黄色いバナーでデモモードを表示

LinkedInの投稿、ブログ記事、またはデプロイ前に見込み客に探索させるのに最適です。

## Systemd Service

本番環境でのデプロイ用:```bash
# Install
sudo ./install.sh

# Enable and start
sudo systemctl enable sentinel
sudo systemctl start sentinel

# Check status
sudo journalctl -u sentinel -f

全機能

カラー出力は自動検出(TTY)され、NO_COLOR標準に従います。

終了コード(CI/CD向け)

コード意味
0問題なし
1警告(軽微な問題)
2重大(ゾンビ、権限問題、異常なポート、高リスクセキュリティイベント)
3エラー(プローブ失敗)

取得内容

フラグの対象

システムの問題

  • 🧟 ゾンビプロセス: 常に問題
  • 📂 高いFD数: 潜在的なディスクリプタリーク(100以上開いている)
  • ⏰ 長時間実行プロセス: 再起動なしで7日以上
  • 🔓 権限問題: ワールド書き込み可能な設定ファイル

ネットワークの問題

  • 🌐 異常なポート: 一般的なポートリストにないサービス
  • 📡 新しいリスナー: ベースラインに含まれていなかったポート
  • ❌ サービス不足: リッスンが停止した想定ポート

セキュリティの問題(--audit付き)

  • 🔐 ブルートフォース: 認証失敗の急増(ウィンドウ内で5回以上)
  • 📊 ベースライン逸脱: 通常を大幅に上回るアクティビティ
  • 📝 機密ファイルアクセス: /etc/shadow, /etc/sudoers の変更
  • ⚠️ 不審なプロセス: 機密ファイルにアクセスする異常なプロセス
  • 💀 マルウェア兆候: /tmp または /dev/shm からの実行

アーキテクチャ```

┌─────────────────────────────────────────────────────────────────┐ │ Web Dashboard │ │ • Multi-user auth (RBAC) • Two-factor authentication │ │ • Personal API keys • Session management │ │ • Admin audit log • Email & Slack alerts │ │ • Security posture summary • Risk trend sparkline │ │ • Explainable risk factors • Event history timeline │ │ • Multi-host view • Historical charts │ └─────────────────────────────────────────────────────────────────┘ ▲ │ JSON via HTTP POST │ ┌─────────────────────────────────────────────────────────────────┐ │ C Foundation (99KB) │ │ • /proc parsing • SHA256 checksums │ │ • Process analysis • Drift detection │ │ • Network probing • Baseline learning │ │ • Auditd parsing • Risk scoring │ │ • Process chains • Anomaly detection │ └─────────────────────────────────────────────────────────────────┘

root@kitploit:~
### なぜCなのか?

| 懸念事項 | Python | C |
|---------|--------|---|
| **依存関係** | Pythonランタイムが必要(約100MB) | 静的バイナリ(約99KB) |
| **起動時間** | インタプリタ起動に約500ms | 約1ms |
| **メモリ** | ベースライン約30MB | 2MB未満 |
| **移植性** | 対応するPythonバージョンが必要 | 任意のPOSIXシステムで動作 |

## ビルド```bash
make              # Release build
make DEBUG=1      # Debug build with symbols
make test         # Run all tests (unit + integration)
make install      # Install to /usr/local/bin

テスト

C-Sentinelは、cmocka テストフレームワークを使用した128以上の単体テストを含む包括的なテストスイートを備えています。

cmockaのインストール

Debian/Ubuntu:```bash sudo apt-get install libcmocka-dev

root@kitploit:~
**Fedora/RHEL/CentOS:**```bash
sudo dnf install libcmocka-devel

macOS (Homebrew):```bash brew install cmocka

root@kitploit:~
**FreeBSD:**```bash
sudo pkg install cmocka

OpenBSD:```bash doas pkg_add cmocka

root@kitploit:~
### テストの実行```bash
make test              # Run all tests (unit + integration)
make unit-test         # Run unit tests only (requires cmocka)
make integration-test  # Run integration/smoke tests only
make coverage          # Run tests with gcov coverage report
make check-cmocka      # Verify cmocka is installed correctly

テストカバレッジ

単体テストは以下をカバーします:

新しいテストの作成

テストは tests/src/ にあり、cmockaの規約に従います:```c #include <stdarg.h> #include <stddef.h> #include <setjmp.h> #include <cmocka.h> #include "test_helpers.h"

static void test_example(void **state) { (void)state; assert_int_equal(1 + 1, 2); }

int main(void) { const struct CMUnitTest tests[] = { cmocka_unit_test(test_example), }; return cmocka_run_group_tests(tests, NULL, NULL); }

root@kitploit:~
新しいテストファイルをMakefileの`TEST_SOURCES`変数に追加します。

## プラットフォームサポート

| プラットフォーム | ビルド | プロセスプローブ | ネットワークプローブ | 監査 |
|----------|-------|---------------|---------------|-------|
| Linux | ✅ | ✅ /proc | ✅ /proc/net | ✅ auditd |
| macOS | ✅ | ✅ libproc | ✅ netstat | ❌ N/A |
| FreeBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| OpenBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| NetBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |
| DragonFlyBSD | ✅ | ✅ libkvm | ✅ netstat | ❌ N/A |

### 要件

- C99対応のGCCまたはClang
- GNU Make(BSDではgmake)
- サポート対象プラットフォーム:
  - Linux(カーネル3.x+)
  - macOS(10.12+)
  - FreeBSD(12+)
  - OpenBSD(7.x)
  - NetBSD(9.x)
  - DragonFlyBSD(6.x)
- auditd(オプション、`--audit`フラグはLinuxのみ)

## プロジェクト構造```
c-sentinel/
├── include/
│   ├── sentinel.h        # Core data structures
│   └── audit.h           # Audit integration types
├── src/
│   ├── main.c            # CLI entry point
│   ├── prober.c          # System probing (/proc)
│   ├── net_probe.c       # Network probing
│   ├── audit.c           # Auditd log parsing
│   ├── audit_json.c      # Audit JSON serialisation
│   ├── process_chain.c   # Process ancestry walking
│   ├── baseline.c        # Baseline learning
│   ├── sha256.c          # Pure C SHA256
│   └── ...
├── dashboard/            # Flask web dashboard
├── deploy/               # Systemd service files
└── docs/
    ├── AUDIT_SPEC.md     # Audit integration design
    └── DESIGN_DECISIONS.md

ロードマップ

完了 ✅

  • コアシステムプローバー
  • JSONシリアル化
  • ネットワークプロービング
  • ウォッチモードとベースライン学習
  • SHA256チェックサム
  • Systemdサービス
  • Webダッシュボード
  • Auditd統合
  • 逸脱分析によるリスクスコアリング
  • プロセス属性
  • ダッシュボード認証
  • イベント履歴タイムライン
  • 説明可能なリスク要因
  • セキュリティ態勢サマリー
  • リスクトレンドスパークライン
  • 学習/キャリブレーションインジケーター
  • メールアラート

計画中 📋

  • Microsoft Teams Webhookアラート
  • カスタムアラートルール
  • PDFセキュリティレポート
  • ホストレベルの権限

ライセンス

MITライセンス - 詳細はLICENSEを参照してください。

作者

William Murray - UNIXシステムエンジニアリング30年

  • GitHub: @williamofai
  • LinkedIn: William Murray
  • Website: speytech.com

「目標は監視ツールを置き換えることではなく、そのデータに知恵を加えることです。」

ツールをダウンロード
機能コマンド説明
クイック分析--quick人間が読める概要
ネットワークプローブ--networkリッスンポートと接続
監査プローブ--auditセキュリティイベント(root権限が必要)
ウォッチモード--watch --interval 60継続監視
ベースライン学習--learn現在の状態を「正常」として保存
監査ベースライン--audit-learn正常なセキュリティパターンを学習
ベースライン比較--baseline逸脱を検出
JSON出力--jsonLLM/ダッシュボード向けの完全なフィンガープリント
カラー出力--color色付きターミナル出力
設定--config現在の設定を表示
カテゴリデータ目的
システムホスト名、カーネル、稼働時間、負荷、メモリ基本的なヘルスコンテキスト
プロセスメタデータ付きの注目プロセスゾンビ、リーク、スタック検出
設定ファイルファイルメタデータ + SHA256チェックサム暗号ドリフト検出
ネットワークリスナー、接続、ポートサービス監視
セキュリティ認証失敗、sudo使用、ファイルアクセス脅威検出
モジュールテスト数カバレッジ
SHA25610NISTテストベクトル、エッジケース
Sanitize30入力検証、インジェクション防止
Policy36コマンド/パス許可・拒否ルール
JSON Serialize11出力フォーマット、エスケープ
Baseline11学習モード、逸脱検出
Config9設定解析
Audit21リスクスコアリング、イベント分析
  • macOSサポート
  • FreeBSDサポート (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD)
  • ロールベースのマルチユーザーダッシュボード
  • 二要素認証 (TOTP)
  • 個人用APIキー
  • 管理者監査ログ
  • セッション管理
  • Slack Webhookアラート
  • 公開デモモード
  • カラー端末出力