Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
c-sentinel — UNIX系统的语义可观测性 - 一种基于C语言的轻量级系统探针,具备AI驱动的分析能力 | Kitploit
工具/GitHubGitHub/speytech/c-sentinel
漏洞分析网络安全云安全DevSecOps威胁情报身份验证入侵检测事件响应AI 安全异常检测日志分析
GitHub
72825个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
speytech/c-sentinel

c-sentinel

UNIX系统的语义可观测性 - 一种基于C语言的轻量级系统探针,具备AI驱动的分析能力

查看仓库网站
分享

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 的新特性

  • 👥 多用户认证 - 基于角色的访问控制(管理员/操作员/查看者)
  • 🔐 双因素认证 - 支持 TOTP,兼容 Google Authenticator、Authy 等
  • 🔑 个人 API 密钥 - 用于自动化和 CI/CD 的每用户 API 密钥
  • 📋 管理员审计日志 - 跟踪所有用户操作并支持筛选
  • 💻 会话管理 - 查看活跃会话、撤销访问、强制退出
  • 📧 电子邮件和 Slack 警报 - 具有丰富格式的主动通知
  • 🎨 现代 Toast 通知 - 告别 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 仪表盘提供跨基础设施的实时安全监控。

### 多用户认证

企业级访问控制,包含三种角色:

| 角色 | 权限 |
|------|------|
| **管理员** | 完全访问:管理用户、查看审计日志、所有操作 |
| **操作员** | 确认事件、重置计数器、查看所有数据 |
| **查看者** | 只读访问仪表盘和数据 |

### 双因素认证 (TOTP)

使用行业标准的 TOTP 保护您的账户:
- 兼容 Google Authenticator、Authy、Microsoft Authenticator
- 通过二维码轻松配置
- 启用后每次登录均需验证
- 启用/禁用时发送邮件通知

### 个人 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登录
  • 密码或双因素认证更改

Slack警报包含丰富格式,带有颜色编码的严重性、可点击的仪表板链接以及结构化的风险因素详情。

Auditd集成

C-Sentinel 汇总 auditd 日志以进行语义安全分析。

示例输出```

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`),在保留模式检测能力的同时不暴露身份信息
- **无密码**:不会捕获命令行参数和敏感数据
- **仅进程名**:完整路径经过脱敏处理以保护隐私

## 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

To get a webhook URL:

  1. 前往 api.slack.com/apps
  2. 创建一个新应用 → "从头开始"
  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 服务

用于生产部署:```bash
# Install
sudo ./install.sh

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

# Check status
sudo journalctl -u sentinel -f

全部功能

功能命令描述
快速分析--quick人类可读的摘要
网络探测--network监听端口和连接
审计探测--audit安全事件(需要 root 权限)
监视模式--watch --interval 60持续监控
基线学习--learn将当前状态保存为“正常”
审计基线学习--audit-learn学习正常安全模式
基线比较--baseline检测偏差
JSON 输出--json用于 LLM/仪表板的完整指纹
彩色输出--color彩色终端输出
配置--config显示当前设置

彩色输出是自动检测的 (TTY) 并遵循 NO_COLOR 标准。

退出代码 (适用于 CI/CD)

代码含义
0未检测到问题
1警告(小问题)
2严重(僵尸进程、权限问题、异常端口、高风险安全事件)
3错误(探测失败)

捕获内容

类别数据目的
系统主机名、内核、运行时间、负载、内存基本健康上下文
进程带元数据的显著进程检测僵尸、泄漏、卡死
配置文件元数据 + SHA256 校验和加密漂移检测
网络监听器、连接、端口服务监控
安全认证失败、sudo 使用、文件访问威胁检测

标记内容

系统问题

  • 🧟 僵尸进程:始终是问题
  • 📂 高文件描述符计数:潜在描述符泄漏(>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 包含一套全面的测试套件,拥有 128 多个单元测试,使用 cmocka 测试框架。

安装 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

测试覆盖率

单元测试覆盖范围:

模块测试数量覆盖内容
SHA25610NIST 测试向量、边界情况
Sanitize30输入验证、注入防范
Policy36命令/路径允许/拒绝规则
JSON Serialize11输出格式化、转义处理
Baseline11学习模式、偏差检测
Config9配置解析
Audit21风险评分、事件分析

编写新测试

测试代码位于 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(可选,仅 Linux 下用于 `--audit` 标志)

## 项目结构```
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 集成
  • 风险评分与偏差分析
  • 进程归属
  • 仪表盘身份验证
  • 事件历史时间线
  • 可解释风险因素
  • 安全态势摘要
  • 风险趋势微线图
  • 学习/校准指示器
  • 邮件告警
  • macOS 支持
  • FreeBSD 支持(FreeBSD、OpenBSD、NetBSD、DragonFlyBSD)
  • 多用户仪表盘与角色
  • 双因素认证(TOTP)
  • 个人 API 密钥
  • 管理审计日志
  • 会话管理
  • Slack webhook 告警
  • 公共演示模式
  • 彩色终端输出

计划中 📋

  • Microsoft Teams webhook 告警
  • 自定义告警规则
  • PDF 安全报告
  • 主机级别权限

许可证

MIT 许可证 - 详见 LICENSE。

作者

William Murray - 拥有 30 年 UNIX 系统工程经验

  • GitHub: @williamofai
  • LinkedIn: William Murray
  • 网站: speytech.com

"目标并非取代监控工具——而是为它们的数据增添智慧。"

下载工具