rudhrancodes-dev/Aegis
GitHub: rudhrancodes-dev/Aegis
一个基于隔离森林的实时网络异常检测系统,通过模拟流量与带声音警报的深色 UI 帮助识别可疑行为。
Stars: 0 | Forks: 0
# Aegis — 神经网络防御系统
## 功能
Aegis 持续监控模拟网络流量,并使用 **隔离森林(Isolation Forest)** 模型标记可疑活动——该算法类别与企业级入侵检测系统相同。
每秒它会:
- 生成真实的网络数据包(IP、端口、数据包大小、持续时间、TCP 标志)
- 以 1/5 的概率注入随机异常
- 运行机器学习推理,将流量分类为 **NORMAL** 或 **ALERT**
- 在带有声音警报的实时更新深色 UI 中显示结果
## 特性
- **通过 scikit-learn 隔离森林实现的 ML 驱动检测**(无监督学习,无需标注数据)
- **模拟网络流量**,包含真实字段和注入的异常
- **使用 Tkinter 构建的实时 UI**——深色主题、霓虹蓝色点缀、滚动日志面板
- **异常检测时的声音警报**(macOS 系统提示音)
- **用于跨异常相似性检查的内存模块**
- **通过 PyInstaller 打包为 macOS `.app`**
## 技术栈
| 层 | 工具 |
|---|---|
| 语言 | Python 3.11 |
| 机器学习模型 | 隔离森林(scikit-learn) |
| UI | Tkinter |
| 数据模拟 | NumPy + 自定义数据包生成器 |
| 打包 | PyInstaller + create-dmg |
## 项目结构
```
Aegis/
├── main.py # Entry point — orchestrates detection pipeline
├── detector.py # Isolation Forest anomaly detection
├── simulator.py # Network traffic + anomaly generator
├── memory.py # Stores past anomalies, similarity check
├── ui.py # Tkinter dark UI with live logs
└── requirements.txt
```
## 快速开始
```
# 安装依赖
pip install -r requirements.txt
# 运行 UI
python3 ui.py
# 或无头运行
python3 main.py
```
## 检测内容
| 异常类型 | 信号 |
|---|---|
| 端口扫描 | 不寻常/高数值端口号 |
| 数据包洪水 | 超大数据包大小(>9000 字节) |
| 慢速攻击 | 异常长的连接持续时间 |
| 畸形流量 | 可疑的 TCP 标志组合 |
## 截图
*(运行 `python3 ui.py` 查看实际效果)*
*由 [@rudhrancodes-dev](https://github.com/rudhrancodes-dev) 构建——将咖啡 ☕ 转化为安全代码 🔐*
标签:Apex, create-dmg, Isolation Forest, macOS打包, PyInstaller, Python, scikit-learn, SEO: 实时异常检测, SEO: 机器学习入侵检测, SEO: 网络安全工具, Tkinter, 内存模块, 图形界面, 声音告警, 实时日志, 异常检测, 慢速攻击检测, 数据包生成, 无后门, 无监督学习, 暗色主题, 机器学习, 流量洪泛检测, 漏洞挖掘, 相似性检测, 端口扫描检测, 网络安全, 网络流量仿真, 隐私保护, 隔离森林