blackdome-ai/blackdome-sentinel
GitHub: blackdome-ai/blackdome-sentinel
一款结合 LLM 推理、事件驱动检测与主机诱骗功能的 Linux 服务器 AI 安全代理,用于检测传统特征码方案无法覆盖的未知威胁。
Stars: 0 | Forks: 0
# BlackDome Sentinel
具备 LLM 推理、事件驱动检测和集成诱骗功能的 AI 驱动型主机安全代理。
Sentinel 结合实时事件收集、轻量级诱骗(主机 Canary 和伪造服务)以及基于 LLM 的推理来监控 Linux 服务器面临的威胁。与基于特征码的工具不同,Sentinel 会对观察到的情况进行推理——从而检测出不匹配任何现有模式的未知威胁。
## 工作原理
```
Events (proc/inotify) → Promotion Filter → Micro-Batcher → LLM Reasoning → Action
↓ ↑
Known-bad hash → KILL Vector memory recall
Known hostile IP → BLOCK (learns from past incidents)
Known-good → LOG
Everything else → LLM decides
```
**三规则升级过滤器** —— 只有在数学上确定的决策才会在不使用 LLM 的情况下做出。已知的恶意软件哈希?立即终止。已知的恶意 IP?拦截。已知良好的基线?记录。其他所有情况都会交由 LLM 进行推理。
**微批处理** —— 在进行 LLM 分析之前,相关事件会被收集到 15-60 秒的事件窗口中。“下载 + chmod + 执行 + 出站连接”会变成一个连贯的数据包,而不是四个单独的警报。
**去重** —— 相同的事件指纹在 6 小时内不会被重新分析。避免因反复出现的良性模式导致警报疲劳。
**主机诱骗** —— 每个 Sentinel 代理都会植入 Canary 文件(伪造的凭证、SSH 密钥),并在未使用的端口上运行轻量级伪装服务。如果有任何东西触碰了 Canary 或连接到伪造服务,这就是一个零误报率的被攻陷指标。
## 快速开始
### 托管版 (Sentinel Pro)
在 [blackdome.ai](https://blackdome.ai) 注册并获取您的 API 密钥,然后:
```
curl -sSL -H "Authorization: Bearer YOUR_API_KEY" \
https://blackdome.ai/api/blackdome/install/sentinel | sudo bash
```
代理将注册到 BlackDome 控制平面,开始收集事件,并发送事件以供 LLM 分析。您将在几分钟内在仪表板中看到结果。
### 自托管版 (社区版)
手动克隆和配置:
```
git clone https://github.com/blackdome-ai/blackdome-sentinel.git /opt/blackdome-sentinel
cd /opt/blackdome-sentinel
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp sentinel.yml.example sentinel.yml
# 使用你的设置编辑 sentinel.yml
```
社区版仅运行确定性检测(三规则过滤器)。LLM 推理、向量记忆、治理和证据包需要托管控制平面。
## 环境要求
- Linux (Ubuntu 20.04+, Debian 11+, RHEL 8+)
- Python 3.10+
- Root 权限
- `inotify-tools` (`apt install inotify-tools`)
- 连接到 `sentinel.blackdome.ai` 的出站 HTTPS(托管模式)
## Sentinel 检测内容
| 威胁 | 方式 |
|--------|-----|
| **恶意软件执行** | 已知哈希 → 立即终止。未知二进制文件 → 结合进程树、网络上下文和父级谱系进行 LLM 分析 |
| **加密挖矿程序** | 进程行为 + 连接到矿池的网络连接 + 持久化机制 |
| **Rootkit** | 被篡改的系统二进制文件、隐藏进程、内核模块加载 |
| **横向移动** | 内部 IP 探测伪装服务 → 攻击者已经进入了您的网络 |
| **凭证收集** | Canary 文件被访问 → 有人正在读取您服务器上的伪造凭证 |
| **持久化** | 检测并分析 crontab、systemd、rc.local、init.d、bashrc 的更改 |
| **端口扫描** | 未使用端口上的伪装服务可检测针对单台主机的侦察行为 |
| **反弹 Shell** | 带有 stdin/stdout 重定向的出站连接 |
| **供应链攻击** | curl\|bash、wget+chmod+exec、base64+exec 模式 |
## 架构
```
/opt/blackdome-sentinel/
├── sentinel_v2.py # Main event-driven daemon
├── sentinel.yml # Per-host configuration
├── events/ # Event collectors (proc, inotify, auditd)
├── promotion/ # Three-rule deterministic filter
├── batcher/ # Micro-batching (15-60s incident windows)
├── dedup/ # Fingerprint + cooldown engine
├── deception/
│ ├── canaries.py # Fake credentials, SSH keys, AWS creds
│ └── facades.py # Lightweight fake services on unused ports
├── cadence/
│ ├── heartbeat.py # Operational health (1-5 min)
│ ├── reconciliation.py # Safety net scan (15-30 min)
│ └── deep_audit.py # Full baseline audit (6-24h)
├── api_client/ # Control plane communication
├── actuators/ # Bounded actions (kill, quarantine, block)
├── core/ # Baseline, journal, policy, reasoning
├── collectors/ # Process, crontab, file, network, auth scanners
└── deploy/ # systemd service file
```
## 配置
有关所有选项,请参见 `sentinel.yml.example`。关键设置:
```
sentinel:
weight_class: "standard" # standard (cloud LLM) or enterprise (local LLM)
facades:
enabled: true
auto_detect: true # scan real ports, facade the rest
network_exposure: public # public (filter noise) or internal (alert on everything)
on_internal_probe: block # block | alert | log | ignore
on_targeted_probe: alert
on_noise: log
cadence:
heartbeat_interval: 120 # seconds
reconciliation_interval: 900
deep_audit_interval: 21600
dedup:
cooldown_hours: 6
```
## 判定结果
每个事件都会得出以下五种判定结果之一:
| 判定 | 含义 | 操作 |
|---------|---------|--------|
| `ALLOW` | 已知良好,无需关注 | 仅记录 |
| `ALLOW_AND_BASELINE` | 新出现但合法 | 添加至基线 |
| `HOLD_FOR_ANALYSIS` | 不确定,需要更多上下文 | 监控,可能会升级 |
| `DENY_AND_QUARANTINE` | 恶意 | 终止 + 隔离 + 拦截 |
| `ESCALATE` | 需要人工决策 | 排队交由操作员处理 |
## 治理
每项判定都会:
- 使用 Ed25519 进行签名(防篡改)
- 记录在哈希链审计日志中
- 由包含完整证据链的证据包提供支持
这使得每项决策都经得起审查,并可进行合规审计。
## 资源使用情况
Sentinel 专为生产服务器设计:
- **内存**: ~25-35 MB
- **CPU**: 平均 < 1%(每 3 秒轮询一次进程,inotify 为事件驱动)
- **磁盘**: 安装占用 ~50 MB + 日志
- **网络**: 每 2 分钟发送一次心跳 + 根据需要发送事件数据包
## 许可证
源代码可供检查和自托管使用。详情请参阅 [LICENSE](LICENSE)。
## 链接
- [BlackDome](https://blackdome.ai) — 产品网站
- [Dashboard](https://blackdome.ai/dashboard) — 客户门户
- [Documentation](https://blackdome.ai/docs/sentinel) — 完整文档
标签:C2, EDR, HTTP工具, Linux服务器, LLM推理, 端点防护, 网络信息收集, 脆弱性评估, 蜜罐, 证书利用, 逆向工具