preetshah283/AI-timeline-reconstruction
GitHub: preetshah283/AI-timeline-reconstruction
一个 AI 驱动的数字取证流水线 Web 应用,上传 Windows EVTX 日志即可自动完成异常检测、攻击链重建和调查报告生成。
Stars: 0 | Forks: 0
# ForensIQ — AI 取证流水线 Web 应用
上传 Windows EVTX 日志文件,即可获得完整的 AI 驱动的取证调查报告。
## 功能简介
ForensIQ 是一个端到端的自动化数字取证流水线,并配备了 Web 界面。只需上传你的 Windows 事件日志,无需接触命令行即可获得完整的调查报告。
**流水线阶段:**
1. **摄取与统一** — 解析 Windows 安全和系统 EVTX 日志及可选的 Mordor 攻击模拟数据,将其合并为单一的按时间顺序排列的时间线
2. **威胁狩猎** — 基于规则的引擎会扫描可疑关键词、关键事件 ID (1102, 7045),并将每个被标记的事件映射到 MITRE ATT&CK 技术
3. **ML 异常检测** — Isolation Forest 模型根据时间模式、进程行为和来源分布,对每个事件进行 0–100 的评分 — 无需特征签名,纯粹基于行为
4. **攻击链重建** — 按时间将可疑事件聚类为连贯的攻击序列,并计算综合风险评分
5. **取证仪表板** — 自动生成可视化图表:时间分布、风险评分时间线、MITRE 战术细分
6. **AI 调查报告** — 通过 Groq API 由 LLaMA 3.3-70B 自动生成结构化的取证报告
## 快速开始(本地)
```
# 1. 安装 dependencies
pip install -r requirements.txt
# 2. 运行 app
python app.py
# 3. 打开浏览器
# http://localhost:5000
```
## 部署选项
### 选项 A — Render.com(免费层级,最简单)
1. 将此文件夹推送到 GitHub 仓库
2. 访问 https://render.com → 新建 Web Service
3. 连接你的仓库,设置:
- Build Command: `pip install -r requirements.txt`
- Start Command: `gunicorn app:app`
4. 在 requirements.txt 中添加 `gunicorn>=21.0.0`
5. 部署 — 你将立即获得一个公开的 URL
### 选项 B — Railway.app
1. 推送到 GitHub
2. 新建项目 → 从 GitHub 仓库部署
3. Railway 会自动检测 Flask,并设置 `python app.py`
4. 如有需要,添加环境变量 `PORT=5000`
### 选项 C — VPS / 服务器(nginx + gunicorn)
```
pip install gunicorn
gunicorn -w 2 -b 0.0.0.0:5000 --timeout 600 app:app
```
`--timeout 600` 非常重要 — 流水线在处理大型 EVTX 文件时可能需要几分钟时间。
### 选项 D — Google Colab(用于演示)
```
from google.colab.output import eval_js
from pyngrok import ngrok
import subprocess, threading
subprocess.Popen(['pip','install','-q','flask','python-evtx','groq','scikit-learn'])
threading.Thread(target=lambda: subprocess.run(['python','app.py'])).start()
print(ngrok.connect(5000))
```
## 文件结构
```
forensic_app/
├── app.py # Flask backend + full pipeline
├── requirements.txt
├── templates/
│ └── index.html # Upload UI + Results dashboard
└── static/
├── css/style.css
└── js/app.js
```
## 使用方法
1. 上传 `security_local.evtx`(必需)
2. 上传 `system_local.evtx`(必需)
3. 上传 Mordor 模拟 JSON(可选)
4. 输入你的 Groq API 密钥(可在 console.groq.com 免费获取)
5. 点击 **Run Forensic Pipeline**
6. 观看实时进度 — 根据日志大小,通常需要 2–10 分钟
7. 查看指标仪表板并下载完整的取证报告
## 指标说明
| 指标 | 描述 |
|---|---|
| 异常率 | 被 Isolation Forest 标记为异常的事件百分比 |
| 平均风险评分 | 异常事件的平均 0–100 风险评分 |
| 规则–ML 一致性 | 同时被规则引擎和 ML 捕获的事件(置信度最高) |
| MITRE 技术 | 观察到的唯一 ATT&CK 技术 ID |
| 攻击链 | 可疑事件的时间聚类(2 分钟间隔阈值) |
## 注意事项
- Groq API 密钥仅用于 LLM 报告生成,绝不会进行存储
- 任务保存在内存中 — 重启后会被清除(在生产环境中请使用 Redis 进行持久化)
- 对于非常大的 EVTX 文件(>100MB),需相应增加 gunicorn 的 `--timeout`
标签:DLL 劫持, Sysdig, 大语言模型, 子域名变形, 异常检测, 攻击链还原, 数字取证, 自动化脚本, 逆向工具