SudoXploit7/DefenSight-AI
GitHub: SudoXploit7/DefenSight-AI
一个基于 RAG 与 LLM 的 AI 驱动安全日志分析平台,能将多格式原始日志标准化后进行语义检索,并自动生成技术/执行摘要与交互式问答。
Stars: 5 | Forks: 0
# DefenSight AI - 自主网络防御 Copilot
[](https://www.python.org/)
[](https://flask.palletsprojects.com/)
[](LICENSE)
[]()
## 截图
### 用户注册(新用户)

*一个安全的入职流程,新用户可以在此创建账户。密码使用 bcrypt 进行哈希处理,从不以明文形式存储。*
### 登录与身份验证

*多用户身份验证系统,具有基于 session 的登录保护和 bcrypt 哈希处理。*
### 上传与标准化触发

*上传原始安全日志(CSV、JSON、XML、LOG、TXT)。文件将被标准化为统一的 schema 并自动建立索引。*
### 标准化摘要视图

*显示解析的记录总数、检测到的日志类型以及从上传文件中提取的关键元数据。*
### 详细的标准化数据视图

*表格化结构 JSON 可视化,保留了诸如时间戳、严重程度、源/目标 IP、协议和攻击类别等字段。*
### 技术分析摘要(AI 生成)

*使用检索增强生成(RAG)基于标准化日志数据生成的深度技术摘要。*
### 执行层摘要

*面向领导层和非技术利益相关者编写的高层级、以业务为中心的安全洞察。*
### 交互式 SOC 助手(聊天界面)

*使用自然语言提出以安全为中心的问题,并获得基于您的日志的上下文感知回答。*
### 电子邮件报告发送

*通过集成的 SMTP 支持,一键安全地生成报告并通过电子邮件发送。*
### 可下载的 PDF 报告

*导出完全格式化的安全评估报告(技术 + 执行),用于审计和文档记录。*
## 核心功能
### **安全分析**
- **多格式日志摄取**:CSV、XML、JSON、LOG、TXT
- **智能标准化**:自动类型检测和字段提取
- **语义搜索**:768 维向量嵌入,用于上下文检索
- **RAG 驱动的洞察**:使用实际日志证据作为依据的 AI 回答
### **AI 能力**
- **Groq LLM 集成**:Llama 3.3 70B,具有 128k 上下文窗口
- **对话界面**:使用自然语言提问
- **自动化报告**:技术和执行摘要
- **威胁关联**:识别不同日志中的攻击模式
### **数据处理**
- **向量数据库**:ChromaDB,具有 HNSW 索引以实现快速相似性搜索
- **批处理**:高效的嵌入生成(每个批次 64 个文档)
- **Session 管理**:附加或启动全新的分析工作流
- **实时摄取**:监控文件夹以自动处理日志
### **身份验证与安全**
- **多用户系统**:Flask-Login,具有安全的 session 管理
- **密码哈希**:Bcrypt 加盐用于凭证存储
- **SQLite 数据库**:轻量级用户管理
- **受保护的路由**:所有分析功能均需要登录
## 架构
```
┌──────────────────────────────────────┐
│ User Interface │
│ Flask Web App + HTML Templates │
└───────────────┬──────────────────────┘
│
│ User uploads logs /
│ asks questions
▼
┌──────────────────────────────┐
│ Normalization Engine │
│ (format_con.py) │
└───────────────┬──────────────┘
│
│ Converts logs into
│ structured JSON
▼
┌────────────────────────────┐
│ Vectorization + Indexing │
│ (live_ingest.py RAG DB) │
└───────────────┬────────────┘
│
│ Create embeddings
▼
┌────────────────────────────────────────────────────────────┐
│ Vector Database │
│ ChromaDB │
│ │
│ • Stores 768-dim sentence embeddings │
│ • Supports semantic similarity search │
│ • Uses HNSW indexing for fast recall │
└───────────────┬────────────────────────────────────────────┘
│
│ Retrieve Top-K Relevant Chunks
▼
┌────────────────────────────┐
│ RAG Engine │
│ (rag_engine.py) │
└───────────────┬────────────┘
│
│ Build prompt with retrieved context
▼
┌───────────────────────────┐
│ Groq API │
│ (LLaMA 3.3 model) │
└───────────────┬───────────┘
│
│ AI response /
│ report generation
▼
┌───────────────────────────────┐
│ Final Output Layer │
│ • Technical Summary │
│ • Executive Summary │
│ • PDF Export │
│ • Chat Assistant │
└───────────────────────────────┘
```
**技术栈:**
- **后端**:Python 3.8+, Flask 3.0
- **向量数据库**:ChromaDB 0.4.22
- **嵌入**:SentenceTransformers (multi-qa-mpnet-base-dot-v1)
- **LLM**:Groq API (Llama 3.3 70B Versatile)
- **身份验证**:Flask-Login, bcrypt
- **PDF**:ReportLab
- **前端**:Bootstrap 5, Vanilla JS
## 快速开始
### 前置条件
- Python 3.8 或更高版本
- Groq API 密钥
- 4GB+ RAM(推荐 8GB)
- 10GB+ 可用磁盘空间
### 安装
```
git clone https://github.com/SudoXploit7/DefenSight-AI.git
cd DefenSight-AI
```
```
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
```
```
pip install -r requirements.txt
```
```
cp .env.example .env
```
```
python init_db.py init
python init_db.py create-admin
```
```
python gui_app.py
```
访问:
```
http://localhost:5000
```
**默认凭证:**
- 用户名:`admin`
- 密码:`admin123`
## 项目结构
```
DefenSight AI/
│
├── DefenSight AI_db/ # ChromaDB vector database (auto-generated)
│
├── incoming_logs/ # (Optional) Live-ingest watch folder
│
├── instance/ # Flask instance folder
│
├── normalized/ # Normalized JSON output files
│
├── project_screenshots/ # Screenshots used in README
│
├── raw_data/ # Uploaded raw logs (CSV/XML/JSON/LOG/TXT)
│
├── static/ # CSS & JavaScript assets
│ ├── styles.css
│ └── assistant.js
│
├── templates/ # HTML UI Pages
│ ├── base.html
│ ├── login.html
│ ├── register.html
│ ├── upload.html
│ ├── normalized_list.html
│ ├── normalize.html
│ └── index.html
│
├── test_data/ # Sample logs for demo/testing
│
├── .env.example # Environment variable template
├── .gitignore # Git ignore rules
│
├── auth.py # Authentication logic (Flask-Login + bcrypt)
├── chat.py # CLI chat utility (optional)
├── format_con.py # Log normalization engine
├── gui_app.py # Main Flask Web Application
├── LICENSE # MIT License
├── live_ingest.py # Real-time log ingestion pipeline
├── rag_engine.py # RAG pipeline + Groq API integration
├── README.md # Project documentation
└── requirements.txt # Python dependencies
```
## 作者
**Soumyadipta Birabar**
- GitHub:[@SudoXploit7](https://github.com/SudoXploit7)
- LinkedIn:[Soumyadipta Birabar](https://linkedin.com/in/soumyadb)
满怀 ❤️ 为网络安全社区而构建
DefenSight AI • 将安全数据转化为可操作的情报
标签:DLL 劫持, Flask, RAG, Sysdig, 人工智能, 大语言模型, 安全运营, 扫描框架, 检索增强生成, 用户模式Hook绕过, 逆向工具