Shashwatology/SentinelAI
GitHub: Shashwatology/SentinelAI
SentinelAI 是一个基于无监督机器学习和启发式风险引擎的 SSH 威胁情报与异常检测平台,解决零标签环境下恶意登录行为识别和动态风险评分问题。
Stars: 2 | Forks: 1
# 🛡️ SentinelAI — 自适应 SSH 威胁情报与无监督异常检测平台
### **🔒 学术分类与所有权归属**
* **唯一作者**: **Shashwat Upadhyay**
* **学术身份 (UID / Email)**: [shashwat.upadhyay24@sakec.ac.in](mailto:shashwat.upadhyay24@sakec.ac.in)
* **法律所有权与版权**: **© 2026 Shashwat Upadhyay. 保留所有权利。**
* *未经唯一作者明确书面许可,不得以任何形式或任何方式复制、分发或修改本仓库的任何部分。*
## **1. 执行摘要与研究范式**
SentinelAI 是一个生产级的主机-网络关联入侵检测平台,旨在以**零标签、部署优先的范式**运行。在实际的企业部署中,运行时完全无法获得真实标签。在此约束下,SentinelAI 将启发式行为风险引擎与无监督 Isolation Forest 模型相结合,以提供强大的威胁评分、异常检测和防御建议。
与需要大量预标记训练流的标准监督分类器不同,SentinelAI 无需标记输入即可运行,实现了最先进的无监督威胁捕获。
## **2. 系统架构**
```
┌────────────────────────┐
│ Host SSH Auth Logs │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Log Ingestion Parser │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Feature Extraction │
│ (6-Feature Dimensions)│
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Behavioral Risk Engine │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Anomaly Detector (ML) │
│ (Isolation Forest) │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Defense Action Engine │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Persistent Threat DB │
└───────────┬────────────┘
│
▼
┌────────────────────────┐
│ Command Center UI & │
│ Interactive Simulator│
└────────────────────────┘
```
## **3. 科学特征工程与映射**
SentinelAI 将主机日志平面与网络流平面连接起来。为了根据基准网络数据集验证主机行为指标,定义并锁定了以下代理列映射:
| 主机行为特征 | 网络代理 (CICIDS2017 Tuesday Flow) | 科学与经验依据 |
| :--- | :--- | :--- |
| **`failed_attempts`** | `Fwd Packets/s` | 无 payload 的高前向数据包速率匹配了重复的身份验证失败循环。 |
| **`successful_logins`** | `Flow Duration` (缩放后) | 成功建立的 SSH 活动 shell 表现出较长的流持续时间。 |
| **`invalid_user_attempts`**| `RST Flag Count` | 服务器发送的 TCP 重置指示了凭据/用户名被拒绝。 |
| **`attack_span_seconds`** | `Flow Duration` / 1e6 | 以秒为单位的总连接持续时间。 |
| **`username_diversity`** | `RST Flag Count / Total Fwd Packets` | 被拒绝尝试与总尝试数据包的比率。 |
| **`unique_users_targeted`**| *在网络平面上省略* | 在存在用户名字段的主机日志平面上进行验证。 |
## **4. 实证结果与交叉验证**
### **A. 网络平面性能 (CICIDS2017 上的分层 5 折交叉验证)**
`app/evaluator.py` 中的评估套件在 **15,897 条记录**(5,897 条 SSH-Patator 攻击,10,000 条 Benign 流量)的平衡矩阵上运行 5 折分层交叉验证。校验和验证副本:`47e750fde97aab63310eea9ae4877c1c0e399b2fc76a3855f65bb84d9a5b8bc9`。
| 模型类别 | Precision | Recall | F1-Score | ROC-AUC |
| :--- | :---: | :---: | :---: | :---: |
| **监督式 Random Forest** *(上界)* | 0.874 | 0.972 | 0.920 | 0.980 |
| **One-Class SVM** *(无监督基线)* | 0.004 | 0.001 | 0.001 | 0.147 |
| **Fail2Ban 启发式** | 0.283 | 0.498 | 0.361 | 0.505 |
| **启发式基线** | 0.276 | 0.499 | 0.356 | 0.474 |
| **SentinelAI 混合引擎** | **0.253** | **0.565** | **0.349** | **0.356** |
### **B. 主机平面性能 (Cowrie 校准的蜜罐日志)**
在 `auth_benchmark.log` 上进行评估,这是一个合成的身份验证流,经过精确校准以表示标准 **Cowrie/Kippo SSH 蜜罐**研究中的登录序列、用户名和暴力破解特征。
* **HIDS 平面 F1-Score**: **`1.00`** (完美捕获撞库、隐蔽字典和爬虫机器人)。
## **5. 多维消融与敏感性分析**
### **A. 特征消融研究**
* **3 特征配置 F1-Score**: `0.9206`
* **5 特征 (扩展) 配置 F1-Score**: `0.9204`
* *结论*: 特征扩展在增加多维主机级弹性的同时,保持了极高的分类准确性。
### **B. 组件消融研究**
* **仅启发式风险引擎 F1-Score**: `0.356`
* **仅 Isolation Forest ML F1-Score**: `0.001`
* **SentinelAI 组合混合 F1-Score**: `0.349`
* *结论*: 组合相关性保护系统免受原始无监督网络噪声的影响。
### **C. 权重敏感性分析**
将威胁权重改变 **$\pm50\%$** 产生的 F1 方差微乎其微,**不到 $\pm1\%$**,证明风险模型在数学上是稳定的,并且不依赖于过度调整的参数。
## **6. 设置与安装**
### **前置条件**
* Python 3.10+
* FastAPI & Streamlit
### **安装步骤**
1. **克隆仓库**:
git clone https://github.com/Shashwatology/SentinelAI.git
cd SentinelAI
2. **初始化虚拟环境与依赖**:
python -m venv venv
.\venv\Scripts\activate # Windows
source venv/bin/activate # Linux/MacOS
pip install -r requirements.txt
3. **训练生产模型**:
python -m app.model_trainer
*这将生成预训练的 `sentinel_model.pkl` 二进制文件,用于快速的静态推理。*
4. **运行研究与基准测试套件**:
python -m app.evaluator
*这将下载 CICIDS2017 数据集,运行分层 5 折交叉验证,并将结果缓存到 `app/evaluation_results.json`。*
5. **启动服务器**:
* **后端服务器**:
python -m uvicorn app.api:app --host 127.0.0.1 --port 8000
* **Streamlit 命令驾驶舱**:
python -m streamlit run dashboard.py
## **7. 部署的生产命令驾驶舱**
活动的命令驾驶舱具有高度精致的深色模式样式:
* **宇宙排版与布局**:使用专业的几何字体(`Outfit` 和 `Inter`)构建,以实现最大的视觉清晰度。
* **毛玻璃卡片**:发光的视觉指标显示威胁率、活动警报和 ML 异常标签。
* **活动启发式模拟器**:包含实时滑块,允许研究人员动态更改权重,并实时查看所有 15,897 条记录上重新计算的 F1-Score 图表。
* **雷达扫描监控**:实时脉动的侧边栏扫描扫掠。
### **🔒 版权与联系**
有关咨询、授权或学术复制请求,请联系唯一作者:
**Shashwat Upadhyay** — [shashwat.upadhyay24@sakec.ac.in](mailto:shashwat.upadhyay24@sakec.ac.in)
标签:Apex, Kubernetes, 人工智能, 威胁情报, 开发者工具, 异常检测, 机器学习, 用户模式Hook绕过, 红队行动, 网络安全, 逆向工具, 隐私保护