layan000912/Ai-security-Auditor
GitHub: layan000912/Ai-security-Auditor
一款结合规则引擎与机器学习的 AI 安全日志分析系统,支持多格式日志上传并借助 SHAP 提供可解释的威胁告警。
Stars: 0 | Forks: 0
[README.md](https://github.com/user-attachments/files/29146546/README.md)
# Ai-security-Auditor
该项目是一个基于 AI 的网络安全日志分析系统,可处理 CSV、JSON 和 Syslog 文件以检测可疑活动。它结合了基于规则的检测、机器学习和 SHAP 可解释性,以识别威胁并为每个安全警报提供明确的原因。
# 🛡 AI Security Auditor v10
基于 AI 的安全日志分析系统 —— 毕业设计
## 🚀 运行项目
```
# 1. 安装依赖项
pip install -r requirements.txt
# 2. 运行应用程序
python app.py
# 3. 打开浏览器
# http://localhost:5000
```
## 📁 项目结构
```
AI-Security-Auditor-v10/
├── app.py ← Flask backend (نقطة الدخول)
├── requirements.txt
├── data/ ← ملفات تجريبية وقاعدة البيانات
│ ├── sample_logs.csv
│ ├── sample_logs.json
│ └── sample_logs.log
├── models/
│ ├── preprocess.py ← معالجة البيانات (CSV/JSON/Syslog)
│ ├── rules_engine.py ← كشف التهديدات بالقواعد
│ └── ai_model.py ← Isolation Forest + Random Forest
├── templates/
│ ├── index.html ← Dashboard الرئيسي (محسّن)
│ ├── history.html ← السجل التاريخي + المقارنة
│ ├── alerts.html ← مركز التنبيهات
│ └── timeline.html ← المخطط الزمني
└── utils/
├── helpers.py ← معالجة الملفات
├── alerts.py ← محرك التنبيهات
├── database.py ← SQLite
└── pdf_report.py ← تصدير PDF
```
## 🧠 系统工作原理
1. **上传文件** — 支持 CSV、JSON、LOG、SYSLOG、TXT
2. **数据处理** — 自动清洗数据并统一列名
3. **检测规则** — 检测:尝试频率、登录失败、可疑用户名、IP 重复
4. **AI 模型** — 训练 Isolation Forest 和 Random Forest 并选择最佳模型 (F1)
5. **Dashboard** — 展示 KPI、图表、警报以及可疑活动表
## 📊 支持的列(灵活适配)
| 列名 | 示例 |
|--------|------|
| timestamp / date | 2024-01-01 08:00:00 |
| ip / source_ip | 192.168.1.10 |
| username / user | admin |
| service | SSH |
| status | failed |
| attempts | 7 |
| port | 22 |
## ✨ v10 版本更新内容
### 🔧 修复漏洞
- ✅ 将所有 routes 移至 `if __name__ == "__main__"` 之前(之前在 Gunicorn 下无法运行)
- ✅ 在分析 endpoint 上添加了 Rate Limiting(10 次请求/分钟)
- ✅ 移除了 Timeline 中的随机数据 —— 当缺少时间数据时显示明确的提示信息
- ✅ 统一了错误提示,以反映实际支持的格式
### 🎨 界面优化
- ✅ 全新的 Dashboard,配有动态 KPI cards
- ✅ 新增阿拉伯语的文本形式 AI 摘要,用于总结结果
- ✅ 动态风险量表 (Risk Gauge)
- ✅ IF 和 RF 两种模型的视觉对比,配有 metric bars
- ✅ 可疑活动表,支持搜索和实时过滤
- ✅ 分析期间的进度步骤 (Progress Steps)
### 🆕 新功能
- ✅ 一键从 Dashboard 和历史记录中导出 PDF
- ✅ 通过对比图表比较任意两次分析结果
- ✅ API endpoint `/api/compare?id1=X&id2=Y`
- ✅ 针对所有操作的 Toast notifications
## 🌐 页面
| 页面 | 链接 | 描述 |
|--------|--------|-------|
| 主页 | `/` | 上传文件并查看结果 |
| 历史记录 | `/history` | 所有分析操作 + 对比 |
| 警报 | `/alerts` | 安全警报中心 |
| 时间线 | `/timeline` | 活动的时间分布 |
## 📡 API Endpoints
| Method | Endpoint | 描述 |
|--------|----------|-------|
| POST | `/analyze` | 分析上传的文件 |
| GET | `/api/history` | 所有分析结果 |
| GET | `/api/history/` | 单次分析的详情 |
| DELETE | `/api/history/` | 删除记录 |
| GET | `/api/alerts/` | 分析的警报 |
| GET | `/api/report/` | 导出 PDF |
| GET | `/api/timeline/` | 时间轴图表数据 |
| GET | `/api/compare?id1=&id2=` | 对比两次分析 |
标签:AI安全审计, AMSI绕过, Apex, Flask, Python, 威胁检测, 无后门, 机器学习, 网络测绘, 自定义脚本, 逆向工具